carrapatos do testador de estratégia mt5 - página 4

 
RaptorUK:
Não estou falando de carrapatos ausentes no Strategy Tester, mas de carrapatos ausentes enquanto você os está registrando. Se você contar os carrapatos que vê enquanto está registrando os dados e perder carrapatos, então sua contagem será menor do que deveria ter sido. É muito simples determinar se você perdeu um carrapato durante a gravação, eu só me perguntava se você fez isso e o que fez quando descobriu que havia perdido um carrapato ?

Como escrevi, confio em que meus dados de tempo real registrados estejam completos. Razões para isto:

1, às vezes foram registrados quase mil carrapatos por minuto (equivale a mais de dez carrapatos por segundo!). É um número alto o suficiente para me convencer de que não há nenhum problema com o desempenho da EA. (E por causa deste número eu não acho que houve ticks não gravados e a EA não foi capaz de acompanhar o ritmo)

2, O EA funciona com Metatrader VPS dedicado, que é mantido por um prestador de serviços profissionais especialmente personalizado para o comércio (ou seja, minimizando as interrupções de conexão).

 
NyemaSanya:

Como escrevi, confio em que meus dados de tempo real registrados no VPS estão completos. Razões para isto:

1, às vezes foram registrados quase mil ticks por minuto (equivale a mais de dez ticks por segundo!). É um número alto o suficiente para me convencer de que não há nenhum problema com o desempenho da EA.

2, A EA funciona com Metatrader VPS dedicado, que é mantido por um prestador de serviços profissionais especialmente personalizado para o comércio.


A propósito, estou curioso, como você pode determinar se há um tique em falta ao gravar?

OK, então você não verifica para não saber se sua contagem está correta ou não... por que você não disse simplesmente. Quanto tempo leva seu OnTick() para executar ? se ele não tiver terminado antes que o próximo tick chegue, você não perderá um tick ?

Como verificar ? bem . . . . manter uma contagem dos tiquetaques enquanto você vai, zerar este contador quando uma nova barra começa e aumentá-lo para cada tique, comparar sua contagem com o Volume para barra 0, se sua contagem for diferente você perdeu pelo menos um tiquetaque.

 
RaptorUK:

OK, então você não verifica para não saber se sua contagem está correta ou não... por que você não disse simplesmente. Quanto tempo leva seu OnTick() para executar ? se ele não tiver terminado antes do próximo tick chegar, você não perderá um tick ?

Como verificar ? bem . . . . manter uma contagem dos tiquetaques enquanto você vai, zerar este contador quando uma nova barra começa e aumentá-lo para cada tique, comparar sua contagem com o Volume para barra 0, se sua contagem for diferente você perdeu pelo menos um tiquetaque.

Então, você acabou de encontrar uma bela tarefa para si mesmo! ;-)
 
RaptorUK:

OK, então você não verifica para não saber se sua contagem está correta ou não... por que você não disse simplesmente. Quanto tempo leva seu OnTick() para executar ? se ele não tiver terminado antes do próximo tick chegar, você não perderá um tick ?

Como verificar ? bem . . . . manter uma contagem dos tiquetaques enquanto você vai, zerar este contador quando uma nova barra começa e aumentá-lo para cada tique, comparar sua contagem com o Volume para barra 0, se sua contagem for diferente você perdeu pelo menos um tiquetaque.

Por que você insiste neste ponto?
 
angevoyageur:

Por que você insiste neste ponto?


Apenas me veio à mente uma outra coisa, mostrando o quão ridículo é o seu pau. Para obter os dados do tick do testador, eu executei a EA sem visualização. Isso é muito mais rápido do que a velocidade da vida real, para obter um dia leva menos de meio minuto. Mesmo neste caso, todos os tiquetaques foram registrados....

 
NyemaSanya:

Só me veio à mente uma outra coisa, mostrando o quão ridículo é sua colagem. Para obter os dados do tick do testador, eu executei a EA sem visualização. Isso é muito mais rápido que a velocidade da vida real, para obter um dia leva menos de meio minuto. Mesmo neste caso, todos os tiquetaques foram registrados....

Em um teste de avanço, você SEMPRE perde alguns carrapatos (por um tempo de teste significativo). Não há nada que você possa fazer sobre isso, estes carrapatos simplesmente não chegam ao seu script/EA. Veja a documentação :

O eventoNewTick é gerado se houver novas cotações, ele é processado pela OnTick() da Expert Advisors anexada. Caso a função OnTick para a cotação anterior esteja sendo processada quando uma nova cotação for recebida, a nova cotação será ignorada por um Expert Advisor, pois o evento correspondente não será questionado.

Com o testador, tudo é gerado internamente, para que você não perca um carrapato. E este é o problema.
 
angevoyageur:

Em um teste de avanço, você SEMPRE perderá alguns carrapatos (por um tempo de teste significativo). Não há nada que você possa fazer a respeito disso, estes carrapatos simplesmente não chegam ao seu script/EA. Veja a documentação :

O eventoNewTick é gerado se houver novas cotações, ele é processado pela OnTick() da Expert Advisors anexada. Caso a função OnTick para a cotação anterior esteja sendo processada quando uma nova cotação for recebida, a nova cotação será ignorada por um Expert Advisor, pois o evento correspondente não será questionado.

Com o testador, tudo é gerado internamente, para que você não perca um carrapato. E este é o problema.


Desculpe angevoyageur:


Eu não concordo nem com você nem com o RaptorUK. Parece-me que você ignora a lógica básica. O EA é capaz de registrar algumas centenas de milhares de ticks dentro de um período de minutos ao executar o testador. O que significa que a função Ontick() foi completada dentro de uma fração de milissegundos.

Mas você continua insistindo que a EA pode não ser capaz de registrar menos ticks em tempo real, tendo muito mais tempo para execução do Ontick()?

Sinto muito, mas acho que agora isto se tornou uma conversa totalmente inútil, então eu me retiro.
 

@NyemaSanya: Você obviamente não percebe que pode perder um Tick enquanto grava. O RaptorUK já lhe disse isto. Ticks são novas citações transmitidas a partir do servidor do corretor. Novas citações podem ser ignoradas pelo mt5 enquanto ele processa seu Tick_Recorder. angevoyageur já lhe disse isto. Ticks são pacotes de dados que têm que viajar no ciberespaço e chegar ao seu terminal, você pode perder ticks por causa de pacotes de dados perdidos. Agora Ubzen já lhe disse isto.

Todos os membros lendários do mql4, os criadores do mql4 | mql5 parecem todos concluir a mesma coisa. O ajuste da curva do tick se aproxima do Randomness.

- Se você ainda acha que não pode perder um carrapato na vida real, então você precisa pesquisar suas coisas antes de discutir mais.

- Se você perceber que pode perder um carrapato, então você precisa responder à questão de por que seu método é melhor.

De qualquer forma, este é apenas o mesmo argumento de novo. Leia este tópico.

 
NyemaSanya:


Desculpe angevoyageur:


Eu não concordo nem com você nem com o RaptorUK. Parece-me que você ignora a lógica básica. O EA é capaz de registrar algumas centenas de milhares de ticks dentro de um período de minutos ao executar o testador. O que significa que a função Ontick() foi completada em uma fração de milissegundos.

Mas você continua insistindo que o EA pode não ser capaz de registrar menos ticks em tempo real, tendo muito mais tempo para execução do Ontick()?

Sinto muito, mas acho que agora esta conversa se tornou uma conversa sem sentido, então eu me retiro.

Por que reagir dessa maneira? Não há nada de pessoal aqui.

Isto não é uma questão de concordar ou não. Um EA em teste de avanço sempre perde carrapatos, isto é um fato. Acho seu primeiro comentário muito interessante, pois nunca prestei atenção que o Strategy Tester não erra um tiquetaque, pois eles são emulados com base no volume. Perguntei ao RaptorUk por que ele insiste porque acho esta questão secundária, não percebi que você não sabe o que é um carrapato.

 

Fiz um teste ontem (9/4) no EURUSD, com um EA que só conta carrapatos e compara os dados do MqlTick:

Tiquetaques
Volume (tick) como indicado pelo terminal MT5 na tabela D1
46 645
Teste de avanço D1
46 106
Backtest no Daily46 489


  • Assim, mesmo sem quase nada para fazer, a EA em teste avançado, ainda perde centenas de tiquetaques por dia.
  • Estou um pouco intrigado com o fato de que o teste de retaguarda produziu menos carrapatos que o volume diário.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices
  • www.mql5.com
Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices - Documentation on MQL5