Somatório do volume de compra e venda - medir agressão ao book

 

Olá pessoal,

É possível eu pegar o volume real efetivamente negociado de determinado ativo? Ou seja, quero fazer o somatório ao longo do dia de quantas ações ou contratos foram executados através de ordens de compra e de ordens de venda. Esta seria uma forma de medir a agressão dos players, ou existe uma forma mais fácil?

Obrigado

 
Chuckero:

Olá pessoal,

É possível eu pegar o volume real efetivamente negociado de determinado ativo? Ou seja, quero fazer o somatório ao longo do dia de quantas ações ou contratos foram executados através de ordens de compra e de ordens de venda. Esta seria uma forma de medir a agressão dos players, ou existe uma forma mais fácil?

Obrigado

Olá, Chuckero.

Podes usar a função CopyTicks ou CopyTicksRange e fazer cálculos com os ticks de agressão.

Agora isso a que se refere não é volume real efetivamente negociado. É diferença entre agressões de compra e de venda ou, se preferir, à venda e à compra respectivamente.

Atenciosamente. 

 

Boa noite Chuckero,

Foi como o Lucas Ramos disse, você pode estar utilizando as funções que ele mencionou.

Com elas você tem acesso aos dados do Time & Trades, que por sua vez, se calculado corretamente você obtém o volume real do período desejado, saldo de agressões do dia, delta da barra, etc....

Depois dê uma olhada nos produtos em meu perfil, você vai encontrar exatamente o que está procurando, lá tem um vídeo mostrando o seu funcionamento, acredito que possa te ajudar ou dar ideias de como você pode fazer a implementação.

Um abraço,

Romeu. 

 
Lucas Ramos:

Olá, Chuckero.

Podes usar a função CopyTicks ou CopyTicksRange e fazer cálculos com os ticks de agressão.

Agora isso a que se refere não é volume real efetivamente negociado. É diferença entre agressões de compra e de venda ou, se preferir, à venda e à compra respectivamente.

Atenciosamente. 


Boa tarde Lucas,

Para visualizar o volume efetivamente negociado estou utilizando o SymbolInfoTick e CopyTicks nestes primeiros testes.

Utilizando as flags (tick_array[i].flags) consigo pegar e identificar claramente o tipo do tick, porém, comparando com a tabela de negócios do MetaTrader (Livro de Ofertas / DOM), para cada registro no livro (tape) do MT5 aparecem vários ticks pra mim, por exemplo, um registro de 2000 contratos de Sell do BOVA11 no tape do MT5 no meu código peguei 2 ticks do tipo LAST e VOLUME, sem indicação da direção de compra ou venda. E isso se repete para praticamente todos os registros (as vezes tem vários de venda às vezes vários de compra). Não consegui identificar uma lógica para filtrar isso e pegar a direção correta.

É isso mesmo ou eu estou esquecendo de algo?

Abrigado

 
Depois de muitos testes e buscas na internet, aparentemente encontrei a resposta em https://www.mql5.com/pt/forum/90503

Primeiramente utilizar COPY_TICKS_TRADE no CopyTicks(), depois filtrar da seguinte forma:

bool buy       = tick.flags == 24 && tick.last >= tick.ask;
bool sell      = tick.flags == 24 && tick.last <= tick.bid;
Times and Sales
Times and Sales
  • www.mql5.com
Olá pessoal, eu comecei a fazer um indicador que puxa que o histórico de negócios, porém eu estou com um problema na hora de mostrar o resultado n...
 
Boa Gustavo, facilitou de mais, valeu!
Razão: