ExpertClor_v01 : Un Assistant de Trading pour MetaTrader 5

Mike 2017.08.10 21:55 13 0 0
Pièce jointe

Auteur de l'idéeJohn Smith, auteur du code MQL5barabashkakvn.

Voici un assistant Expert Advisor qui se concentre uniquement sur la FERMETURE des positions :

ExpertClor_v01

Les positions sont déplacées à un point d'équilibre, et le Stop Loss est calculé en fonction de l'indicateur StopATR_auto. Les positions se ferment à l'intersection de deux MAs (Moyennes Mobiles).

Pour que cet EA fonctionne correctement, vous devez ajouter le fichier compilé de l'indicateur StopATR_auto dans le dossier MQL5\Indicators\Downloads :

//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'Expert                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
...
//--- création du handle de l'indicateur iCustom
   handle_iCustom=iCustom(m_symbol.Name(),TimeFrame,"Downloads\\StopATR_auto",
                          CountBarsForAverage,
                          Target
                          );

Bien que cet Expert Advisor se concentre uniquement sur la fermeture des positions, j'ai ajouté une petite partie de code pour ouvrir des positions :

//+------------------------------------------------------------------+
//| Fonction de tick de l'Expert                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(MQLInfoInteger(MQL_DEBUG) || MQLInfoInteger(MQL_PROFILER) || 
      MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION))
     {
      static long counter=-50;
      static bool trade_buy=true;

      if(counter==0)
         m_trade.Buy(m_symbol.LotsMin());
      else if(counter%1500==0)
        {
         if(RefreshRates())
           {
            if(trade_buy)
              {
               OpenBuy(m_symbol.LotsMin());
               trade_buy=false;
              }
            else
              {
               OpenSell(m_symbol.LotsMin());
               trade_buy=true;
              }
           }
         else
            counter=counter-9;
    }

      counter++;
     }
//---

Cette unité fonctionne uniquement lorsque vous testez ou optimisez cet Expert Advisor. Une position d'achat ou de vente est ouverte après chaque 1 500 ticks.

Liste
Commentaire 0