Início Indicador técnico Postagem

Indicador para Avaliação de Estratégias de Trading no MetaTrader 4

Anexo
9602.zip (11.94 KB, Baixar 0 vezes)

Quem nunca quis entender, de forma visual, onde uma estratégia de trading pode falhar? E se pudéssemos também ver as estatísticas de performance ao mesmo tempo, seria sensacional, não é mesmo?

Embora o MetaTrader 4 (MT4) tenha um backtester, realizar testes visuais a cada alteração no seu EA (Expert Advisor) pode ser um verdadeiro teste de paciência. Além disso, as opções visuais são bem limitadas. Para quem trabalha com estratégias multi-moeda, a coisa complica ainda mais, já que o backtester não é a ferramenta mais eficiente.

Foi pensando em tudo isso que desenvolvi este indicador open-source para testar visualmente estratégias de trading. É claro que não conseguimos criar um indicador universal que atenda a todas as necessidades, mas a estrutura atual é facilmente adaptável para casos específicos, como é o caso das estratégias multi-moeda.


Um ponto crucial que foi abordado é a gestão do spread. O indicador leva em conta o spread da mesma forma que ocorre nas operações reais e no backtester do MT4. Se você for modificar o indicador para suas necessidades, estude bem a gestão do spread. Caso contrário, pode acabar vendo resultados impressionantes em um gráfico de M1, enquanto a realidade pode ser bem diferente. :-)

Para demonstrar o funcionamento do indicador de teste de estratégia, estou incluindo um indicador de trading que utiliza uma estratégia bem simples. As regras dessa estratégia são baseadas em cruzamentos de médias móveis (MAs) em relação à ação do preço, permitindo que as operações sejam abertas até mesmo antes dos cruzamentos acontecerem, evitando assim o atraso. A estratégia de saída também está presente, utilizando sinais opostos e cruzamentos de médias móveis lentas de forma inversa, além do gerenciamento de stop loss, que foi implementado através de uma estratégia modificada de Chandelier SL. Este indicador serve como um exemplo que pode ser ampliado conforme suas necessidades, mas muitos traders acham que ele já é bom o suficiente para suas operações manuais.

A ideia por trás de todo o sistema

O sistema do indicador foi construído de maneira modular. Primeiro, precisamos implementar uma estratégia de trading em um indicador de trading, onde utilizamos dois buffers para os sinais de entrada, dois para os sinais de saída e um para o stop loss. Um exemplo desse indicador, com funcionalidade completa, é o StrategyIndi_1.0.

Em seguida, podemos avaliar essa estratégia com o indicador de teste de estratégia StrategySym_1.0. Se os resultados não forem satisfatórios, basta otimizar o indicador de trading e visualizar as alterações em tempo real e de forma objetiva, através das estatísticas.


Se, no futuro, você quiser implementar um EA, isso será muito fácil, pois ao chamar um indicador de trading personalizado, você terá todos os sinais de entrada e saída, assim como os valores do stop loss.

Como usar este sistema e adaptá-lo às suas necessidades?

Para usar o sistema como está, basta copiar ambos os indicadores para a pasta MetaTrader\experts\indicators. Não esqueça de reiniciar o terminal antes de utilizá-los para que eles sejam compilados corretamente.

Existem algumas configurações que você pode querer modificar. A maioria é autoexplicativa pelos nomes, então descreverei apenas as outras:

Parâmetros do StrategyIndi:

  • ChandBars = 7: número de barras para a estratégia Chandelier SL.
  • ChandATRFact = 2.0: fator para multiplicar o ATR de longo prazo, a fim de obter a distância Chandelier.
  • RiskPercent = 2.0: risco em porcentagem do saldo disponível da conta para cálculo do lote com base no SL inicial (usado apenas para informações de trading manual).
  • Offset = 10: deslocamento das barras no gráfico para posicionar as setas, em pips de 4 dígitos.
  • BarsBack = 2000: número de barras a serem processadas do passado.
  • AlertSound = "alert.wav": arquivo WAV para alertas sonoros.
  • UseSoundAlert = true: se queremos alertas sonoros (para trading manual).
  • UsePopupAlert = true: se queremos janelas pop-up de alerta (para trading manual).
  • WriteToLog = false: se queremos registrar detalhes no log (para depuração).

Parâmetros do StrategySim:

  • MaxLossAtSL = 200.0: quanto estamos dispostos a perder em cada SL (em moeda da conta).
  • BarsBack = 2000: número de barras a serem processadas para a avaliação da estratégia.
  • WriteToLog = false: se queremos registrar detalhes no log (para depuração).

Se você estiver adaptando o sistema para suas necessidades, deve adicionar ao indicador StrategySym todos os parâmetros do seu próprio indicador StrategyIndi que sejam relevantes para a simulação. Eles serão utilizados posteriormente no método GetIndiSignals e você pode definir valores fixos para outros parâmetros (como UseSoundAlert). Não é necessário alterar mais nada no StrategySim, a menos que você queira usá-lo para outros fins (como estratégias multi-moeda). Nesse caso, espero que os comentários do código e os nomes das variáveis sejam úteis. Se precisar de ajuda, estaremos à disposição, é só entrar em contato conosco pelo endereço abaixo.

Com este sistema, espero contribuir para a objetividade na avaliação de estratégias de trading (seja para sistemas manuais ou EAs), pois as abordagens de marketing atuais costumam ser bastante manipulativas, levando muitos iniciantes a perderem seu suado dinheiro.

Um abraço, Robert

Para comentários, programação em MT4 ou consultoria sobre o assunto, entre em contato pelo e-mail robert [dot] leskovar [at] gmail [dot] com. O site MQLTools mencionado no código-fonte não está mais ativo.

Publicações relacionadas

Comentário (0)