Inicio Trading Sistemático Publicación

Cómo Utilizar Stop Loss y Take Profit en MetaTrader 5 Efectivamente

Archivos adjuntos
18755.zip (2.99 KB, Descargar 0 veces)

Cuando una operación se cierra por Stop Loss, el volumen se duplica; si se cierra por Take Profit, se utiliza el volumen mínimo. Para determinar si una operación se realizó tras la activación de Stop Loss o Take Profit, se utiliza OnTradeTransaction.

En la versión build 1625, se añadió una excelente enumeración llamada ENUM_DEAL_REASON:

ENUM_DEAL_REASON Descripción del motivo
... ...
DEAL_REASON_SL La operación se ejecutó como resultado de la activación del Stop Loss
DEAL_REASON_TP La operación se ejecutó como resultado de la activación del Take Profit
... ...

Esto se puede verificar en OnTradeTransaction.

En otras palabras, es una manera muy sencilla y confiable de determinar si una operación resultó de un Take Profit o un Stop Loss.

Actualmente (build 1626), este Asesor Experto solo se puede verificar en una prueba en vivo, ejecutándolo en un gráfico o en modo depuración con datos reales (F5 en el editor de MetaEditor). Utilicé el siguiente truco:

En OnTradeTransaction, determinamos si fue el Take Profit o el Stop Loss el que se activó:

      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            if(deal_reason==DEAL_REASON_SL)
               ExtLot*=2.0;
            else if(deal_reason==DEAL_REASON_TP)
               ExtLot=m_symbol.LotsMin();
           }

Publicaciones relacionadas

Comentarios (0)