Fracctal Break Out-Stuck - página 2

 

Estou recebendo atualmente o erro de colchete final "}".


Mas eu verifiquei novamente as funções e todas elas são processadas corretamente.


Tentei de outra forma e continuei a receber este mesmo erro.

 
ZacharyRC:

No momento estou recebendo o erro de colchete final "}".


Mas eu verifiquei novamente as funções e todas elas são processadas corretamente.


Tentei de outra forma e continuei a receber este mesmo erro.


Eu encontrei o erro, nunca mais!
 
ZacharyRC:

Hey deVries:


Estou me deparando com problemas em meu código final, com a tentativa de colocar um fim à perda modificada para quebrar o equilíbrio depois de tantos pips.


Você vê algum erro gritante????

Você precisa ler isto novamente:O que são valores de retorno de função? Como eu os uso ? você não quer saber o que está acontecendo com seu OrderModify() ? o que acontece se seu OrderSelect() falhar ?

 
if(OrdersTotal()>1)
{
OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==(OP_BUY)&&(Move.BE))
{

Esta não é a maneira correta de obter os negócios de sua EA

você não pode ter certeza de que a posição 0 é de sua EA que você tem que administrar

usar sempre um laço para passar por todas as negociações abertas e depois selecionar dessa forma você tem

seu Símbolo() o EA é comercial e o MAGICNUMBER que você deu com seu EA

.

meu caminho é como

 

 for(i = OrdersTotal()-1; i >= 0 ; i--)         //always counting down checking trades
    {
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)        break;     // if false we abort the loop
     if(OrderMagicNumber()!=MagicNumber || OrderSymbol()!=Symbol()) continue;   //if selected trade not symbol or magicnumber next one
 
RaptorUK:

Você precisa ler isto novamente:O que são valores de retorno de função ? Como posso usá-los ? você não quer saber o que está acontecendo com seu OrderModify() ? o que acontece se seu OrderSelect() falhar ?


Definitivamente, vou voltar a ler hoje à noite, ainda não tenho uma compreensão completa.
deVries:

Esta não é a maneira correta de obter os negócios de sua EA

você não pode ter certeza de que a posição 0 é de sua EA que você tem que administrar

usar sempre um laço para passar por todas as negociações abertas e depois selecionar dessa forma você tem

seu Símbolo() o EA é comercial e o MAGICNUMBER que você deu com seu EA

.

meu caminho é como

Eu estava usando um loop for() da última vez, e tive alguns erros e desisti dele. Vou tentar novamente e ler novamente o texto.


Obrigado, senhores.

 
RaptorUK:

Você precisa ler isto novamente:O que são valores de retorno de função ? Como posso usá-los ? você não quer saber o que está acontecendo com seu OrderModify() ? o que acontece se seu OrderSelect() falhar ?


Eu me sinto um pouco lento hoje! Depois de ter deixado entrar a linguagem MQL4, percebi que a linguagem MQL4 pode ser a melhor companheira para encontrar erros, não o quadro de mensagens.



TY RaptorUK!

 
ZacharyRC:

Hoje me sinto um pouco lento! Depois de ter deixado entrar a linguagem MQL4, percebi que a linguagem MQL4 pode ser a melhor companheira para encontrar erros, não o quadro de mensagens.

Exatamente, 100% correto :-)
 
deVries:

Esta não é a maneira correta de obter os negócios de sua EA

você não pode ter certeza de que a posição 0 é de sua EA que você tem que administrar

usar sempre um laço para passar por todas as negociações abertas e depois selecionar dessa forma você tem

seu Símbolo() o EA é comercial e o MAGICNUMBER que você deu com seu EA

.

meu caminho é como

Ahhhh vejo, isto me permite percorrer meus negócios e dizer qual é qual e corresponder aos Números Mágicos. Loop é de longe o melhor caminho.

 
ZacharyRC:

Ahhhh vejo, isto me permite percorrer meus negócios e dizer qual é qual e corresponder aos Números Mágicos. Loop é de longe o melhor caminho.

Quanto mais você vai usá-lo, mais truques você aprende a fazer com ele....
 

Ainda com dificuldades. Conduzi erros para descobrir o porquê.


A revista Reportei:

1) Erro 4051=Parâmetro Incorreto

2) Bilhete inválido para modificação de ordem

//----------------------------------------------//
//-----------------EXITING ORDERS---------------//


for(int i=OrdersTotal()-1; i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)  break;


if(OrderMagicNumber()!=MagicNumber || OrderSymbol() !=Symbol()) continue;

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) Print(GetLastError(),i);
if(OrderType()==OP_BUY)
{

 if(Move.BE && StopLoss > 0) 
 {
   if(Bid - OrderOpenPrice() >= Point * StopLoss)
     {
       if(OrderStopLoss() < OrderOpenPrice() + Point * MoveStopTo) 
        {
                  OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() + Point * MoveStopTo, OrderTakeProfit(), 0, Red);
                  Print("Cant Modify Order"+GetLastError(),i);
 }
  }
   }
    }
 else{
 
    if(Move.BE && StopLoss > 0) {
               if(OrderOpenPrice() - Ask >= Point * StopLoss)
                {
                  if(OrderStopLoss() > OrderOpenPrice() - Point * MoveStopTo)
                   {
                  OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() - Point * MoveStopTo, OrderTakeProfit(), 0, Red);
                  Print("Cant Modify Order"+GetLastError(),i);
}
 }
  }
   }
    }