Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 528

 
tara:

Yevgeni Nikolaevichs d'Odessa (vous avez vous-même demandé le pluriel) - pouvez-vous répondre ?
Des gens étranges... Je voulais juste une réponse...
 
MEN_Odessa:

Je ne reçois aucun code d'erreur traité dans le testeur de stratégie. Qu'est-ce qui ne va pas ? Y a-t-il un problème avec Sleep ou les erreurs ne sont-elles pas générées ?


La veille ne fonctionne pas dans le testeur.
 

Aide.

D'après ce que je comprends, il n'y a pas de trailing stop sur un ordre dans mql 4 ?

Et si non, comment puis-je utiliser une méthode simple pour exécuter un stop suiveur sur un ordre ouvert ?

 
culler:

Aide.

D'après ce que j'ai compris, il n'y a pas de fonction d'ordre de suivi intégrée dans mql 4 ?

Et si ce n'est pas le cas, comment faire pour suivre un ordre ouvert en ligne simple ?


Quelque chose comme ça
 
evillive:

Quelque chose comme ça


Wow... Je n'avais pas réalisé qu'il y avait autant de trailing stops. J'ai la tête qui tourne )))) Tout ce que vous voulez ))))

J'aimerais en avoir un simple, comme celui intégré dans MT4 sur un ordre à partir du prix actuel. )))

 
culler:


Wow... Je n'avais pas réalisé qu'il y avait autant de trailing stops. J'ai la tête qui tourne )))) Tout ce que vous voulez ))))

Je voudrais un simple trailing stop, comme celui qui est intégré dans MT4 sur l'ordre du prix actuel. )))


) ) Le chalut primitif de MACD Sample correspond au chalut du terminal et remplit le serveur d'ordres à chaque tick:

extern TrailingStop=100;   
for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         //--- long position is opened
         if(OrderType()==OP_BUY)
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return;
                    }
                 }
              }
           }
         else // go to short position
           {
            //--- check for trailing stop
            if(TrailingStop>0)
              {
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     //--- modify order and exit
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return;
                    }
                 }
              }
           }
        }
     }
 

Lors du débogage, la fenêtre "USDCHF" s'ouvre par défaut...

Pouvez-vous me dire comment faire pour que, pendant le débogage, MeteEditor s'initialise et fonctionne dans MetaTrader ?

avec une fenêtre déterminée ou déjà ouverte, et non avec la fenêtre "USDCHF" par défaut ?

 
Orangetree:

Lors du débogage, la fenêtre "USDCHF" s'ouvre par défaut...

Pouvez-vous me dire comment faire pour que, pendant le débogage, MeteEditor s'initialise et fonctionne dans MetaTrader ?

avec une fenêtre déterminée ou déjà ouverte, et non avec la fenêtre "USDCHF" par défaut ?

Dans les paramètres du terminal, cherchez dans les onglets. Vous le trouverez.
 
artmedia70:
Dans les paramètres du terminal, cherchez dans les onglets. Vous le trouverez.


Vous pouvez modifier la paire et la période, mais pas les paramètres du terminal ;)
 

Bonjour, je ne sais pas où poser cette question, l'essentiel est le suivant : parfois l'EA écrit un fichier journal de 7 gigaoctets avec une erreur, il écrit (EURUSD,M15 : Failed to close leading order, repeat operation), bien qu'il ferme tout sans erreur. J'essaie d'interdire à cette EA d'enregistrer ses actions dans le journal, mais c'est inutile, j'ai besoin du journal du terminal.

Veuillez me conseiller sur la manière d'empêcher cette "dérive" de conserver le journal. Je comprends que je dois utiliser l'option d'impression, mais comment ?

            if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == mNumber)) {
               if (OrderType() == OP_BUY) {
                  error1 =  (OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), Spread, Blue));
                  if (error1 == 1) {
                     Print ("Лидирующий ордер закрыт успешно."); 
                     Sleep (500);   
                  } else {
                     Print ("Ошибка закрытия лидирующего ордера, повторяем операцию. ");