Pourquoi certains grands codeurs et développeurs de systèmes de trading ignorent-ils Metatrader 5 ? - page 9

 


how can you not know this  and at the same time tell us how wonderful MT5 is ? it does nothing for your credibility.


Et vous me dites à quel point le testeur de stratégie MT4 est merveilleux :) :)
Il semble que vous allez m'attraper au nom d'un groupe de personnes ? :)
Je ne suis pas un poisson :)

De nombreux traders ne savent pas que "Lors de la modélisation de chaque tick, le testeur pompe indépendamment toutes les périodes nécessaires pour le symbole testé",
et beaucoup de traders ne lui font pas confiance.

Les modérateurs de certains forums bannissent les membres qui vendent des EA basés uniquement sur des résultats de backtesting (en particulier les EA MTF).
Parce qu'il y a eu beaucoup de cas où le codeur a codé l'EA et l'a vendu sur Internet, l'EA avait des résultats différents dans le commerce par rapport au backtesting, les acheteurs ont perdu de l'argent, le codeur a disparu.

Avez-vous comparé les résultats du backtesting de certains EAs avec les résultats du forward testing ?
Je l'ai fait pendant de nombreuses années avec de nombreux courtiers (MT4). La section Elite d'un certain forum a été créée il y a plusieurs années uniquement parce que les résultats des backtests des EA étaient différents des résultats des forward testing dans certains cas (j'ai décrit ces cas dans certains messages ci-dessus). Avant la section Elite, le groupe yahoo metatrader a été créé avec la même situation.

Pour ce qui est
de MT5, je ne trade que manuellement pour le moment. Mais il serait peut-être bon de comparer le backtesting avec le trading de la même manière que je l'ai fait pour MT4.
Par exemple - en prenant quelques EAs (EA codé sur la barre de fermeture, EA codé en utilisant icustom, EA codé sur la barre de fermeture et d'ouverture, EA codé sur l'ouverture comme icustom, EA codé sur le haut/bas de la barre comme icustom, EA codé de la manière MTF etc) et en comparant le backtesting avec le trading pour la même période avec le même courtier ... Je l'ai fait pour MT4 il y a quelques années.
Le problème est que cette expérience ne mènera nulle part : les gens continueront à utiliser les résultats du backtesting comme une preuve que leurs EAs sont rentables avant de les vendre, et rien ne sera changé de toute façon.

J'utilise Strategy Tester pour MT4 (et MT5) afin de trouver les paramètres possibles pour les EAs.

A propos, j'ai utilisé Cloud pour optimiser les paramètres de l'EA MT5 hier et cela m'a pris 10 minutes au lieu de 10 heures (à cause de Cloud).
Oui, Cloud a étémerveilleux.


 
newdigital:


Et vous me dites à quel point le testeur de stratégie MT4 est merveilleux :) :)
Il semble que vous allez m'attraper au nom d'un groupe de personnes... :)
Je ne suis pas un poisson :)

Je ne fais mes commentaires qu'en mon nom, tous les autres peuvent parler pour eux-mêmes. Vous êtes venu ici pour promouvoir activement MT5, c'est donc à vous d'être l'expert de ce que vous promouvez et de pouvoir répondre aux arguments contre. Vous ne pouvez pas le faire sans connaître vos faits.

Lorsque vous avez comparé les tests prospectifs aux tests de stratégie, combien de temps ont duré vos tests prospectifs ? Combien de paires de devises avez-vous utilisées ?

 

Depuis combien de temps ?
Je l'ai fait depuis 2006 pour la section élite d'un forum qui avait 5 serveurs dédiés et tradait plus de 100 EAs. Un compte metatrader a été ouvert en 2006 et a été poursuivi jusqu'en 2012 (forward testing).
Avez-vous comparé les résultats du backtesting avec ceux du forward testing pour MT4 ? ou parlez-vous simplement de l'article comme d'un fait ?

J'ai ouvert ce fil de discussion pour discuter de l'article (voir mon premier message) - l'article téléchargé dans mql4.
C'est mon objectif ici.
Comme le titre de ce fil, c'est mon idée.
Et j'essaie d'utiliser MT5 dans la plupart des cas - mon idée aussi. Personne ne m'a dit (et personne ne peut me dire) : "pour l'instant - vous serez occupé avec MT5 au lieu de MT4".
Et il est vraiment étrange de voir comment certains codeurs (mes amis) me répondent par e-mail ou sur ma page Facebook, ... et ils ne veulent pas aller sur ce forum mql4 pour répondre ...


 

IMO, le pire handicap de Metaquotes est l'absence de compatibilité avec le code précédent (MQL4 ne fonctionne pas du tout sur MT5). C'est une très très mauvaise décision commerciale.

J'ai également développé des applications Apple (Mac, Ipad et Iphone) et mes applications fonctionnent toujours si Apple met à jour son logiciel. C'est une entreprise sérieuse.

Pour une raison quelconque, Metaquotes a décidé que le travail de ses clients avait peu de valeur. Et le prix à payer est de n'avoir aucun utilisateur qui passe à MT5.

Je n'utilise pas MT5 parce que je veux utiliser mes outils, qui sont déjà codés et je ne veux pas recoder des milliers de lignes.

Mais pour un instant, supposons que je refasse tout le travail et que je traduise tout mon code vers MT5. Très vite, MT6 serait publié, détruisant à nouveau mon travail.

Donc, c'est comme un vote. Et je vote pour MT4 ou pour la compatibilité avec MT4.

 

Eh bien ... ce cas peut être simple :

extern string     Main_data      = " Trade Volume & Trade Method";
extern double     Lots           =     0.1;
extern double     TakeProfit     =     1000;    // Take Profit Value 
extern int        StopLossMode   =     1;    // Stop Loss Mode 
extern int        TrailStopMode  =     2;    // Trailing Stop Mode 
extern double     BreakEven      =     50;    // Break-Even Value
extern int        SessionStart   =     0;    // Start Hour of Trade Session 
extern int        SessionEnd     =    23;    // End Hour of Trade Session
extern bool       SignalMail     = false; 

extern string     Inputs         = " BrainTrend parameters ";
extern int        TimeFrame      =    240;    // Large Time Frame in min
extern int        NumBars        =   500;
extern int        ConfirmBars    =     2;
extern double     Use_pSAR       =     1;
extern double     pSAR_Step      =  0.02;
extern double     pSAR_Maximum   =   0.2;
extern double     Use_Stoch      =     0;
extern int        Kperiod        =    14; 
extern int        Dperiod        =     5;
extern int        slowing        =     5;
extern double     UpLevel        =    75;
extern double     DnLevel        =    25;
extern double     Use_iTrend     =     1;

et

for (int i=num;i>=1;i--)
   { 
   double hiBT1 = iCustom(Symbol(),0,"BrainTrend1",NumBars,1,i); 
   double loBT1 = iCustom(Symbol(),0,"BrainTrend1",NumBars,0,i);
   double hi = High[i];
   double lo = Low[i];
   if (mode==1 && result>=0 && (hiBT1 != lo && loBT1 != hi)) {result+=1;}
   //else {result=0;break;}
   if (mode==2 && result<=0 && (hiBT1 != hi && loBT1 != lo)) {result-=1;}  
   //else {result=0;break;}
   }
   
   return(result); 
}

int TradeSignal()
{   
   
   double buyBT1  = iCustom(Symbol(),TimeFrame,"BrainTrend1Sig",NumBars,0,0,1,1);
   double buyBT2  = iCustom(Symbol(),TimeFrame,"BrainTrend2Sig",NumBars,0,1);
   
   double sellBT1 = iCustom(Symbol(),TimeFrame,"BrainTrend1Sig",NumBars,0,0,0,1);
   double sellBT2 = iCustom(Symbol(),TimeFrame,"BrainTrend2Sig",NumBars,1,1);
   
   if (Use_pSAR > 0)
   {
   double SAR = iSAR(NULL,TimeFrame,pSAR_Step,pSAR_Maximum,1);
      if (SAR < Close[1]) int pSAR =  1;
      else
      if (SAR > Close[1]) pSAR = -1;
   }
   
   if (Use_Stoch > 0)
   {
   double StoMain = iStochastic(NULL,TimeFrame,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,1);
   double StoSig  = iStochastic(NULL,TimeFrame,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,1);
      if (StoMain > StoSig && StoMain < DnLevel && StoSig < DnLevel ) int Stoch = 1;    
      else
      if (StoMain < StoSig && StoMain > UpLevel && StoSig > UpLevel ) Stoch = -1;
   }   

Je veux dire - l'EA devrait être attaché au graphique H1 pour le trading et prendre la valeur de certains indicateurs sur l'échelle de temps H4.
Et nous voyons l'indicateur iTrend ... J'ai passé quelques années pour le public à développer le système de trading Brainwashing avec quelques bons codeurs ...
Cet indicateur peut montrer une valeur différente pour différents courtiers.



 

Et que dire de celui-là ?
C'est le code d'Electra EA

if (UseClassicalEntry)
         {
            string M5_Trend  = findTrend("inf.info10",PERIOD_M5 ,MAPeriod1);
            string M15_Trend = findTrend("inf.info8" ,PERIOD_M15,MAPeriod1);
            string H1_Trend  = findTrend("inf.info6" ,PERIOD_H1 ,MAPeriod2);
            string H4_Trend  = findTrend("inf.info4" ,PERIOD_H4 ,MAPeriod3);
            string PH1_Trend = "";
            string PH4_Trend = "";

            double PvBarMA1=iMA(NULL,PERIOD_H1,MAPeriod2,0,MAMode,MAPrice,2);
            double LastOpen1=iOpen(NULL,PERIOD_H1,1);

               if (LastOpen1 > PvBarMA1) PH1_Trend="UP";
               if (LastOpen1 < PvBarMA1) PH1_Trend="DW";
      
            double PvBarMA2=iMA(NULL,PERIOD_H4,MAPeriod3,0,MAMode,MAPrice,3);
            double LastOpen2=iOpen(NULL,PERIOD_H4,1);

               if (LastOpen2 > PvBarMA2) PH4_Trend="UP";
               if (LastOpen2 < PvBarMA2) PH4_Trend="DW";
            
               doBuy  = (M5_Trend=="UP" && M15_Trend=="UP" && H1_Trend=="DW" && PH1_Trend=="UP" && H4_Trend=="DW" && PH4_Trend=="UP");
               doSell = (M5_Trend=="DW" && M15_Trend=="DW" && H1_Trend=="UP" && PH1_Trend=="DW" && H4_Trend=="UP" && PH4_Trend=="DW");
         }
         else
         {
               doBuy  = (iCustom(Symbol(),240,"AbsoluteStrengthForEA",0,1)==1 && iCustom(Symbol(),240,"AbsoluteStrengthForEA",0,2)!=1);
               doSell = (iCustom(Symbol(),240,"AbsoluteStrengthForEA",1,1)==2 && iCustom(Symbol(),240,"AbsoluteStrengthForEA",1,2)!=2);
         }               

et celui-là ... il est lié au forward testing, non ? Il ne s'agit pas de backtesting... Si je me souviens bien - cet EA doit être attaché à l'échelle de temps H1 ....

if (iBars(Symbol(),PERIOD_M5)<200)
              { showTwoStateMessage("lessbars5",Symbol()+" waiting for 200 bars on M5",false); break;  }
         else   showTwoStateMessage("lessbars5",Symbol()+" Bars OK for M5 timeframe",true);

         if (iBars(Symbol(),PERIOD_M15)<200)
              { showTwoStateMessage("lessbars15",Symbol()+" waiting for 200 bars on M15",false); break; }
         else   showTwoStateMessage("lessbars15",Symbol()+" Bars OK for M15 timeframe",true);

         if (iBars(Symbol(),PERIOD_H1)<200)
              { showTwoStateMessage("lessbars60",Symbol()+" waiting for 200 bars on H1",false); break; }
         else   showTwoStateMessage("lessbars60",Symbol()+" Bars OK for H1 timeframe",true);

         if (iBars(Symbol(),PERIOD_H4)<200)
              { showTwoStateMessage("lessbars240",Symbol()+" waiting for 200 bars on H4",false); break;}
         else   showTwoStateMessage("lessbars240",Symbol()+" Bars OK for H4 timeframe",true);
 
flaab:

IMO, le pire handicap de Metaquotes est l'absence de compatibilité avec le code précédent (MQL4 ne fonctionne pas du tout sur MT5). C'est une très très mauvaise décision commerciale.

J'ai également développé des applications Apple (Mac, Ipad et Iphone) et mes applications fonctionnent toujours si Apple met à jour son logiciel. C'est une entreprise sérieuse.

Pour une raison quelconque, Metaquotes a décidé que le travail de ses clients avait peu de valeur. Et le prix à payer est de n'avoir aucun utilisateur qui passe à MT5.

Je n'utilise pas MT5 parce que je veux utiliser mes outils, qui sont déjà codés et je ne veux pas recoder des milliers de lignes.

Mais pour un instant, supposons que je refasse tout le travail et que je traduise tout mon code vers MT5. Très vite, MT6 serait publié, détruisant à nouveau mon travail.

Donc, c'est comme un vote. Et je vote pour MT4 ou pour la compatibilité avec MT4.


Oui,flaab
vous avez raison.

Quant à moi ... comme je ne suis pas un codeur (et que je n'ai jamais voulu l'être), certaines choses ne sont pas importantes pour moi. Par exemple, je peux comprendre quelque chose dans le code mql4 (ce que tout trader devrait comprendre). Mais je ne comprends rien au code mql5 - je ne comprends que la logique. Donc, la distance entre "comprendre quelque chose" et "ne rien comprendre" = rien :) Je parlais du langage de programmation mql4 et mql5 - si je ne suis pas un codeur alors ...
J'aime MT5 pour de nombreuses raisons (je l'ai décrit sur ce fil).

Mais ma principale préoccupation est la suivante : Je dois convertir tous mes outils au langage de programmation mql5.
Oui, j'ai commencé à le faire (il faut de l'argent) ... mais je suis désolé - si c'est mon outil, alors pourquoi devrais-je les envoyer à n'importe quel codeur avec une question "s'il vous plaît le convertir pour ... crédits" ?
Je veux le garder pour moi ... Je ne veux pas l'envoyer à un codeur (avec de l'argent) :)
Mais pour le garder pour moi - je vais devoir apprendre mql5 ...

Voyez-vous mon image sur cette pagehttps://www.mql5.com/en/forum/142858/page5(image avec fond blanc) ?
C'est l'indicateur AccountAnalyzer_v1.1 qui fait ces statistiques à partir de l'historique du compte.
Comment puis-je le convertir en MT5 si je ne veux pas divulguer cet outil ?
Pas moyen... Je vais devoir apprendre le langage MT5 de toute façon ...

J'ai lu dans certains fils de discussion ou articles que quelqu'un a proposé d'avoir un émulateur MT4 sur MT5 ... donc je n'ai aucune idée - c'est vrai ou non.

 
newdigital:

Depuis combien de temps ?
Je le fais depuis 2006 pour la section élite d'un forum ayant 5 serveurs dédiés qui traitent plus de 100 EAs.

Je demandais combien de temps vous aviez testé un EA lors d'un test à terme par rapport au même EA testé avec les mêmes paramètres et un écart comparable lors d'un test de Strategy Tester? Combien de temps sur le ST ? Combien de temps sur un test avancé ?

Je n'ai pas testé d'EA sérieusement sur un forward test, je n'ai rien qui en vaille la peine pour le moment.

 
newdigital:

Et c'est vraiment étrange de voir comment certains codeurs (mes amis) me répondent à mon email ou à ma page facebook, ... et ils ne veulent pas aller sur ce forum mql4 pour répondre ....

Qu'est-ce que tes emails personnels ont à voir avec le codage mql4 ? Tu t'éloignes encore du sujet ?
 
newdigital:

Eh bien ... ce cas peut être simple :

et

Je veux dire - l'EA devrait être attaché au graphique H1 pour le trading et prendre la valeur de certains indicateurs sur l'échelle de temps H4.
Et nous voyons l'indicateur iTrend ... J'ai passé quelques années pour le public à développer le système de trading Brainwashing avec quelques bons codeurs ...
Cet indicateur peut montrer une valeur différente pour différents courtiers.

Quelle est votre question mql4 sur ce code ?