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

 
Sepulca:

À mon avis, MQL4 et MQL5 ont divisé les gens entre les traders et les programmeurs. Dans MQL5 , vous pouvez fabriquer beaucoup de choses et les vendre sur le MARCHÉ. Alors qu'un trader ordinaire n'a besoin que de MQL4 . Sans parler de ceux qui font du commerce à la main. Je l'ai essayé moi-même, et j'ai même eu un petit aperçu de l'OOP. Essayez et apprenez. Cela vous rapportera gros)).

Je pense que mql5 a un testeur de stratégie très puissant, sans lequel vous ne pouvez pas vérifier en profondeur les tests avant. J'optimise les Expert Advisors sur mql4 et commence l'analyse forward, chaque exécution valable prend beaucoup de temps, mais mql5 vient de lancer l'optimisation et me permet de vérifier tous les forward rentables. La question est de savoir si cette analyse approfondie contribuera à rendre stable un EA rentable. Il serait dommage de perdre du temps à étudier le mql5 et de découvrir ensuite que tout cela n'a servi à rien.
 
Forexman77:
Je pense que mql5 a un testeur de stratégie très puissant, sans lui il est impossible de vérifier en détail les tests avant. J'optimise les Expert Advisors sur mql4 et je commence l'analyse en avant, chaque exécution rentable prend beaucoup de temps, mais dans mql5 j'ai réglé l'optimisation et je vois tous les avant rentables. La question est de savoir si cette analyse approfondie contribuera à rendre stable un EA rentable. Il serait dommage de perdre du temps à étudier le mql5 et de découvrir ensuite que tout cela n'a servi à rien.

Si vous apprenez mql5 uniquement pour l'optimisation, c'est un non-sens...

Non, ce n'est pas le cas.

 
Forexman77:
Je pense que mql5 a un testeur de stratégie très puissant, sans lui il est impossible de vérifier en détail les tests avant. J'optimise les Expert Advisors sur mql4 et je commence l'analyse en avant, chaque exécution rentable prend beaucoup de temps, mais dans mql5 j'ai réglé l'optimisation et je vois tous les avant rentables. La question est de savoir si cette analyse approfondie contribuera à rendre stable un EA rentable. Il serait dommage de perdre du temps à étudier le mql5 et de découvrir ensuite que tout cela n'a servi à rien.

Je suis tout à fait d'accord, le testeur est puissant, surtout si vous utilisez des nuages et ne lésinez pas à payer un peu d'argent, il sera encore plus rapide)). Dans tous les cas, apprendre quelque chose de nouveau ne fera pas de mal. J'ai essayé le MQL5 MARKET pour télécharger des versions démo des EA les plus chers, et avec les paramètres donnés ils fuient dans le testeur même as)))). Bon sang, écrire une EA de base, retoucher le rapport dans Photoshop et vendre))))).
 
J'ai créé un conseiller expert simple basé sur l'indicateur Ichimoku. J'ai besoin d'ouvrir une seule transaction avec un seul signal. Par exemple, lorsque nous faisons une transaction de vente, la bougie noire se ferme en dessous du nuage - nous ouvrons une transaction de vente. La vente suivante n'est possible que si le prix entre à nouveau dans le nuage et que la bougie noire clôture sous le nuage. Actuellement, une transaction s'ouvre si la bougie noire clôture en dessous du nuage et à
   double Red_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1); // красная линия 
   double Blue_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1); // синяя линия 
   double UpO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1); // верхняя граница облака 
   double DounO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,1); // нижняя граница облака 

     
   if(Volume[0]>1) return;

    // продажа
   if (Open[1]>Close[1] && Close[1] < DounO && Close[1] < Red_Line && Close[1] < Blue_Line) // продажа
   {
     Price = NormalizeDouble(Bid, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss >= STOPLEVEL)
      {
       SL = iHigh(Symbol(),0,1)+200*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0;
      if(TakeProfit > 0)
      {
       TP = Price - TakeProfit*Point;
       TP = NormalizeDouble(TP, Digits); 
      }
       else TP = 0;

      { 
      ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);
      return;
      }
    }

Une autre transaction de vente est effectuée. Vous devez appliquer le principe suivant : un signal - une transaction.

Je vous remercie d'avance pour votre aide.

 

Regardez la faq, c'est là.

 
j'ai regardé la faq mais je ne l'ai pas trouvé, si vous voulez bien me donner un lien.
 

Professionnels, s'il vous plaît conseillez, il y a un code comme ceci

   double MA_M15_1 = iMA(NULL, PERIOD_M15, 14, 0, 0, 0, 1);
   double MA_M15_2 = iMA(NULL, PERIOD_M15, 28, 0, 0, 0, 1);
   
   int CmdType = -1;
   if (MA_M15_1 < MA_M15_2){
      CmdType = OP_BUY;
   }
   if (MA_M15_1 < MA_M15_2){
      CmdType = OP_SELL;
   }
   
   if (CmdType >= OP_BUY){
      
      for (i_try = 1; i_try <= 3; i_try++) {
            if (CmdType == OP_BUY) CurrPriceForOpen = NormalizeDouble(Ask, Digits);
            if (CmdType == OP_SELL) CurrPriceForOpen = NormalizeDouble(Bid, Digits);

            iTicket = _OrderSend(Symbol(), CmdType, LotOpen, CurrPriceForOpen, Slippage * (iDigitPoint / Point), 0, 0, EA_Comment, Magic, 0, CLR_NONE);

            if (iTicket >= 0) break;
            Sleep(1000);

         }
   }

L'erreur 4008 se produit régulièrement - qu'est-ce que cela peut être ?

 
T-G:

Pro dis-moi, il y a un code comme ça

L'erreur 4008 se produit régulièrement - qu'est-ce que cela peut être ?



ERR_NOT_INITIALIZED_STRING 4008 Chaîne non initialisée. Pour être honnête, je n'ai pas rencontré une telle erreur. EA_Comment est-il déclaré d'une manière ou d'une autre ? La seule ligne du code...

Alors, c'est quoi ce ? ???

 iTicket = _OrderSend(Symbol(), CmdType, LotOpen
 
Sepulca:


ERR_NOT_INITIALIZED_STRING 4008 Chaîne non initialisée. Pour être honnête, je n'ai pas rencontré une telle erreur. EA_Comment est-il déclaré d'une manière ou d'une autre ? La seule ligne du code...

Alors, c'est quoi ce ? ???


Cette variable est définie au début et je n'y touche plus.

extern string EA_Comment = "" ;

 
T-G:

Cette variable est définie au début et je n'y touche plus.

extern string EA_Comment = "" ;


Si l'erreur se produit périodiquement, il se peut que votre DC attribue quelque chose d'anormal à la chaîne de caractères. Le DC peut et a le droit de le faire.

Qu'est-ce que ça me dit ?

Raison: