Discussão do artigo "O algoritmo de geração de pontos (ticks) dentro do examinador de estratégia da plataforma MetaTrader 5" - página 20

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
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Versão beta do IDE MetaTrader 4, incluindo o novo compilador e editor MQL4
Urain, 2013.09.12 13:18
Você acredita ingenuamente que, ao negociar em TFs mais altos, você se livra da maldição da geração incorreta de ticks, mas isso não é verdade. O cruzamento próximo a um determinado nível não depende do TF. Ele permeia todos os períodos de tempo. E no W1 o fechamento cruza o mesmo nível que no M1.
Aqui está um exemplo:
As seções horizontais são os melhores pontos para a abertura/fechamento (em termos de execução), o preço está parado, há volume suficiente no mercado para que o mercado esteja gradualmente se recuperando (é por isso que o preço está parado), o risco de receber recotações é mínimo.
Mas o testador gerará essa seção como um pente de ticks (para cima e para baixo), portanto, na vida real, você abrirá em qualquer TF com bastante confiança (se houver um sinal, por exemplo, se o fechamento cruzar a linha do indicador), mas no testador, nessas seções, você obterá muitos falsos positivos e pagará 8 spreads e, depois de mais 100 ticks, pagará outros 8 spreads. É assim que a geração de ticks falsos matará um TS normal, e todo o lixo permanecerá, e o otimizador terá de escolher o que lhe dará como o macaco vencedor.
A propósito, existem muitos sites desse tipo na vida real.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Versão beta do IDE MetaTrader 4, incluindo o novo compilador e editor MQL4.
Urain, 2013.09.12 14:13
Existem ticks. Na vida real, os ticks são gerados pelo evento de alteração do estado da pilha.
Ou seja, há quatro tipos de ticks: o lance mudou, o pedido mudou, tanto o lance quanto o pedido mudaram e, finalmente, não houve mudança nos preços, mas o volume na pilha mudou.
É apenas o quarto tipo que fornece uma linha reta, e ele e as alterações no ask são gerados de forma inadequada pelo testador.
Para a última postagem: ...
Como exatamente os macacos saem na frente... Na vida real, um salto acentuado, que não será aberto, e no testador um aumento suave nos preços que não existia, em tal aumento, os macacos do testador mostram um lucro, embora percam na vida real.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Versão beta do IDE MetaTrader 4, incluindo o novo compilador e editor MQL4.
Urain, 2013.09.12 14:21
Não estou pedindo um exemplo, quando se escreve um programa, pensa-se em possíveis variantes.
Agora a questão é a adequação da modelagem em situações específicas. Dei um link para um exemplo, mas a situação pode muito bem acontecer em qualquer instrumento e em qualquer corretora.
De 4 situações que levam à geração de ticks, 2 delas são processadas de forma inadequada.
Das duas restantes, a situação com a alteração de ambos os preços (compra e venda) nem sempre é processada corretamente.
Por exemplo, a situação com uma mudança brusca nos preços leva ao aparecimento de preços falsos.
Em resumo, apenas uma situação é sempre processada corretamente - alterações de lance.
ntchk
O Expert Advisor foi ligeiramente ajustado para registrar os ticks do testador com base no artigo.
http://www.gkfx.ru/trade_specs/tick_history.html
http://www.dukascopy.com/swiss/russian/marketwatch/historical/
https://www.alpari.ru/ru/login/ (ticks em meu gabinete pessoal), http://ticks.alpari.org/
Todos os arquivos + xlsx no trailer
Свеча в 14:30 (время в MetaTrader 5) объёмом в 39 тиков, в альпари она равна 86 на ECN и 136 тиков на стандарт,
mas isso não é absolutamente importante (número de ticks), porque o princípio da geração de ticks será o mesmo, apenas os ticks serão mais densos.
No testador do MetaTrader 5, você pode ver que o preço nessa vela monotonicamente, uniformemente e sem solavancos por 36 segundos sobe até o máximo, depois há um pequeno recuo.
E nos futuros (ticks de ações), você pode ver que o preço deu um salto acentuado, em uma fração de segundo, e depois começou a negociação normal.
Em outras notícias/estatísticas com saltos bruscos de cotações, o princípio será o mesmo.https://www.mql5.com/ru/forum/1031/page19#comment_597854
A diferença entre os ticks reais do FOREX e dos futuros é bem pequena porque há arbitragem entre eles e há filtragem e agregação de ticks no FOREX.
+ Ao fazer negócios reais, o atraso na execução das ordens é diferente, porque em algumas corretoras de futuros todas as ordens são armazenadas na bolsa e são executadas em vários microssegundos, diferentemente do FOREX.
https://www.mql5.com/ru/forum/10454/page88#comment_584876
É também por isso que o atraso arbitrário (opção no testador) não é relevante, porque o tempo exato (milissegundos, segundos) de formação de máximos ou mínimos ou recuos dentro do candelabro M1 não é levado em conta ao gerar os ticks do testador.
Ou ele (atraso arbitrário) deve ser definido manualmente para mais de 1 minuto, mas não há essa possibilidade (novamente, haverá uma diminuição da precisão em outros casos).
Novo artigo O algoritmo de geração de ticks no testador de estratégias do terminal MetaTrader 5 é publicado:
Autor: MetaQuotes Software Corp.
Tenho um indicador para microescalpelamento. Ele apresenta resultados muito bons no período de tempo do Tester M1 - Todos os ticks
Quando entra em operação, os resultados são ruins!
Depois de bater a cabeça contra a parede por vários dias, cheguei à conclusão de que a diferença se deve a esse"algoritmo de geração de ticks".
Alguma sugestão?
Por exemplo, eu poderia filtrar os dados ao vivo? Se sim, como?
Obrigado por sua ajuda.
ugo
Olá pessoal, acho que preciso de ajuda.
Tenho um indicador para microescalpelamento. Ele apresenta resultados muito bons no período de tempo do Tester M1 - Todos os ticks
Quando entra em operação, os resultados são ruins!
Depois de bater a cabeça contra a parede por vários dias, cheguei à conclusão de que a diferença se deve a esse"algoritmo de geração de ticks".
Alguma sugestão?
Por exemplo, eu poderia filtrar os dados ao vivo? Se sim, como?
Obrigado por sua ajuda.
ugo
Os scalpers (que dependem de dados de ticks) provavelmente não podem ser testados com o Strategy Tester.
Se você não usar nenhum indicador adicional, poderá pegar os ticks gerados automaticamente nas barras de histórico salvas, jogá-los fora e inserir os ticks para o mesmo minuto de um feed de ticks salvo anteriormente.
Um feed de ticks binários salvo em disco ocupa cerca de 50 MBytes para uma moeda durante uma semana, portanto, acho que apenas pequenos períodos são testáveis (se você tiver que salvar seus próprios dados de ticks e não puder obter dados de ticks de outras fontes).
Mas isso pode ser suficiente para verificar seus algoritmos.
Boa sorte, ugo58
Se você não usar nenhum indicador adicional, poderá capturar os ticks gerados automaticamente das barras de histórico salvas, jogá-los fora e inserir os ticks para o mesmo minuto de um feed de ticks salvo anteriormente.
Um feed de ticks binários salvo em disco ocupa cerca de 50 MBytes para uma moeda durante uma semana, portanto, acho que apenas pequenos períodos são testáveis (se você tiver que salvar seus próprios dados de ticks e não puder obter dados de ticks de outras fontes).
Mas isso pode ser suficiente para verificar seus algoritmos.
Boa sorte, ugo58
Olá, obrigado a todos vocês!
Não tenho certeza se entendi: " ... inserir os ticks para o mesmo minuto". Você quer dizer ver manualmente quais foram os valores reais dos ticks nos mesmos horários de abertura e fechamento ou existe uma maneira de executar o Strategy Tester a partir de um histórico salvo em disco? O angevoyageur me disse que isso não é possível.
ugo
Certo, o testador de estratégia MQL5 não permite o uso de um histórico diferente dos preços fornecidos pela corretora. Mas se você programar seu próprio EA, poderá lidar com isso, desde que não precise de nenhum indicador pré-fabricado.
Com a nova MQL4, pelo que sei, você pode escrever um código idêntico ao da MQL5. Se você tomar cuidado com a maneira diferente de lidar com as ordens, poderá testar seu EA com um histórico fornecido por você.
ugo58