[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 514

 
sss2019:

Voici un autre point : cet ordre s'ouvre sur une certaine fractale, sur la fractale. Si la dernière commande est trouvée, y a-t-il un moyen de savoir dans quelle fractale elle s'est ouverte ?

Trouver la barre à laquelle l'ordre a été ouvert ( iBarShift(Symbol(), Period(), OrderOpenTime ()) )


Sur ce bar, il y a cette fractale.

 
Reshetov:


J'ai défini des pips à partir du prix actuel ainsi que 150 et 300, mais cela ne fonctionne toujours pas.
 
a.DarkAngel:

Bonjour !

Pourquoi ne supprime-t-il que le BUYSTOP mais pas le SELLLIMIT ? Bien que j'aie deux commandes en cours !

if (Hour()==19 && Minute()==00 && Кризис_1989==true)
            {
             for( int i=1; i<=OrdersTotal(); i++)          
      {
             if(OrderSelect(i-1,SELECT_BY_POS)==true) 
               {                                       
                if(OrderType()==OP_SELLLIMIT  && OrderSymbol()==Symbol())
                  {
                  OrderDelete(OrderTicket()); 
                  }//if
  
                if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol())
                  {
                  OrderDelete(OrderTicket()); 
                  }//if
               }//if
            return(0);
            }
          }   
if (Hour()==19 && Minute()==00 && Кризис_1989==true) {
   for (int i=OrdersTotal()-1; i>=0; i--) {
      if (OrderSelect(i, SELECT_BY_POS)) {                                       
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()==OP_SELLLIMIT)   OrderDelete(OrderTicket()); 
         if (OrderType()==OP_BUYSTOP)     OrderDelete(OrderTicket()); 
         }
      }
   }    

C'est comme un dessin d'enfant : trouvez dix différences... :)

Lorsque vous supprimez des commandes, vous devez faire la boucle à partir de la fin de la liste. Et vous avez return(0) à l'intérieur de la boucle.

 
Andreyu:

Bonjour à tous !

Je ne peux pas placer un ordre si je spécifie un stop loss :


Le courtier permet-il de définir le SL lors de l'ouverture d'un ordre ?

Et où est NormalizeDouble?

 

Salutations, les gars, s'il vous plaît.
Je me bats avec ça depuis plus d'une semaine. Est-ce que quelqu'un qui s'y connaît mieux peut dessiner le bon code ?

Ce conseiller expert ouvre une transaction dans la même direction, là où se trouvait le stop-loss. Mais avec un lot deux fois plus important, par cette expression : lot=lot*koef ;

j'ai besoin qu'il multiplie toutes les transactions perdantes avec un nombre de fois donné. C'est-à-dire 0.01,0.01,0.01 ; 0.02,0.02,0.02 ; 0.04,0.04,0.04 ; 0.08,0.08,0.08...... et seulement.

Combien de compteurs différents ont été convertis... NETTO

Je n'ai commencé à parler cette langue qu' il y a4 ans. Voici tout le code auquel il faut penser...

Merci beaucoup ! !!

int X=0;
extern double       lot=0.01;
extern double       koef=1.5;
extern int       SL=10;
extern int       TP=10;
double dl;
double a;
int init()
 {
 a=lot;
  return(0);
 }
int deinit()
 {
  return(0);
 }
int start()
{   

if(OrdersTotal() == 0 && X==1)
             { 
             if (Close[0]>dl){lot=a;}              X=0;
             }             
if(OrdersTotal() == 0 && X==2)
             { 
             if (Close[0]<dl){lot=a;}
             X=0;
             }     
if (OrdersTotal() == 0 && Close[1]>Open[1]) 
                          {
        dl=Close[0];
OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue); 

  lot=lot*koef;
                           X=1;            
                          }
   if(OrdersTotal() == 0 && && Close[1]<Open[1]) 
                          {
    dl=Close[0];
OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red); 
                           lot=lot*koef;
                           X=2;
                          } 
   return(0);
}
 
Andreyu:

J'ai fixé des pips de 150 et 300 par rapport au prix actuel et cela ne fonctionne toujours pas.

Il est fort probable que vous ayez un compte chez l'un de ces courtiers qui interdisent de passer des ordres avec prise et perte.

Le service d'assistance du courtier n'est pas autorisé à discuter des courtiers sur ce forum.

 
edyuson:

Salutations, les gars, s'il vous plaît.
Je me bats avec ça depuis plus d'une semaine. Est-ce que quelqu'un qui s'y connaît mieux peut dessiner le bon code ?

Ce conseiller expert ouvre une transaction dans la même direction, où était le stop loss. Mais avec un lot deux fois plus important, par cette expression : lot=lot*koef ;

j'ai besoin qu'il multiplie toutes les transactions perdantes avec un nombre de fois donné. I.e. 0.01,0.01,0.01 ; 0.02,0.02,0.02 ; 0.04,0.04,0.04 ; 0.08,0.08,0.08...... et seulement.

Combien de compteurs différents ont été refaits... NETTO

Je ne me suis pas plongé dans la langue depuis 4 ans jusqu'à ce que je fasse une dépression. Voici tout le code auquel il faut penser...

Merci beaucoup ! !!

je suis aux prises avec le même problème - où, dans le code, la perte commerciale précédente est-elle enregistrée ?
 **** Close[1]>Open[1] // это не лосс!!!
 
YOUNGA:
je suis aux prises avec le même problème - où, dans le code, la perte commerciale précédente est-elle enregistrée ?
**** Close[1]>Open[1] // это не лосс!!!
 // это свечи закрытия>открытия
if(OrdersTotal() == 0 && X==1)
             { 
             if (Close[0]>dl){lot=a;} 
             X=0;
             }             
if(OrdersTotal() == 0 && X==2)
             { 
             if (Close[0]<dl){lot=a;}
             X=0;
             }     
 // тут регулеровка


 
edyuson:

vous comparez les sloses de différentes bougies, qu'est-ce que ça a à voir avec la perte ?
 
YOUNGA:
vous comparez les cloches de différents chandeliers qu'est-ce que cela a à voir avec la perte ?

Je ne te blâme pas, ce n'est pas mon puzzle. J'ai juste trouvé un algorithme similaire dont j'ai besoin et j'essaie de le terminer, comme j'en ai besoin. https://www.mql5.com/ru/code/9927 Ce que j'ai enlevé, ce que j'ai laissé.

 if(OrdersTotal() == 0 && Close[1]<Open[1])                                        //Если ордеров 0 и закрытие свечи 1<Открытие свечи 1 
  dl=Close[0];                                                                     //эт не дошло толком                 
 OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red)  //тело открывает на продажу
      
         

je le veux 0.01,0.01,0.01 ; 0.02,0.02,0.02 ; 0.04,0.04,0.04 ; 0.08,0.08,0.08......