![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Daniel,
Os ticks do backtest são ticks gerados, embora supostamente "baseados em ticks reais". Não são.
Muito obrigado pelo retorno @Filipe_Almeida!
Mesmo quando realizamos o procedimento explicado no link abaixo?
https://www.mql5.com/pt/forum/388772/page2#comment_27844101
Isso depende da corretora ou vai ser assim em todas? Alguma sugestão para resolver o problema de ter um resultado em tempo real e depois rodar o mesmo algoritmo no backtest e ter outro reultado?
Patinhas,
Segue meu entendimento da questão.
(...)
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).
Pois é Filipe.
Pelo que está escrito na documentação do MQL5, a interpretação correta deveria ser exatamente essa que vc descreveu.
O problema é que, apesar de os flags de compra/venda estarem ativos e o volume preenchido, a realidade é que não ocorreu nenhum negócio nesses eventos 50 e 84. Isso pode ser verificado facilmente comparando com os dados da própria B3. O volume total de flags 56, 88 e 120 no dia é muito próximo do volume total negociado no dia informado pela B3. Porém, se incluirmos os volumes desses eventos 50 e 84, encontraremos um total muito maior que o volume informado pela B3.
Pois é Filipe.
Pelo que está escrito na documentação do MQL5, a interpretação correta deveria ser exatamente essa que vc descreveu.
O problema é que, apesar de os flags de compra/venda estarem ativos e o volume preenchido, a realidade é que não ocorreu nenhum negócio nesses eventos 50 e 84. Isso pode ser verificado facilmente comparando com os dados da própria B3. O volume total de flags 56, 88 e 120 no dia é muito próximo do volume total negociado no dia informado pela B3. Porém, se incluirmos os volumes desses eventos 50 e 84, encontraremos um total muito maior que o volume informado pela B3.
Um tema de cuja relevância não estou certo são as Dark Pools. Vide por exemplo o link abaixo.
https://www.amazon.com/Dark-Pools-Machine-Traders-Rigging/dp/0307887189/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1688553755&sr=8-1
Um outro livro que também aborda o tema, embora mais "en passant" é:
https://www.amazon.com/Flash-Boys-Wall-Street-Revolt/dp/0393351599/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1688554095&sr=8-1As Dark Pools são reservas de liquidez negociadas internamente nas corretoras, mas invisíveis nos Order Books públicos. As práticas descritas acima se referem ao mercado norte-americano, mas, supondo que sejam lucrativas, não sei por que não seriam praticadas no mercado local.
Uma outra opção, como vc mesmo mencionou, é o RLP. Considerando que no RLP a corretora é a contraparte dos contratos negociados, talvez essas transações aconteçam numa Dark Pool. E talvez não sejam publicadas para o mercado. Mesmo que o sejam, a posteriori, elas não fariam parte do fluxo de ticks de tempo real das outras corretoras.
Muito obrigado pelo retorno @Filipe_Almeida!
Mesmo quando realizamos o procedimento explicado no link abaixo?
https://www.mql5.com/pt/forum/388772/page2#comment_27844101
Isso depende da corretora ou vai ser assim em todas? Alguma sugestão para resolver o problema de ter um resultado em tempo real e depois rodar o mesmo algoritmo no backtest e ter outro reultado?
A viabilidade do processo descrito no link que vc refere depende da origem usada no passo denominado "Colete os ticks".
O histórico de ticks mantido no servidor do MetaTrader abrange no máximo os contratos vigentes. Para além disso, o que é guardado é o histórico de barras de 1 minuto. Quando ticks são solicitados para um período além do contrato vigente, as barras de 1 minuto são usadas como base para gerar ticks por um processo descrito em
https://www.mql5.com/en/articles/75
Ou seja, se ticks reais são necessários, mesmo para usá-los num processo como o acima referido, eles precisam ser salvos regularmente e armazenados.
Um ponto importante é: ticks reais são necessários? Para algoritmos que usem escalas de minutos, provavelmente não.
A viabilidade do processo descrito no link que vc refere depende da origem usada no passo denominado "Colete os ticks".
O histórico de ticks mantido no servidor do MetaTrader abrange no máximo os contratos vigentes. Para além disso, o que é guardado é o histórico de barras de 1 minuto. Quando ticks são solicitados para um período além do contrato vigente, as barras de 1 minuto são usadas como base para gerar ticks por um processo descrito em
https://www.mql5.com/en/articles/75
Ou seja, se ticks reais são necessários, mesmo para usá-los num processo como o acima referido, eles precisam ser salvos regularmente e armazenados.
Um ponto importante é: ticks reais são necessários? Para algoritmos que usem escalas de minutos, provavelmente não.
Muito obrigado pelo retorno @Filipe_Almeida!
Toda a minha lógica é baseada em ticks, sendo assim, preciso dos ticks reais pois claramente os ticks gerados dão resultados absurdamente diferentes, geralmente muito positivos deturpando toda a análise. Acredito que seja extremamente infrutífero empenhar esforço neste caminho, realizar análises baseadas em ticks gerados sem mudar completamente a minha lógica para movimentos de 1 minuto.
Em tudo que eu li não tinha visto esta afirmação ainda: "se ticks reais são necessários, mesmo para usá-los num processo como o acima referido, eles precisam ser salvos regularmente e armazenados". Imaginei que alguma corretora nos entregasse os ticks reais em tempo real e também no backtest, estou buscando isso para não ter que partir para um caminho onde tenho que desenvolver uma solução para salvar ticks reais para poder testar EAs.
Como nem as corretoras nem a MetaQuotes oferecem um suporte suficientemente capacitado para tirar estes tipos de dúvida, tenho pesquisado aqui no fórum e na internet para ver se identifico uma corretora que nos ofereça isso. Afinal, todos os que possuem alguma lógica baseada em ticks precisam disso, caso contrário estarão perdendo seu tempo com codificação, teste e análise.
Alguém aí trabalha com alguma corretora que nos ofereça exatamente os mesmos ticks em tempo real e para o backtest? Só dá para falar que não existe se já houver testado em todas!
volume informado pela B3
Boa tarde @Trader_Patinhas,
Você comentou: "O volume total de flags 56, 88 e 120 no dia é muito próximo do volume total negociado no dia informado pela B3."
Você poderia nos passar o link da publicação destes dados para que façamos também esta conferência na busca por uma fonte de ticks confiável?
Boa tarde @Trader_Patinhas,
Você comentou: "O volume total de flags 56, 88 e 120 no dia é muito próximo do volume total negociado no dia informado pela B3."
Você poderia nos passar o link da publicação destes dados para que façamos também esta conferência na busca por uma fonte de ticks confiável?
Oi Daniel.
No site da B3 vc encontra o histórico de negociação dos últimos 20 dias:
https://arquivos.b3.com.br/negocios/?lang=pt
Acredito que seja um bom referencial para apurar a qualidade do "tick data" das corretoras. O problema é que esses dados não tem os "flags" (BUY, SELL, etc.).
Uma segunda observação: vc consegue recuperar o histórico de ticks REAIS das corretoras por meio da função copy_ticks(). Esses ticks estão sujeitos a esses problemas bizarros de cada corretora, mas são ticks teoricamente REAIS (possivelmente os mesmos que o servidor MT5 da corretora emitiu em tempo real), e não ticks "simulados" com base em barras de 1 minutos que o testador de estrategias do MT5 usa no backtest.
Se vc faz operações de prazo curtíssimo ao ponto de o seu algoritmo de trading ser sensível aos ticks reais, te recomendo esquecer o testador de estratégias do MT5 e construir o seu próprio testador com base nos ticks reais.
Uma última observação:
Antigamente (até final de 2019) a B3 disponibilizava em um servidor FTP da BMF um longo histórico de negócios, com todo o detalhamento, inclusive as corretoras envolvidas em cada contraparte, além de um histórico completo do Book, ordem a ordem, incluindo alterações e cancelamentos de ordens. Infelizmente em 2020 eles desativaram esse servidor FTP e, quando entrei em contato com o setor de marketing data da B3 eles me informaram que esses dados passariam a ser comercializados por empresas parceiras. Os dados de tick eu baixo gratuitamente de diversas corretoras, usando a função copy_ticks() mesmo. Esses dados têm imperfeições, mas como eu uso deep learning, se a grande maioria dos dados estiverem corretos já funciona pra mim. Já os dados de Book eu não tenho encontrado em nenhuma "empresa parceira" da B3, mesmo me dispondo a pagar por eles.
Recentemente abri uma thread sobre isso, mas ninguém até hoje me respondeu:
Histórico de Book de Ofertas B3 - Geral - Fórum de negociação algorítmica MQL5
Oi Daniel.
No site da B3 vc encontra o histórico de negociação dos últimos 20 dias:
https://arquivos.b3.com.br/negocios/?lang=pt
Acredito que seja um bom referencial para apurar a qualidade do "tick data" das corretoras. O problema é que esses dados não tem os "flags" (BUY, SELL, etc.).
Uma segunda observação: vc consegue recuperar o histórico de ticks REAIS das corretoras por meio da função copy_ticks(). Esses ticks estão sujeitos a esses problemas bizarros de cada corretora, mas são ticks teoricamente REAIS (possivelmente os mesmos que o servidor MT5 da corretora emitiu em tempo real), e não ticks "simulados" com base em barras de 1 minutos que o testador de estrategias do MT5 usa no backtest.
Se vc faz operações de prazo curtíssimo ao ponto de o seu algoritmo de trading ser sensível aos ticks reais, te recomendo esquecer o testador de estratégias do MT5 e construir o seu próprio testador com base nos ticks reais.
Uma última observação:
Antigamente (até final de 2019) a B3 disponibilizava em um servidor FTP da BMF um longo histórico de negócios, com todo o detalhamento, inclusive as corretoras envolvidas em cada contraparte, além de um histórico completo do Book, ordem a ordem, incluindo alterações e cancelamentos de ordens. Infelizmente em 2020 eles desativaram esse servidor FTP e, quando entrei em contato com o setor de marketing data da B3 eles me informaram que esses dados passariam a ser comercializados por empresas parceiras. Os dados de tick eu baixo gratuitamente de diversas corretoras, usando a função copy_ticks() mesmo. Esses dados têm imperfeições, mas como eu uso deep learning, se a grande maioria dos dados estiverem corretos já funciona pra mim. Já os dados de Book eu não tenho encontrado em nenhuma "empresa parceira" da B3, mesmo me dispondo a pagar por eles.
Recentemente abri uma thread sobre isso, mas ninguém até hoje me respondeu:
Histórico de Book de Ofertas B3 - Geral - Fórum de negociação algorítmica MQL5
Muito obrigado pelo retorno @Trader_Patinhas,
Já havia lido a sua thread mas infelizmente não tenho a resposta para o seu questionamento.
Oi Daniel.
No site da B3 vc encontra o histórico de negociação dos últimos 20 dias:
https://arquivos.b3.com.br/negocios/?lang=pt
Acredito que seja um bom referencial para apurar a qualidade do "tick data" das corretoras. O problema é que esses dados não tem os "flags" (BUY, SELL, etc.).
Uma segunda observação: vc consegue recuperar o histórico de ticks REAIS das corretoras por meio da função copy_ticks(). Esses ticks estão sujeitos a esses problemas bizarros de cada corretora, mas são ticks teoricamente REAIS (possivelmente os mesmos que o servidor MT5 da corretora emitiu em tempo real), e não ticks "simulados" com base em barras de 1 minutos que o testador de estrategias do MT5 usa no backtest.
Se vc faz operações de prazo curtíssimo ao ponto de o seu algoritmo de trading ser sensível aos ticks reais, te recomendo esquecer o testador de estratégias do MT5 e construir o seu próprio testador com base nos ticks reais.
Uma última observação:
Antigamente (até final de 2019) a B3 disponibilizava em um servidor FTP da BMF um longo histórico de negócios, com todo o detalhamento, inclusive as corretoras envolvidas em cada contraparte, além de um histórico completo do Book, ordem a ordem, incluindo alterações e cancelamentos de ordens. Infelizmente em 2020 eles desativaram esse servidor FTP e, quando entrei em contato com o setor de marketing data da B3 eles me informaram que esses dados passariam a ser comercializados por empresas parceiras. Os dados de tick eu baixo gratuitamente de diversas corretoras, usando a função copy_ticks() mesmo. Esses dados têm imperfeições, mas como eu uso deep learning, se a grande maioria dos dados estiverem corretos já funciona pra mim. Já os dados de Book eu não tenho encontrado em nenhuma "empresa parceira" da B3, mesmo me dispondo a pagar por eles.
Recentemente abri uma thread sobre isso, mas ninguém até hoje me respondeu:
Histórico de Book de Ofertas B3 - Geral - Fórum de negociação algorítmica MQL5
Ola, você consultou esses distribuidores? Será que nenhum tem isso ?
https://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/distribuidores/perguntas-frequentes/
https://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/distribuidores/distribuidores-licenciados/