Qu'est-ce que l'identifiant de commande ?

 

Je ne sais pas ce que signifie"order_id" dans orderclose.

Veuillez m'aider !

 
toi10005doi:

Je ne sais pas ce que signifie"order_id" dans orderclose.

Veuillez m'aider !

Il n'y a pas de "order_id" dans OrderClose().
 
Dans l'exemple de OrderClose(), c'est le numéro du ticket que vous voulez fermer. Si vous voulez fermer la commande qui a déjà été sélectionnée par OrderSelect(), utilisez simplement OrderTicket().
 

Merci à tous ! :))

Pouvez-vous me montrer un exemple, s'il vous plaît.

 
toi10005doi:

Merci à tous ! :))

Pouvez-vous me montrer un exemple, s'il vous plaît.

Vous trouverez des exemples dans ce fil de discussion :Boucles et Fermeture ou Suppression d'ordres.
 

Mon EA ne fait qu'un seul ordre à la fois. Donc, s'il vous plaît montrez-moi le code de fermeture lorsque la condition fait.

Merci !

 
toi10005doi:

Mon EA ne fait qu'un seul ordre à la fois. Donc, s'il vous plaît montrez-moi le code de fermeture lorsque la condition fait.

Merci !


Il n'y a pas d'EA qui ferme plusieurs trades au même moment...... C'est toujours fait un par un

Comment fermer les trades correctement sélectionnés en lisant lesboucles et en fermant ou supprimant les ordres

 
<SNIP>

S'il vous plaît dites-moi ce qui ne va pas avec mon code !!! Merci.

 
toi10005doi:

<SNIP>

S'il vous plaît dites-moi ce qui ne va pas avec mon code !!! Merci.

Veuillez modifier votre message...


S'il vous plaît utiliser ceci pour afficher le code . ... c'est plus facile à lire.

 
RaptorUK:
Vous trouverez des exemples dans ce fil de discussion :Boucles et Fermeture ou Suppression des Ordres.


toi10005doi:

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

S'il vous plaît, dites-moi ce qui ne va pas avec mon code ! Merci.


As-tu pris la peine de lire le fil de discussion dont j'ai donné le lien ?
 

@Raptor :

Oui, mais je n'ai pas compris parce que j'ai juste envie d'écrire l'EA. Sr pour vous déranger.

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);
 }
   

Je ne comprends pas pourquoi mon ordre se ferme instantanément après son démarrage.

Raison: