Accueil Trading Systématique Publication

FT CCI MA : Un Expert pour MetaTrader 5

Pièce jointe
23061.zip (5.92 KB, Télécharger 0 fois)

Auteur de l'idée - Vasiliy

Auteur du code mq5 - barabashkakvn

Cet Expert Advisor (EA) utilise les indicateurs iCCI (Indice des Canaux de Matières, CCI) et iMA (Moyenne Mobile, MA).

Lorsque la MA indique une tendance à la hausse, l'indicateur iCCI fonctionne entre -100 pour acheter et 200 pour vendre !

À l'inverse, si la MA est en déclin, l'indicateur iCCI fonctionnera entre 100 pour acheter et -200 pour vendre !

De cette façon, durant les mouvements forts, les trades "incorrects" sont réduits. L'EA tente alors de capturer le mouvement restant !

Vous pouvez également définir un intervalle de temps pour le trading grâce au paramètre Utiliser l'intervalle de temps, qui active ou désactive l'utilisation de cet intervalle. L'intervalle de temps est réglé de Heure de début à Heure de fin. Vous pouvez définir cet intervalle à l'intérieur d'une même journée ou avec un passage d'une journée à l'autre. Un exemple est fourni dans la fonction de définition de l'intervalle de temps :

//+------------------------------------------------------------------+
//| TimeControl                                                  |
//+------------------------------------------------------------------+
bool TimeControl(void)
  {
   MqlDateTime STimeCurrent;
   datetime time_current=TimeCurrent();
   if(time_current==D'1970.01.01 00:00')
      return(false);
   TimeToStruct(time_current,STimeCurrent);
   if(InpStartHour<InpEndHour) // intervalle de temps intrajournalier
     {
/*
Exemple :
input uchar             InpStartHour           = 5;                    // Heure de début
input uchar             InpEndHour             = 10;                   // Heure de fin
0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
_  _  _  _  _  +  +  +  +  +  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  +  +  +  +  +  _  _  _  _  _  _
*/
      if(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else if(InpStartHour>InpEndHour) // intervalle de temps avec transition à un autre jour
     {
/*
Exemple :
input uchar             InpStartHour           = 10;                   // Heure de début
input uchar             InpEndHour             = 5;                    // Heure de fin
0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
_  _  _  _  _  _  _  _  _  _  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  _  _  _  _  _  _
*/
      if(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else
      return(false);
//---
   return(false);
  }



Articles connexes

Commentaire (0)