[CopyTicksRange] Ticks que não estão no histórico de negociação

 

Olá,

estive efetuando alguns testes aqui com a função CopyTicksRange e percebi que a mesma recupera diversos ticks de negociação (via a flag COPY_TICKS_TRADE) que não estão no histórico de negociações do MT5. Os mesmos não se tratam de trades diretos (trades negociados dentro da mesma corretora), não houve trades diretos na situação a seguir. Segue abaixo um print do histórico de negociações onde são exibidos TODOS os trades para o ativo DOLQ23 (B3 Futuros) para o minuto 09:44 referente ao dia 11.07.2023:

Histórico de Negociações

Após executar o script abaixo com a chamada da função CopyTicksRange foram recuperados ticks de negociação que não constam no histórico (print acima), isso pode ser facilmente notado pelos volumes de negociação que não aparecem no histórico de negociação, lembrando que a execução foi para o mesmo horário e data, segue abaixo o script e o resultado da execução do mesmo no log:

void OnStart()
  {
   MqlTick ticks[];

   datetime start = D'2023.07.11 09:44';
   datetime end   = start + PeriodSeconds(PERIOD_M1);

   ulong from_msc = start*1000;
   ulong to_msc = (end*1000) - 1;

   CopyTicksRange(_Symbol,ticks,COPY_TICKS_TRADE,from_msc,to_msc);

   for(int i=0; i<ArraySize(ticks); i++)
     {
      bool is_direct = ((ticks[i].flags&TICK_FLAG_BUY)>0 && (ticks[i].flags&TICK_FLAG_SELL)>0);
      if(is_direct)
         continue;

      Print(ticks[i].time," | ",ticks[i].last," | ",ticks[i].volume_real," | BUY: ",(ticks[i].flags&TICK_FLAG_BUY)>0," | SELL: ",(ticks[i].flags&TICK_FLAG_SELL)>0," | VOLUME: ",(ticks[i].flags&TICK_FLAG_VOLUME)>0," | LAST: ",(ticks[i].flags&TICK_FLAG_LAST)>0," | ASK: ",(ticks[i].flags&TICK_FLAG_ASK)>0," | BID: ",(ticks[i].flags&TICK_FLAG_BID)>0);
     }
//---
  }




Alguém já passou por alguma situação desse tipo e tem ideia do que pode ter ocorrido ou como pode ser resolvido? Creio que seja um problema com a função CopyTicksRange.
Estava tentando criar um indicador de volume financeiro e acabei me deparando com essa situação.

Grato pela atenção.
 

Olá Tiago.

Vc tem aí ticks com o campo flags preenchido com 84 (SELL+VOLUME+ASK), 80 (SELL+VOLUME) e 49 (BUY+VOLUME+BID).

Eu já passei por essa situação. Veja essa thread aqui: 
Diferenças nos atributos dos ticks entre duas corretoras - Investimento em ações, mercados futuros, mercado de opções e outros instrumentos financeiros - Fórum de negociação algorítmica MQL5

Diferenças nos atributos dos ticks entre duas corretoras
Diferenças nos atributos dos ticks entre duas corretoras
  • 2023.06.13
  • www.mql5.com
Investimento em ações, mercados futuros, mercado de opções e outros instrumentos financeiros: Diferenças nos atributos dos ticks entre duas corretoras
 
Trader_Patinhas #:

Olá Tiago.

Vc tem aí ticks com o campo flags preenchido com 84 (SELL+VOLUME+ASK), 80 (SELL+VOLUME) e 49 (BUY+VOLUME+BID).

Eu já passei por essa situação. Veja essa thread aqui: 
Diferenças nos atributos dos ticks entre duas corretoras - Investimento em ações, mercados futuros, mercado de opções e outros instrumentos financeiros - Fórum de negociação algorítmica MQL5

Interessante, irei analisar com mais cuidado e a depender dou um novo retorno aqui nesse post. Também estou usando a corretora Órama.

Obrigado @Trader_Patinhas.