[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 295

 
Rustbunch:
Aqui está o roteiro em si...
Usando o MT4
 
Rustbunch:
Aqui está o roteiro em si...
Eu diria que é difícil operar um paciente em um terno espacial. Você postou aqui um arquivo compilado, não código de código aberto (*.mq4). Tenho a sensação de que você pegou um roteiro pronto em algum lugar (você o verificou em sua forma natural para performance?), mudou alguma coisa no código e deixou de fazer o que você precisava. Se o código original se comportou normalmente, então olhe onde e o que você mudou e verifique se ele funciona após cada mudança.
 
como modificar os pedidos de Compra e Venda separadamente?
 
paladin80:
Eu estaria inclinado a pensar que o erro está no próprio código. A intervenção cirúrgica no próprio roteiro é necessária.

Talvez mudar a gaxeta ajudaria
 
GarKain:
como posso modificar os pedidos de Compra e Venda separadamente?
OrderSelect(2563,SELECT_BY_TICKET);
if (OrderType()==OP_BUY && Open[0]>Low[steploss] && OrderStopLoss()<trailstopbuy){
OrderModify(OrderTicket(),OrderOpenPrice(),trailstopbuy,OrderTakeProfit(),0,Blue);
return(0);
}
if (OrderType()==OP_SELL && Open[0]<High[steploss] && OrderStopLoss()>trailstopsell){
OrderModify(OrderTicket(),OrderOpenPrice(),trailstopsell,OrderTakeProfit(),0,Blue);
return(0);
}

e daí?
 
GarKain:
como modificar os pedidos de Compra e Venda separadamente?

if (OrdersTotal()>0)
{  for (int i=OrdersTotal()-1; i>=0; i--)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {  if (OrderType()==OP_BUY) // или OP_SELL
         OrderModify(OrderTicket(), ...);
}  }  }
 
por que fechar uma ordem não está funcionando?


if (OrderTotal()>0){
for(int g=OrdersTotal()-1; g>=0; g--){
OrderSelect(g,SELECT_BY_POS);
if (OrderMagicNumber()==2563 && OrderType()==OP_BUY){
if (Open[0]<=Low[steploss]){
OrderClose(g,1,Bid,3,Red);
return(0);
}
if (GradusEDBuy==verdadeiro){
OrderClose(g,1,Bid,3,Red);
return(0);
}
}
}
if (OrderMagicNumber()==2563 && OrderType()==OP_SELL){
if (Open[0]>=High[steploss]){
OrderClose(g,1,Ask,3,Red);
return(0);
}
if (GradusEDSell==verdadeiro){
OrderClose(g,1,Bid,3,Red);
return(0);
}
}
}
 
Você pode me dizer como lidar com o looping EA e a perda de desempenho neste caso? Ainda estou usando o reinício, o que é muito inconveniente. Estou usando o reinício, o que é muito inconveniente. Obrigado antecipadamente.
 
yosuf:
Você pode me dizer como lidar com o looping EA e a perda de desempenho ao fazer isso?
Remover o laço e bater no codificador :)
 
TheXpert:
Retire o laço e bata as mãos do codificador :)
Onde e como isso está escrito no código? O que, exatamente, deve ser removido?