Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1008
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Bom dia a todos. A idéia é colocar ordem pendente em direção oposta para cada ordem de mercado aberto (obter lucro e parar perda) quando a parada de perda for acionada (se ordem de compra, então enviar ordem pendente). Não consigo encontrar nenhuma sequência de sintaxe para escrever um script que apague uma ordem pendente quando a ordem atual fecha com lucro? Talvez haja um roteiro escrito entre os gratuitos, mas a busca não tem sorte ( . Eu mesmo gostaria de escrever um para poder lidar com ele, mas não consigo entender a seqüência de sintaxe. Deixe-me explicar em outro exemplo - eu quero sorvete - a seqüência de sintaxe - 1) - sair do sofá 2) vestir-se 3) ir à loja 4) comprar sorvete. É possível fazer o mesmo pela minha tarefa?
quando o atual é fechado, o número de ordens de compra diminuirá, ou elas estarão ausentes (depende do algoritmo), você faz esta verificação e exclui as ordens pendentes
algo assim (neste caso, ao contrário, as ordens pendentes são eliminadas se uma compra colocada anteriormente tiver fechado com lucro):
Então isto é correto?
se (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=verdadeiro;
if (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=verdadeiro;
e acabar assim?
se (OrderOpenTime()+8100 <=TimeCurrent()) Cls_Buy=verdadeiro;
quando o atual é fechado, o número de ordens de compra diminuirá, ou elas estarão ausentes (depende do algoritmo), você faz esta verificação e exclui as ordens pendentes
algo assim (neste caso, ao contrário, as ordens pendentes são eliminadas se uma compra colocada anteriormente tiver fechado com lucro):
Se isso acontecer - aumento o Stop Loss para o tamanho exigido. Não estabeleço um limite, mas deixo-o virtual no programa e abro uma ordem. Como resultado, apenas uma de 15 a 20 ordens abre. O que devo fazer para abrir cada ordem?
RefreshRates();
double bid = MarketInfo(symbol,MODE_BID);double ask = MarketInfo(symbol,MODE_ASK);
double stoplevel = NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp;
if(digitsTemp == 5 )stoplevel+=(700 * tickTemp);
if(spreadOrdDangBr < stoplevel) //если спред меньше стоплевела - перебиваем
spreadOrdDangBr=stoplevel;
double lotDB = calculationLot(spreadOrdDangBr,0.0025); //расчитываем лот - четверть процента свободных денег
slODB=ask-spreadOrdDangBr;
tpODB= ask+ spreadOrdDangBr;
orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr));
e como resultado no terminal
Ajude, por favor! Eu quero abrir posição de compra, e se o preço subir 100
pips, meu stop loss se tornará igual a zero em relação ao stop loss anterior.
Estou fazendo isso corretamente?
if(Bid-OrderOpenPrice()>Ponto*100)
{
OrderModify(OrderTicket(),OrderOpenPrice(), 0,TakeProfit,0,);
retorno(0);
}
Obrigado!
Olá a todos) como determinar o preço máximo de uma barra selecionada ( por exemplo, 100º )
Encontrei uma função que define o preço máximo e mínimo para 100 barras e desenha linhas horizontais (ajude-me a fazer passar as primeiras 15 barras e só depois verifique se há 100 barras (como faço isso?) e outro problema com linhas - desenha apenas 1 vez - ou seja - se vamos mais 100 pontos com novos altos e baixos - as linhas não são desenhadas) ninguém sabe por favor escreva - aqui está o código
Externo interno Quant_Bars=100; // Número de barras
//--------------------------------------------------------------------
int start() // Início de funções especiais
{
int i; // número de barras
duplo Mínimo=Licitações; // Preço mínimo
Máximo=Licitações; // Preço máximo
for(i=0;i<=Quant_Bars-1;i++) // De zero (!) a
{ // ...Quant_Bars-1 (!)
se (Baixo[i]<Mínimo) // Se < conhecido
Minimum=Low[i]; // este será o Min
se (Alto[i]> Máximo) // se > conhecido
Máximo=Alto[i]; // será máximo.
}
Alerta("Para os últimos ",Quant_Bars, // Display
"Min= ",Mínimo," Máx= ",Máximo);
double linia1=ObjectCreate("highLine",OBJ_HLINE,0,0,Maximum);
double linia2=ObjectCreate("lowLine",OBJ_HLINE,0,0,Minimum);
retorno(0); // partida de saída()
}