Como Usar Stop Loss e Take Profit no MetaTrader 5: Guia Prático

Mike 2017.11.03 20:43 15 0 0
Anexo

Se você é trader, sabe que gerenciar suas operações é fundamental para o sucesso. Uma das ferramentas que podem ajudá-lo nesse gerenciamento são os comandos Stop Loss e Take Profit. Vamos entender como eles funcionam no MetaTrader 5.

Quando um trade é fechado por Stop Loss, o volume é duplicado; já se for fechado por Take Profit, o volume mínimo é utilizado. O OnTradeTransaction é o que usamos para determinar se uma operação foi realizada após a ativação do Stop Loss ou Take Profit.

Na versão 1625, foi adicionada uma excelente enumeração chamada ENUM_DEAL_REASON:

ENUM_DEAL_REASON Descrição
... ...
DEAL_REASON_SL A operação foi executada em decorrência da ativação do Stop Loss
DEAL_REASON_TP A operação foi executada em decorrência da ativação do Take Profit
... ...

Essas informações podem ser verificadas no OnTradeTransaction.

Em outras palavras, essa é uma maneira simples e confiável de determinar se uma operação resultou de um Take Profit ou Stop Loss.

Atualmente, na versão 1626, esse Expert Advisor só pode ser verificado em um teste ao vivo - seja lançando-o em um gráfico ou em modo de depuração com dados reais (F5 no MetaEditor). Eu utilizei a seguinte manobra para contornar:

No OnTradeTransaction, determinamos se foi o Take Profit ou Stop Loss que acionou:

      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();
           }
Lista
Comentário 0