Accueil Trading Systématique Publication

Coin Flip : votre Système de Trading pour MetaTrader 5

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

Idée par : Vladimir Gribachev.

Code MQL5 par : Vladimir Karputov.

Ce Système de Trading est un EA qui n'utilise aucun indicateur personnalisé et qui ouvre des positions de manière pseudorandom. L'EA peut afficher les statistiques en deux langues :

Infos de trading Coin Flip

Le Trailing modifie le Stop Loss des positions ouvertes. En cas de perte, le volume des lots augmente selon le principe de Martingale. Pour surveiller les pertes : dans OnTradeTransaction, nous attrapons la transaction DEAL_REASON_SL - le signe que le Stop Loss a été déclenché :

//+------------------------------------------------------------------+
//| Fonction TradeTransaction                                         |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- obtenir le type de transaction en tant que valeur d'énumération 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- si la transaction résulte de l'ajout de la transaction dans l'historique
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_ticket       =0;
      long     deal_order        =0;
      long     deal_time         =0;
      long     deal_time_msc     =0;
      long     deal_type         =-1;
      long     deal_entry        =-1;
      long     deal_magic        =0;
      long     deal_reason       =-1;
      long     deal_position_id  =0;
      double   deal_volume       =0.0;
      double   deal_price        =0.0;
      double   deal_commission   =0.0;
      double   deal_swap         =0.0;
      double   deal_profit       =0.0;
      string   deal_symbol       ="";
      string   deal_comment      ="";
      string   deal_external_id  ="";
      if(HistoryDealSelect(trans.deal))
        {
         deal_ticket       =HistoryDealGetInteger(trans.deal,DEAL_TICKET);
         deal_order        =HistoryDealGetInteger(trans.deal,DEAL_ORDER);
         deal_time         =HistoryDealGetInteger(trans.deal,DEAL_TIME);
         deal_time_msc     =HistoryDealGetInteger(trans.deal,DEAL_TIME_MSC);
         deal_type         =HistoryDealGetInteger(trans.deal,DEAL_TYPE);
         deal_entry        =HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_magic        =HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
         deal_reason       =HistoryDealGetInteger(trans.deal,DEAL_REASON);
         deal_position_id  =HistoryDealGetInteger(trans.deal,DEAL_POSITION_ID);

         deal_volume       =HistoryDealGetDouble(trans.deal,DEAL_VOLUME);
         deal_price        =HistoryDealGetDouble(trans.deal,DEAL_PRICE);
         deal_commission   =HistoryDealGetDouble(trans.deal,DEAL_COMMISSION);
         deal_swap         =HistoryDealGetDouble(trans.deal,DEAL_SWAP);
         deal_profit       =HistoryDealGetDouble(trans.deal,DEAL_PROFIT);

         deal_symbol       =HistoryDealGetString(trans.deal,DEAL_SYMBOL);
         deal_comment      =HistoryDealGetString(trans.deal,DEAL_COMMENT);
         deal_external_id  =HistoryDealGetString(trans.deal,DEAL_EXTERNAL_ID);
        }
      else
         return;
      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            PrevBars=0;
            if(deal_reason==DEAL_REASON_SL && deal_commission+deal_swap+deal_profit<0.0)
               last_lots_sl=deal_volume;
            else
               last_lots_sl=0.0;
           }
     }
  }


Paramètres d'entrée

  • Stop Loss - valeur du Stop Loss ;
  • Take Profit - valeur du Take Profit ;
  • Trailing Stop - mode de trailing ;
  • Trailing Step - étape de trailing ;
  • Lots - taille de lot définie manuellement (si Lots est supérieur à zéro, alors Risk doit être égal à zéro) ;
  • Risk - taille de lot calculée automatiquement (si Risk est supérieur à zéro, alors Lots doit être égal à zéro) ;
  • Martingale - ratio d'augmentation des lots si la position précédente a été fermée par un Stop Loss et que le profit obtenu était négatif ;
  • Max lots - taille de position maximale ; si cette taille est dépassée, l'EA interrompt son fonctionnement anormalement ;
  • magic number - identifiant unique pour l'EA.

Ensuite, le test a été interrompu (l'EA a été déchargé du graphique de manière forcée), car le lot de référence a dépassé le paramètre Max lots :

Coin Flip

Articles connexes

Commentaire (0)