OnBookEvent mais lento que OnTick?

 

Pessoal,

nestes últimos dias fiz alguns testes usando um EA bastante simples.

Nestes testes eu tentei capturar a quantidade de vezes em que o OnBookEvent é chamado em comparação com o OnTick.

E para minha surpresa o OnTick é chamado cerca de 3 vezes mais do que o OnBookEvent, sendo que pelo meu entendimento deveria ocorrer justamente o contrário, já que teoricamente o OnBookEvent é chamado a cada mudança no Book todo, e o OnTick somente a cada négocio fechado.

Também fiz um teste somente com o OnBookEvent em ativos diferentes(WIN e WDO), e observei que mesmo com WIN sendo mais movimentado, e o próprio WDO em horários diferentes, o OnBookEvent era chamado de forma constante, entre 165 e 168 vezes por minuto.

Fiz os mesmos testes na AWS e o resultado foi o mesmo.

Eu gostaria de saber dos amigos se isso é alguma limitação da plataforma, da minha corretora(XP) ou se não consegui perceber algum detalhe.

Desde já agradeço a gentileza dos que se dispuserem a ajudar.

#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

int tickcount=0;
int domcount=0;

int OnInit()
  {
   MarketBookAdd(_Symbol);
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   MarketBookRelease(_Symbol);
   Print(tickcount);
   Print(domcount);
  }

void OnTick()
  {
   tickcount++;
  }

void OnBookEvent(const string &symbol)
  {
   domcount++;
  }
 
amatos:

Pessoal,

nestes últimos dias fiz alguns testes usando um EA bastante simples.

Nestes testes eu tentei capturar a quantidade de vezes em que o OnBookEvent é chamado em comparação com o OnTick.

E para minha surpresa o OnTick é chamado cerca de 3 vezes mais do que o OnBookEvent, sendo que pelo meu entendimento deveria ocorrer justamente o contrário, já que teoricamente o OnBookEvent é chamado a cada mudança no Book todo, e o OnTick somente a cada négocio fechado.

Também fiz um teste somente com o OnBookEvent em ativos diferentes(WIN e WDO), e observei que mesmo com WIN sendo mais movimentado, e o próprio WDO em horários diferentes, o OnBookEvent era chamado de forma constante, entre 165 e 168 vezes por minuto.

Fiz os mesmos testes na AWS e o resultado foi o mesmo.

Eu gostaria de saber dos amigos se isso é alguma limitação da plataforma, da minha corretora(XP) ou se não consegui perceber algum detalhe.

Desde já agradeço a gentileza dos que se dispuserem a ajudar.

  Desde o mês de setembro/2020 verifiquei que os números de eventos OnBookEvent do livro das corretoras ligadas à XP* (XP, Clear e Rico) reduziu bastante. Mas, apesar de ter havido a redução, a prínicipio, não houve perda de informação nos primeiros níveis do livro com relação ao MT5 de outras corretoras e visualmente com o livro de outras plataformas (Profit e Tryd). Não tenho os detalhes técnicos do servidor, mas acredito que isso possa ser configurado para tentar reduzir o trafego melhorando o desempenho do mesmo.

*mesmo servidor