O que é order_id ?

 

Eu não sei o que é"order_id" em orderclose.

Por favor, me ajude!

 
toi10005doi:

Eu não sei o que é"order_id" em orderclose.

Por favor, me ajude!

Não há "order_id" em OrderClose()
 
No exemplo em OrderClose() é o número do bilhete que você quer fechar. Se você quiser fechar o pedido que já foi selecionado por OrderSelect(), então basta usar OrderTicket().
 

Obrigado a todos! :))

Podem me dar um exemplo, por favor?

 
toi10005doi:

Obrigado a todos! :))

Podem me dar um exemplo, por favor?

Você encontrará exemplos neste tópico:Loops e Encerramento ou Eliminação de Pedidos
 

Minha EA faz apenas 1 pedido por vez. Então, por favor, mostre-me o código para fechá-lo quando o conditon estiver pronto.

Obrigado!!

 
toi10005doi:

Minha EA faz apenas 1 pedido por vez. Então, por favor, mostre-me o código para fechá-lo quando o conditon estiver pronto.

Obrigado!!


Não há EA fechando vários negócios no mesmo momento..... É sempre feito um a um

Como fechar corretamente os negócios selecionados leiaLoops e Encerramento ou Exclusão de Ordens

 
<SNIP>

Por favor, diga-me o que há de errado com meu código!! Obrigado.

 
toi10005doi:

<SNIP>

Por favor, diga-me o que há de errado com meu código!! Obrigado.

Por favor, edite seu post . ..


Por favor, use isto para postar código . . facilita a leitura.

 
RaptorUK:
Você encontrará exemplos neste tópico:Loops e Encerramento ou Eliminação de Pedidos


toi10005doi:

for(i=1; i<=OrdersTotal(); i++)

Por favor, diga-me o que há de errado com meu código!! Obrigado.


Você se deu ao trabalho de ler o fio ao qual eu dei um link?
 

@Raptor:

Sim, mas eu compreendi muito bem porque eu só estou começando a escrever EA. Sr por incomodá-lo.

int start()
{
   int i ,times;
   double DIPlus1;
   double DIPlus0;
 
   double DIMinus1;
   double DIMinus0;
   
   double Main1;
   double Main0;
   
   double MACD_main;
   double MACD_signal;
   double Rsi;
   
   double err = 25;
   
   int MagicNumber1=220101,MagicNumber2=220102;
//----

//---
 
DIPlus1=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1);
DIPlus0=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0);
 
DIMinus1=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1);
DIMinus0=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0);

Main1=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,1);
Main0=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0);

Rsi = iRSI(NULL,0,14,PRICE_CLOSE,0);

times = Minute() % 15 ==0 && Seconds() ==0;

//MACD_main = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0); 
//MACD_signal = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   
//----
if(Minute() % 15 ==0 && Seconds() ==0)
{
  if( Main0 > err && Main1 < err && DIPlus0 > DIMinus0 && Rsi < 70 )

    
       OrderSend(Symbol(),OP_BUY,0.03,Ask,5,Ask-300*Point,Ask+300*Point,"","",1,Blue);
          
   

   if (Main0 > err && Main1 < err && DIPlus0 < DIMinus0  && Rsi > 30)
     
       OrderSend(Symbol(),OP_SELL,0.03,Bid,5,Bid+300*Point ,Bid-300*Point,"","",2,Red);
     
  //---
  if(OrdersTotal()>0)
      {
      for(i=1; i<=OrdersTotal(); i++)
      
         {        
            if (OrderSelect(i-1,SELECT_BY_POS)==true)
                  
             {
               if(Rsi >=70 )  
                  OrderClose(OrderTicket(),OrderLots(),Bid,2,Green); 
              if( DIPlus1 > DIMinus1 )
                   OrderClose(OrderTicket(),OrderLots(),Bid,2,Green); 
               
                if(Rsi <=30  )
                  OrderClose(OrderTicket(),OrderLots(),Ask,1,Green); 
              if( DIPlus1 < DIMinus1  )
                   OrderClose(OrderTicket(),OrderLots(),Ask,1,Green); 
            
                   
             }       
         }
       }  
   }
 return(0);
 }
   

Não entendo por que meu pedido fecha imediatamente após ele estrelar.

Razão: