Mira cómo descargar robots gratis
¡Búscanos en Facebook!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Asesores Expertos

Coin Flip - Asesor Experto para MetaTrader 5

Publicado por:
Vladimir Karputov
Visualizaciones:
701
Ranking:
(16)
Publicado:
2018.07.24 15:24
Coin Flip.mq5 (67.45 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Autor de la idea: Vladimir Gribachev.

Autor del código MQL5: Vladimir Karputov.

Es un EA que no usa los indicadores personalizados, las posiciones se abren de forma pseudoaleatoria. Este EA puede mostrar la estadística actual en dos idiomas:

Coin Flip trading info

El trailing modifica el Stop Loss de posiciones abiertas. Cuando sufrimos pérdidas, el lote se aumenta con el uso del martingale. ¿Cómo se detectan las pérdidas?: en OnTradeTransaction captamos la transacción DEAL_REASON_SL, es el indicio de la activación del Stop Loss:

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- get transaction type as enumeration value 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- if transaction is result of addition of the transaction in history
   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;
           }
     }
  }


Parámetros de entrada

  • Stop Loss - Stop Loss;
  • Take Profit - Take Profit;
  • Trailing Stop - Trailing;
  • Trailing Step - paso del trailing;
  • Lots - el tamaño del lote se establece manualmente, (si Lots es más de cero, el parámetro Risk tiene que ser igual a cero);
  • Risk - el tamaño del lote se calcula automáticamente, (si Risk es más de cero, el parámetro Lots tiene que ser igual a cero);
  • Martingale - coeficiente del aumento del lote, si la posición anterior ha sido cerrada por Stop Loss y el beneficio es negativo;
  • Max lots - tamaño máximo de la posición; cuando este parámetro se supera, el EA termina el trabajo forzosamente;
  • magic number - identificador único del EA.

La simulación siguiente ha sido detenida (el EA fue descargado desde el gráfico forzosamente), porque el lote ha superado el parámetro Max lots:

Coin Flip

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/20836

AnchoredMomentum_x10 AnchoredMomentum_x10

El indicador AnchoredMomentum_x10 muestra la posición del indicador AnchoredMomentum desde diez marcos temporales diferentes.

InvertCandle_Plus InvertCandle_Plus

Gráfico del instrumento financiero actual de forma invertida con la visualización de los niveles Ask y Bid.

BrainTrend2_V2 BrainTrend2_V2

El indicador BrainTrend2 tiene la posibilidad de saltar alertas, enviar los mensajes de correo o mensajes push, cuando se cambia el color del indicador.

BrainTrend2Stop_HTF BrainTrend2Stop_HTF

El indicador BrainTrend2Stop tiene la posibilidad de cambiar el timeframe del indicador en los parámetros de entrada.