Alguém já experenciou esse problema?
Tenho um sistema para copiar ticks em tempo real que funciona perfeitamente na corretora Genial e grupo XP. Já faz algum tempo que uso esse sistema.
Como tenho verificado a questão de disponibilidade de dados no book em diferentes corretoras. acabei me deparando com o fato de CopyTicks não funciona corretamente no BTG, uma vez que somente quando uso COPY_TICKS_TRADE consigo o resultado esperado. Quando uso COPY_TICKS_ALL ou uma combinação COPY_TICKS_TRADE | COPY_TICKS_INFO, perde-se muitos ticks (as vezes parece até que tem um delay, mas na verdade o aparente delay é ticks faltantes), mas se copio os ticks posteriomente (segundos ou minutos depois) os dados vem corretamente.
Acredito que o problema seja causado durante a sincronização dos dados do servidor MT5 da corretora com o cache/memória do cliente MT5, a função CopyTicks utiilza (segundo a documentação) um cache onde são armazenados os últimos 4096 ticks dos ativos gerais e 65536 dos ticks para os ativos que estejam listados no Market Depth do cliente, caso haja mais ticks que o tamanho do cache então a memória é usada, e caso a solicitação do "from" seja superior ao existente na memória então seria usado os arquivos da pasta de ticks do ativo no cliente, ou seja, a chamada da função não interage diretamente com o servidor. Além disso, todas essas estruturas são sincronizadas automaticamente entre cliente/servidor, então imagino que algum problema deve ocorrer na organização/transferencia dos ticks feitas pelo servidor da corretora, mas mesmo com uma sincronização incompleta, novos ticks são enviados para as estruturas, por isso, a chamada da função retorna como sucesso mesmo com os ticks faltando. E como o cliente MT5 não tem como saber que estão faltando ticks, uma vez que são gerados pelo servidor, então é o servidor que deve identificar o problema e solicitar uma atualização dos ticks faltantes nas estruturas, por isso que eles aparecerem corretamente depois de um tempo na chamada da função. Bom, essa é a minha hipótese.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Tenho um sistema para copiar ticks em tempo real que funciona perfeitamente na corretora Genial e grupo XP. Já faz algum tempo que uso esse sistema.
Como tenho verificado a questão de disponibilidade de dados no book em diferentes corretoras. acabei me deparando com o fato de CopyTicks não funciona corretamente no BTG, uma vez que somente quando uso COPY_TICKS_TRADE consigo o resultado esperado. Quando uso COPY_TICKS_ALL ou uma combinação COPY_TICKS_TRADE | COPY_TICKS_INFO, perde-se muitos ticks (as vezes parece até que tem um delay, mas na verdade o aparente delay é ticks faltantes), mas se copio os ticks posteriomente (segundos ou minutos depois) os dados vem corretamente.
Alguém já experenciou esse problema?
Fiz uma versão mais simplificada do sistema e dessa vez coloquei numa tabela igual times and sales pra comparar. Aí coloco lado a lado pra comparar. Testando em INDJ25 que é mais lento e fica mais fácil de acompanhar.
Esse é o resultado na XP.
Esse é no BTG

No BTG usando apenas COPY_TICKS_TRADE