MT5/MQL5: qual é a forma mais correta de obter o fechamento do dia anterior antes da abertura do mercado?

 

Pessoal,

Estou desenvolvendo um EA em MQL5 para ações/FIIs da B3 e preciso obter o fechamento do pregão anterior com segurança no pré-abertura/leilão de abertura.

Notei divergências entre estas fontes:

  • SYMBOL_SESSION_CLOSE

  • SYMBOL_SESSION_PRICE_SETTLEMENT

  • iClose(symbol, PERIOD_D1, 1)

  • CopyRates(symbol, PERIOD_D1, ...) pegando o último candle D1 completo

Em alguns casos:

  • SYMBOL_SESSION_CLOSE = CopyRates(D1 anterior).close

  • mas iClose(D1,1) vem diferente

  • e às vezes o tick disponível no pré-abertura ainda parece ser do dia anterior

Minha dúvida é:

Qual fonte vocês consideram mais correta/confiável para usar como “close do dia anterior” antes da abertura?

Hoje estou mais inclinado a usar o close do último candle D1 completo via CopyRates , mas fiquei na dúvida se o ideal seria usar SYMBOL_SESSION_CLOSE . Porém em muitos casos percebo que o valor considerado não bate com valor real de fechamento do dia anterior.

Alguém já passou por isso? Qual abordagem vocês usam na prática?

 

Eu usaria CopyRates(symbol, PERIOD_D1, ...)

Nem sabia que tinha diferença, vou dar uma olha por aqui. 

procure no google por "series histórica b3" você pode baixar os dados de fechamento e comparar.