Corrupção de dados históricos no "tester" e diferença entre modos "cada tick"/"EVERY tick" e "REAL tick".

 

Corrupção de dados históricos é originada pela corretora ou pela B3? Se depende da corretora, qual corretora possui melhor arquivo de dados históricos?

Tenho notado divergências insuportáveis nos gráficos do tester nos modos de tick reais, quando MT5 exibe compra e venda de ativos em valores inexistentes, fora dos preços do mercado (às vezes números infinitos que nem cabem na plotagem do gráfico). Todos estes pontos se relacionam à corrupção dos dados listados pelo próprio tester ao iniciar cada teste. Portanto, no modo mais simplificado, no "every tick" ou "cada tick", os resultados parecem mais normais, embora me dê certa insegurança quanto à confiabilidade dos testes. Não tive tempo de comparar a corrupção de dados com o volume de símbolos, ou com a liquidez; porém, surpreende-me a grande quantidade de corrupção de dados para histórico recente (dentro do próprio mês). Uso o servidor da RICO, caso seja relevante essa informação.

Como vocês administram essa corrupção de dados? Há alguma configuração do MT5 para ignorar dados corruptos?

 
Leia a minha resposta em relação a sua questão no Forum Inglês ... Corrupted data for historical ticks, and "Real tick" x "every tick" modelings in tester
 
Zoltan Paulini:

Corrupção de dados históricos é originada pela corretora ou pela B3? Se depende da corretora, qual corretora possui melhor arquivo de dados históricos?

Tenho notado divergências insuportáveis nos gráficos do tester nos modos de tick reais, quando MT5 exibe compra e venda de ativos em valores inexistentes, fora dos preços do mercado (às vezes números infinitos que nem cabem na plotagem do gráfico). Todos estes pontos se relacionam à corrupção dos dados listados pelo próprio tester ao iniciar cada teste. Portanto, no modo mais simplificado, no "every tick" ou "cada tick", os resultados parecem mais normais, embora me dê certa insegurança quanto à confiabilidade dos testes. Não tive tempo de comparar a corrupção de dados com o volume de símbolos, ou com a liquidez; porém, surpreende-me a grande quantidade de corrupção de dados para histórico recente (dentro do próprio mês). Uso o servidor da RICO, caso seja relevante essa informação.

Como vocês administram essa corrupção de dados? Há alguma configuração do MT5 para ignorar dados corruptos?

Você opera apenas mini indice e mini dolar ?

Se sim tente a Active, e procure Bra50 para mini indice e USDBRL para mini dolar.

Se você opera ações ai tem que ver com a corretora.

 
Mateus Cerqueira Lopes #:

Você opera apenas mini indice e mini dolar ?

Se sim tente a Active, e procure Bra50 para mini indice e USDBRL para mini dolar.

Se você opera ações ai tem que ver com a corretora.

Obrigado, @Fernando Carreiro e @Mateus Cerqueira Lopes . Opero ações na Rico, mas procuro alternativas melhores. Será que a corrupção de dados atinge também os indicadores comuns (médias móveis), mesmo utilizando dados recentes de poucas semanas?

 
Zoltan Paulini #: Será que a corrupção de dados atinge também os indicadores comuns (médias móveis), mesmo utilizando dados recentes de poucas semanas?

Os indicadores normais utilizam somente a informação OHLC das barras/velas, não a informação de "ticks". São dois tipos de informações diferentes, mas complementares.

Só irá detectar as diferenças e a possível corrupção dos dados dos "ticks" quando efectua os testes no "Strategy Tester" com "real ticks".

 
Fernando Carreiro #:

Os indicadores normais utilizam somente a informação OHLC das barras/velas, não a informação de "ticks". São dois tipos de informações diferentes, mas complementares.

Só irá detectar as diferenças e a possível corrupção dos dados dos "ticks" quando efectua os testes no "Strategy Tester" com "real ticks".

Obrigado, @Fernando Carreiro. Essa informação é muito útil. O problema da corrupção de dados afeta muito a confiabilidade da simulação: preciso ficar comparando os imprecisos resultados plotados com a expectativa dos ticks reais em tempo real. A propósito, recebi resposta oficial do atendente da RICO: garantiram que nada farão para melhorar o serviço para Metatrader porque eles não se responsabilizam pela plataforma (seria o caso do fabricante do software buscar um contrato que melhore o serviço prestado). Já a Genial… ainda não respondeu meu e-mail.

Agora percebo que a plotagem de indicadores comuns (médias móveis) no MT5 também é bastante imprecisa (com erros de até 1%). Sempre que adiciono um indicador no código (eu uso os indicadores por meio de 'class', CiMA, CiVolumes, etc.), eu preciso dar restart no MacOS para que os valores sejam corretamente puxados à memória. Depois do restart, os algoritmos rodam bem, até surgir alguma novidade inesperada.

 
Fernando Carreiro #:

Os indicadores normais utilizam somente a informação OHLC das barras/velas, não a informação de "ticks". São dois tipos de informações diferentes, mas complementares.

Só irá detectar as diferenças e a possível corrupção dos dados dos "ticks" quando efectua os testes no "Strategy Tester" com "real ticks".

@Fernando Carreiro, verifiquei que MQL diverge (falha) nas informações OHLC de barras/velas em alguns símbolos, dependendo da configuração do "Strategy Tester". Entendi que os comandos iLow() e iHigh() deveriam responder da mesma forma no Strategy Tester com "Every tick", "Real ticks" e "1 minute OHLC". Mas isso não acontece para todos os símbolos. Agora mesmo verifiquei falha em JPMC34 na utilização do indicador de média  CiMA associado ao iLow(), iHigh().

#include <Indicators/Indicators.mqh>
CiMA    m;
/////
if (iLow(s, TimeFrame, j) <= m.Main(j))

Os resultados para "Every Tick" e "1 minute OHLC" são os mesmos, mas com "Real Ticks" há 23% de divergências.

Como pode a corrupção de dados históricos dos ticks afetar o OHLC?

 
@Zoltan Paulini #:

@Fernando Carreiro, verifiquei que MQL diverge (falha) nas informações OHLC de barras/velas em alguns símbolos, dependendo da configuração do "Strategy Tester". Entendi que os comandos iLow() e iHigh() deveriam responder da mesma forma no Strategy Tester com "Every tick", "Real ticks" e "1 minute OHLC". Mas isso não acontece para todos os símbolos. Agora mesmo verifiquei falha em JPMC34 na utilização do indicador de média  CiMA associado ao iLow(), iHigh().

Os resultados para "Every Tick" e "1 minute OHLC" são os mesmos, mas com "Real Ticks" há 23% de divergências.

Como pode a corrupção de dados históricos dos ticks afetar o OHLC?

Como já referir, os dados OHLC e "real ticks" são base de dados diferentes e distintas. Se a corretora não certificar que estão congruentes uma com a outra, então os resultados no Strategy Tester vão falhar.

Infelizmente as corretoras brasileiras tem uma certa "fama" de serem pouco disciplinadas no que diz respeito à qualidade dos dados históricos, mas não são as únicas corretoras a sofrerem desse "defeito".

Por esse motivo é que lhe fiz a sugestão de criar um símbolo customizado no qual “limpa” e “filtra” os dados, para que ambos os dados de OHLC e Ticks estejam coerentes um com o outro.