1minuto OHLC vs cada tick - resultados opostos - página 2

 
laplacianlab:

Eu concordo absolutamente com ugo58. As barras grandes podem acionar o evento OnTick muitas vezes, enquanto as barras pequenas acionarão muito menos.

Isto pode ter um impacto em sua estratégia comercial automatizada, portanto, nós desenvolvedores temos que procurar soluções que atenuem o fato de que seu evento OnTick pode ser executado muitas vezes por barra.

Acho que o que enviei antes é apenas uma solução. ugo50 propôs outra solução: executar sua lógica OnTick na barra do passado mais recente. De qualquer forma, se você quiser executar sua lógica OnTick na barra atual, talvez você possa usar algo semelhante ao que eu enviei antes.

Estamos tentando implementar algo como um evento OnBar.

O que você pensa sobre isso?

laplacianlab:
Talvez este link também seja útil,https://www.mql5.com/en/articles/159

O código que você postou é fondamentaly o mesmo que o do artigo. Isto não é algo novo e é a melhor abordagem para uma EA que negocia em barras fechadas.

Embora não diretamente relacionado a este tópico, este artigo provavelmente seria interessante para você.

 
michelino:

Estou obtendo resultado completamente oposto ao testar em cada tick ou 1min OHLC. os parâmetros de EA e de entrada são exatamente os mesmos, mas no caso de 1min ohlc recebo 50000 de lucro enquanto que em cada tick recebo -7000 perdas.

isto acontece em muitos testes de pares em um período de 2 anos 0811-0813

alguém teve o mesmo problema? Eu não entendo qual é o problema aqui e o que devo fazer quando negociar dinheiro real.

ambos os gráficos abaixo

1minuto OHLC

cada carrapato

oi, o número de trocas também deve ser muito diferente, não é ? se você selecionar cada tick significa que sua função onTick é executada algo como a cada x segundos. O mesmo para mim, maus resultados.

2013.08.21 08:54:04    Core 1    EURUSD.e,M3: 72488 ticks (6230 bars) 



 
Florew:

oi, o número de trocas também deve ser muito diferente, não é ? se você selecionar cada tick significa que sua função onTick é executada algo como a cada x segundos. O mesmo para mim, maus resultados.



Eu tento explicar meu caminho.

O movimento de preços é como um sismógrafo. Observado em sua menor escala, ele está a meio caminho entre o caos e a imprevisibilidade, mas conforme aumentamos a escala de nossas observações, o preço se torna cada vez mais determinístico. De qualquer forma, devemos ter sempre em mente que as barras de preço são meramente discretizações arbitrárias do movimento de preços.

Esta seria a explicação teórica. O que você acha disto? Você pode refutar, se quiser.

 
michelino:

alguém teve o mesmo problema? Eu não entendo qual é o problema aqui e o que devo fazer quando negociar dinheiro real.


Desculpe minha insistência na participação deste tópico, estou apenas tentando ajudar. Acontece que agora estou envolvido em uma estratégia onde esta questão é muito importante.

Em resumo, se o caminho que o movimento de preços define através das barras é muito importante para sua estratégia, então o modo OnTick da MQL5 é essencial. Por outro lado, se sua estratégia comercial se move em uma escala maior, por assim dizer, o modo OnTick pode não ser necessário. Neste caso, você não precisa desperdiçar os recursos de seu computador para testar sua estratégia. Você deve ler istohttps://www.mql5.com/en/docs/runtime/testing

Dito isto, seria interessante analisar sua estratégia comercial para descobrir o que está acontecendo. O que constrói seu sistema? Em que idéia ele se baseia? Como você o construiu?

Parece que as partes fundamentais de seu sistema são fortemente baseadas no curto prazo (prazos muito curtos, barras de minutos), em uma escala para a qual um minuto faz uma grande diferença. Você deve analisar essas partes.

Cumprimentos!

Documentation on MQL5: MQL5 programs / Testing Trading Strategies
Documentation on MQL5: MQL5 programs / Testing Trading Strategies
  • www.mql5.com
MQL5 programs / Testing Trading Strategies - Documentation on MQL5
 
laplacianlab:

Eu tento explicar meu caminho.

O movimento de preços é como um sismógrafo. Observado em sua menor escala, está a meio caminho entre o caos e a imprevisibilidade, mas à medida que aumentamos a escala de nossas observações, o preço se torna cada vez mais determinístico. De qualquer forma, devemos ter sempre em mente que as barras de preço são meramente discretizações arbitrárias do movimento de preços.

Esta seria a explicação teórica. O que você acha disto? Você pode refutar, se quiser.


Não sou especialista no processo de formação de velas, mas sua explicação parece correta do meu ponto de vista.

Meu entendimento é que a simulação do conjunto EA com cada opção de tick (não 1min OHLC) comporta-se mais ou menos como em condições reais de mercado. Bem, exceto se a EA tiver algum código dizendo para esperar pela formação completa do 1 min. OHLC vela, como entendi que você mencionou aqui. Não tenho certeza se é o significado do código, estou correto? : )


*** EDITAR ***


Para vocês, que precauções devem ser tomadas para uma EA em condições reais de mercado (demo ou true) se comporta como se estivesse com o 1min. Opção de simulação OLHC (a mais rentável) ?

 
Florew:


Para vocês, que precauções devem ser tomadas para uma EA em condições reais de mercado (demo ou true) se comporta como se estivesse com o 1min. Opção de simulação OLHC (a mais rentável) ?

Talvez você deva se perguntar qual simulação é a correta ? e por quê ? e então você pode reproduzir esses dados simulados no comércio ao vivo ?
 
RaptorUK:
Talvez você deva se perguntar qual simulação é a correta ? e por quê ? e então você pode reproduzir esses dados simulados no comércio ao vivo ?


Eu concordo com u. Eu tenho resposta para a primeira e segunda pergunta, mas não para a última.

Neste artigo não há um erro no número de pontos de suporte para este primeiro exemplo ? Eu posso ver apenas um ponto de apoio tanto para sombra de abertura quanto para sombra de fechamento. Diz-se que três :/


Se a sombra é gerada usando três pontos de suporte e valores inteiros 3/4 o tamanho da sombra e 1/2 o tamanho da sombra são iguais (isto acontece quando a diferença entre Aberto e Baixo ou Aberto e Alto não é maior que 2 pontos), então a geração da sombra muda da seguinte forma:


Se a sombra é gerada por dois pontos de suporte, então os pontos de controle são dispostos da seguinte forma:

 
Florew:

oi, o número de trocas também deve ser muito diferente, não é ? se você selecionar cada tick significa que sua função onTick é executada algo como a cada x segundos. O mesmo para mim, maus resultados.



não realmente o número de negócios difere ligeiramente entre 5-10%. mas entendi porque isso acontece desde que o EA entra no mercado longo quando o preço está abaixo da média móvel uma certa quantidade de pontos (o oposto para posição curta) quando ohlc negocia ohlc compra exatamente em baixa enquanto que em cada tick compra entre baixa e fechada, então é preciso muito lucro que normalmente não o faria.

portanto, não há como reproduzir este desempenho infelizmente

 
Florew:


Neste artigo não há um erro no número de pontos de apoio para este primeiro exemplo ? Eu posso ver apenas um ponto de apoio tanto para sombra de abertura quanto para sombra de fechamento. Diz-se que três :/


Acho que há algum descompasso entre conceitos e terminologia. Onde você vê o único ponto de apoio nos números que você envia?

De qualquer forma, também acho que os detalhes desse algoritmo são demais para nós, no sentido de que não importa como a seqüência histórica do tick é construída. É muito bom e interessante acessar essa informação, mas quero dizer que não estamos fazendo nada com isso! Só podemos estar cientes das armadilhas dos computadores quando lidamos com coisas discretas. Há sempre algum ponto em que se perde alguma precisão, é a mesma coisa para os valores de ponto flutuante. A diferença aqui é que também estamos lidando com o comportamento humano em uma escala muito pequena.

A propósito, também discutimos o fato de que os dados históricos da corretagem não são os mesmos, e que esta diferença se torna maior no curto espaço de tempo.

O que você pensa sobre tudo isso? Isso é correto? Você acha que vale a pena concentrar-se em estratégias que devem funcionar bem em pequena escala?

 

michelino:

por isso não há maneira de reproduzir este desempenho infelizmente


Não estou certo de entender seu ponto de vista. Na minha opinião, deve ser possível reproduzir le 1 minuto de simulação em modo OHLC.

A documentação diz :

No modo "OHLC de 1 minuto", a seqüência de tick é construída apenas pelospreços OHLC das barras minuto, o número dos pontos de controle gerados é significativamente reduzido - portanto, o tempo de teste também. O lançamento da função OnTick () é realizado em todos os pontos de controle, que são construídos pelos preços das barras minuto OHLC.

Então :

Para testar a estratégia comercial, precisamos de uma seqüência de ticks, na qual o trabalho do Expert Advisor será simulado. Assim, para cada barra de minutos, conhecemos os 4 pontos de controle, onde o preço definitivamente esteve. Se uma barra tem apenas 4 carrapatos, então esta é informação suficiente para realizar um teste, mas geralmente o volume do carrapato é maior que 4.

A pergunta é: quantos pontos de controle nas barras de minutos OHLC e como modificar a função onTick() para trabalhar em cada um deles?

De acordo com o texto de ambas as citações, entendo que a resposta para a primeira pergunta é sempre 4, porque se uma barra tem mais de 4 ticks, ela é "significativamente" reduzida para acelerar o tempo de teste. Para a próxima pergunta, a coisa é identificar os 4 pontos de controle das barras OHLC de 1 minuto em condições reais de mercado, então peça ao onTick() para trabalhar nelas.

Razão: