Discussão do artigo "Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5"

 

Novo artigo Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5 foi publicado:

A volatilidade tende a atingir picos em torno de eventos de notícias de alto impacto, criando oportunidades significativas de breakout. Neste artigo, iremos delinear o processo de implementação de uma estratégia de breakout baseada em calendário. Abordaremos tudo, desde a criação de uma classe para interpretar e armazenar dados do calendário, o desenvolvimento de backtests realistas utilizando esses dados e, por fim, a implementação do código de execução para negociação ao vivo.

Embora a comunidade MQL5 ofereça inúmeros artigos e bases de código sobre o tratamento de calendários do MetaTrader 5 em backtesting, esses recursos podem ser excessivamente complexos para iniciantes que desejam desenvolver uma estratégia simples de breakout. Este artigo busca simplificar o processo de criação de uma estratégia utilizando o calendário de notícias no MQL5 e fornecer um guia abrangente para traders.

A motivação para criar uma estratégia de negociação de breakout baseada em notícias de calendário reside em aproveitar o momento previsível de eventos de notícias programados — como relatórios econômicos, divulgações de resultados ou anúncios geopolíticos — que frequentemente desencadeiam volatilidade significativa no mercado e movimentos de preço. Ao antecipar esses eventos, os traders buscam capitalizar oportunidades de breakout quando os preços se movem decisivamente além de níveis estabelecidos de suporte ou resistência após a divulgação da notícia. Essa estratégia procura maximizar os lucros provenientes do aumento de liquidez e momentum em torno das divulgações de notícias, ao mesmo tempo em que emprega uma gestão de risco disciplinada para navegar pela incerteza elevada. Em última análise, ela fornece uma abordagem estruturada para explorar os padrões e reações que normalmente ocorrem nos mercados em torno de eventos-chave do calendário.


Autor: Zhuo Kai Chen

 

Olá, isso é ótimo, obrigado! Estou um pouco confuso com relação à inserção de várias moedas. Tentei:

"USD"; "GBP"

"USD"; "GBP".

"USD" "GBP";

Somente o último não produz um erro, mas não tenho certeza se funciona corretamente. Talvez ele só pegue o dólar americano. Você pode me orientar?

 
hrawoodward #:

Olá, isso é ótimo, obrigado! Estou um pouco confuso com relação à inserção de várias moedas. Já tentei:

"USD"; "GBP"

"USD"; "GBP".

"USD"; "GBP";

Somente o último não produz um erro, mas não tenho certeza se funciona corretamente. Talvez ele só pegue o dólar americano. Você pode me orientar?

Olá, se você observar o código na função de inicialização, ele dividirá os dois pontos e armazenará moedas diferentes no atributo do objeto curr. A primeira deve funcionar, embora você não precise adicionar as aspas. O processo de armazenamento armazenará todos os eventos no arquivo binário, independentemente de seus atributos. Somente na lógica de negociação filtraremos os atributos. Aqui está o que eu executei agora:

configurações

resultado

 
Parece que essa implementação não considera as mudanças de fuso horário (DST) no servidor do corretor e, portanto, produz resultados imprecisos durante o backtesting e as otimizações.
 
Stanislav Korotky #:
Parece que essa implementação não considera as mudanças de fuso horário (DST) no servidor do corretor e, portanto, produz resultados imprecisos durante o backtesting e as otimizações.

Obrigado por me lembrar disso! Esqueci de considerar isso no artigo porque usei um corretor que não tem DST para demonstração.

https://www.mql5.com/pt/book/advanced/calendar

A partir dessa fonte, sabemos que os dados do calendário são fornecidos pelo lado da MQL5 e são automaticamente ajustados ao fuso horário atual do Timetradeserver() da corretora, o que significa que, para corretoras com horário de verão, seria necessário ajustar meu código e levá-lo em consideração.

MQL5 Book: Advanced language tools / Economic calendar
MQL5 Book: Advanced language tools / Economic calendar
  • www.mql5.com
When developing trading strategies, it is desirable to take into account the fundamental factors that affect the market. MetaTrader 5 has a...
 
Zhuo Kai Chen #:

A partir dessa fonte, sabemos que os dados do calendário são fornecidos pelo lado da MQL5 e são automaticamente ajustados ao fuso horário atual do Timetradeserver() da corretora, o que significa que, para corretoras com horário de verão, seria necessário ajustar meu código e levá-lo em consideração.

Como a implementação publicada no livro está um pouco desatualizada, a história real (atualizada) pode ser encontrada no blog e na base de código (indicador) e na base de código (script).

Backtesting news trading based on economic calendar history with adjusted timings
Backtesting news trading based on economic calendar history with adjusted timings
  • 2025.05.14
  • www.mql5.com
This blogpost presents some further results of experiments with news trading based on the built-in calendar of MetaTrader 5 and MQL5. Originally, the idea was implemented in the algotrading book as a
 
Irmão, esse arquivo CalendarHistory.mqh não compila, 4 erros, 94, 106, 114, 122 linhas.