Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Olá MoneyCaptain
>>> Na verdade, o servidor da M*** registrou o mesmo movimento da O***, porém, com os milissegundos diferentes, veja novamente e cheque os ticks de "17:09:09.578" da M***.
Vc tem razão. Os ticks faltantes estão logo ali adiante . Observei melhor agora e vi que, em outros casos que vi de ticks aparentemente faltantes, ele realmente aparecem um pouco antes ou um pouco depois.
>>> Nesse caso específico, muito possivelmente representa o volume bid existente no book no momento da alteração. Segue um trecho do livro no segundo 17:09:09 no formato hora-tipo-preço-volume-tipo-preço-volume:
Show, MoneyCaptain! Embora não haja documentação oficial, tudo indica que é isso mesmo! Parece que, na O**, toda vez que o bid/ask é alterado, o tick de alteração informa o volume ofertado no novo bid/ask. Obrigado pela confirmação!
Uma curiosidade: de onde você obtém esse histórico dos volumes ofertados no book em cada horário?
O meu EA gera um log com os dados do book (https://www.mql5.com/pt/docs/marketinformation/marketbookget) entre outros status do cliente MT5 qdo executa alguma atividade no servidor, então foi uma grande coincidência estar operando durante o horário que vc fez suas análises em WDON23.
O meu EA gera um log com os dados do book (https://www.mql5.com/pt/docs/marketinformation/marketbookget) entre outros status do cliente MT5 qdo executa alguma atividade no servidor, então foi uma grande coincidência estar operando durante o horário que vc fez suas análises em WDON23.
Legal MoneyCaptain.
Eu tb já fiz um robozinho assim. Mas na época eu acabei não usando informações do book, então nunca deixei ele rodando muito tempo.
Agora tenho intenção de incluir informações do book, mas, como uso redes neurais, precisaria de uma base de dados histórica extensa pra treinamento. Teria que deixar o robô coletando dados direto durante muito tempo, pra ter número suficiente de amostras.
Qdo vc respondeu de bate-pronto com os dados do WDO daquele momento, imaginei que vc tivesse acesso a alguma base histórica.
Há uns 2 anos atrás eu procurei muito por uma base histórica de movimento de book e não encontrei, nem mesmo me dispondo a pagar.
Não sei se hoje já existe. Alguém sabe?
Boa tarde traders, então esse assunto é muito polemico e estou pesquisando muito a fundo até porque tenho uma empresa que faz algoritmos. Estamos vendo a possibilities de trazer um Data Feed de fora como o da Nelogica ou da Cedro tech.
Pergunta, alguém já chegou a fazer esse tipo de operação de trazer uma biblioteca de dados Tick a Tick de terceiros dentro do MT5 para fazer Backtest e Testes de Robustez mais precisos? Estou já estudando essa possibilidade, como foi colocado aqui, tenho o da XP e é uma m....
abraço e bons traders
Boa tarde traders, então esse assunto é muito polemico e estou pesquisando muito a fundo até porque tenho uma empresa que faz algoritmos. Estamos vendo a possibilities de trazer um Data Feed de fora como o da Nelogica ou da Cedro tech.
Pergunta, alguém já chegou a fazer esse tipo de operação de trazer uma biblioteca de dados Tick a Tick de terceiros dentro do MT5 para fazer Backtest e Testes de Robustez mais precisos? Estou já estudando essa possibilidade, como foi colocado aqui, tenho o da XP e é uma m....
abraço e bons traders
Eu já entrei em contato pra saber, tanto com a Nelogica quanto com a Cedro pra ver isso. O formato dos dados nesses sinais proprietários é diferente do MT5. Vc teria que construir um script que colete os dados da API de um desses provedores e transforme os dados recebidos para o formato usado no Backtest do MT5.
Um outro ponto é que, na minha visão, só faz sentido usar no backtest o sinal de algum provedor externo ao servidor MT5 da corretora se o robô de negociação também for modificado para negociar em tempo real usando o sinal desse mesmo provedor. Caso contrário, de que valeria ter um resultado simulado num cenário de dados "ok" desse provedor externo, se na prática o robô iria negociar com base nos dados "não-ok" do servidor MT5 da corretora?
Eu já entrei em contato pra saber, tanto com a Nelogica quanto com a Cedro pra ver isso. O formato dos dados nesses sinais proprietários é diferente do MT5. Vc teria que construir um script que colete os dados da API de um desses provedores e transforme os dados recebidos para o formato usado no Backtest do MT5.
Um outro ponto é que, na minha visão, só faz sentido usar no backtest o sinal de algum provedor externo ao servidor MT5 da corretora se o robô de negociação também for modificado para negociar em tempo real usando o sinal desse mesmo provedor. Caso contrário, de que valeria ter um resultado simulado num cenário de dados "ok" desse provedor externo, se na prática o robô iria negociar com base nos dados "não-ok" do servidor MT5 da corretora?
Concordo!
Eu já entrei em contato pra saber, tanto com a Nelogica quanto com a Cedro pra ver isso. O formato dos dados nesses sinais proprietários é diferente do MT5. Vc teria que construir um script que colete os dados da API de um desses provedores e transforme os dados recebidos para o formato usado no Backtest do MT5.
Um outro ponto é que, na minha visão, só faz sentido usar no backtest o sinal de algum provedor externo ao servidor MT5 da corretora se o robô de negociação também for modificado para negociar em tempo real usando o sinal desse mesmo provedor. Caso contrário, de que valeria ter um resultado simulado num cenário de dados "ok" desse provedor externo, se na prática o robô iria negociar com base nos dados "não-ok" do servidor MT5 da corretora?
Realmente, não valeria de muita coisa. A impressão que tenho é que se não encontrarmos uma fonte de dados de qualidade desperdiçaremos um tempo absurdo em codificação, testes e análises que por fim não convergem para a realidade e quase inviabilizam nossos projetos.
Gostaria de enriquecer a discussão trazendo um quadro comparativo que montei. Ele apresenta os ticks do WINQ23 antes das 9h e os primeiros salvos logo após as 9h para compararmos os que foram salvos em tempo real e depois rodando o backtest.
Minuto
Minuto
Alguém aí teria resposta para alguma das dúvidas acima diante do quadro?
Realmente, não valeria de muita coisa. A impressão que tenho é que se não encontrarmos uma fonte de dados de qualidade desperdiçaremos um tempo absurdo em codificação, testes e análises que por fim não convergem para a realidade e quase inviabilizam nossos projetos.
Gostaria de enriquecer a discussão trazendo um quadro comparativo que montei. Ele apresenta os ticks do WINQ23 antes das 9h e os primeiros salvos logo após as 9h para compararmos os que foram salvos em tempo real e depois rodando o backtest.
Oi Daniel.
No caso vc está comparando os eventos que ocorrem durante o leilão de abertura. Vc utiliza os eventos do leilão pra tomar decisões de negociação?
Oi Daniel.
No caso vc está comparando os eventos que ocorrem durante o leilão de abertura. Vc utiliza os eventos do leilão pra tomar decisões de negociação?
Boa noite Trader_Patinhas,
Obrigado pelo retorno. Na verdade não, eu coloquei as informações do início do dia, quando ainda está acontecendo o leilão, para facilitar a comparação entre os ticks. Quando observamos logo no início do dia percebemos que os ticks do leilão são parecidos, mas a partir das 9h são completamente diferentes.
Bom dia.
Eu estava investigando diferenças de comportamento do meu algoritmo entre os dados de tick das corretoras Orama e Modal e descobri que a razão é esta aqui:
Na imagem acima temos o log da Orama à esquerda e o log da Modal à direita.
Em ambos, os eventos 56 (agressão de compra) e 88 (agressão de venda) são praticamente idênticos 99,9% do tempo.
Os eventos de alteração de BID/ASK (marcados no retângulo vermelho acima) também se correspondem quase perfeitamente nos timestamps e nos preços, mas com diferenças grandes nos flags e no volume.
O servidor MT5 da Orama parece ativar o TICK_FLAG_BUY (valor 32) e TICK_FLAG_VOLUME (valor 16) junto com o TICK_FLAG_BID (valor 2), totalizando 50 no campo "Flags" nos eventos em que o servidor MT5 da Modal ativa somente o TICK_FLAG_BID (valor 2).
E parece também ativar o TICK_FLAG_SELL (64) e TICK_FLAG_VOLUME (16) junto com o TICK_FLAG_ASK (4), totalizando 84 no campo "Flags" nos eventos em que o servidor MT5 da Modal ativa somente o TICK_FLAG_ASK (4).
Até aí tudo bem, foi só fazer uma pequena adaptação de lógica para funcionar igual nas duas corretoras.
Mas o que me deixa intrigado são esses valores que a Orama preenche no campo "Volume" (10, 191, 2 e 466 na imagem acima), dando a entender que houve negociação do ativo nesses eventos, ao passo que a Modal indica que houve somente alteração de BID/ASK.
E o mais bizarro é que o desempenho do meu algoritmo MELHORA de forma consistente e reproduzível quando esses volumes com flags 50 e 84, que só existem na Orama, são incluídos no cálculo dos indicadores usados no meu modelo preditivo, o que parece indicar que essa informação deve ter algum valor.
Alguém sabe o que esses volumes significam? Será que é negociação RLP, negócio direto, volume ofertado no book ???
Patinhas,
Segue meu entendimento da questão.
Primeiro, o que consta na documentação sobre o MqlTick.
You can analyze the tick flags to find out what data have been changed exactly:
+ TICK_FLAG_BID – tick has changed a Bid price
+ TICK_FLAG_ASK – a tick has changed an Ask price
+ TICK_FLAG_LAST – a tick has changed the last deal price
+ TICK_FLAG_VOLUME – a tick has changed a volume
+ TICK_FLAG_BUY – a tick is a result of a buy deal
+ TICK_FLAG_SELL – a tick is a result of a sell deal
Resumindo,
1) os 2 últimos flags identificam se é compra ou venda,
2) os 4 primeiros indicam se o respectivo valor MUDOU em relação ao tick anterior.
Ou seja, se um valor não mudou, prevalece o valor do tick precedente.
Sendo assim,
flag 50: compra + volume + bid
flag 84: venda + volume + ask
Ou seja, cada uma das 4 operações destacadas representa uma compra ou venda dos volumes indicados no valor do tick.last precedente (no caso 4796.0), que por acaso coincidem com uma mudança do bid ou do ask (ou que são agregadas pela corretora num único tick).
Realmente, não valeria de muita coisa. A impressão que tenho é que se não encontrarmos uma fonte de dados de qualidade desperdiçaremos um tempo absurdo em codificação, testes e análises que por fim não convergem para a realidade e quase inviabilizam nossos projetos.
Gostaria de enriquecer a discussão trazendo um quadro comparativo que montei. Ele apresenta os ticks do WINQ23 antes das 9h e os primeiros salvos logo após as 9h para compararmos os que foram salvos em tempo real e depois rodando o backtest.
Minuto
Minuto
Alguém aí teria resposta para alguma das dúvidas acima diante do quadro?
Daniel,
Os ticks do backtest são ticks gerados, embora supostamente "baseados em ticks reais". Não são.