Resposta

Pergunta sobre dados e backtesting

9 respostas

clonex / Ivan Hudec

Cliente, bbp_participant, comunidade, sq-ultimate, colaborador, autor, editor, 271 respostas.

Perfil da visita

9 anos atrás #112483

Hi, 

 

Talvez uma pergunta de novato:

 

Estou desenvolvendo uma estratégia intradiária que usaria 1 H TF

Nas primeiras tentativas, eu estava usando dados horários importados do MT4 diretamente da IRONFX com o método "Selected Timeframe Only". Os resultados foram ótimos e as estratégias entraram por stop. Em outros testes, usei dados de ticks da dukascopy e os resultados foram completamente diferentes. No manual, há uma seção onde está escrito

 

"Selected Timeframe only" (Período selecionado somente), juntamente com "Trade On Bar Open" (Comércio na abertura da barra), é o modo de teste mais rápido. Ele usa apenas o período de tempo principal para simular os preços.

Isso resulta em um backtesting muito rápido e com uma precisão muito boa. No entanto, para ordens Stop ou Limit, a precisão do teste pode não ser suficiente e você deve tentar um modo mais preciso."
 
Ok, de modo geral, entendo por que TFs mais altos são perigosos para o backtesting de ordens stop limit. Mas é possível ter resultados completamente diferentes?
 
O que você recomenda no caso de desenvolvimento de estratégias no gráfico de tempo 1H? Quero dizer, qual é o método mais rápido, porém mais confiável, para testar a precisão? É bom usar os dados da corretora (IRONFX) diretamente no gráfico de período 1H ou isso é errado?
 
Obrigado,

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #125894

Olá,

 

Sim, as ordens de parada e limite geralmente são preenchidas dentro da barra e, dependendo da sua estratégia, pode ser muito impreciso testá-la com a precisão do período de tempo selecionado.

As diferenças podem ser realmente muito grandes.

 

Recomendo que você use pelo menos 1 minuto, ou precisão de simulação de tick, e para os testes finais use dados reais de tick da Dukascopy.

Marcar
EstratégiaQuant arquiteto

0

SammyDoe

Cliente, bbp_participante, comunidade, 6 respostas.

Perfil da visita

9 anos atrás #126928

Olá Mark,

Você poderia explicar a diferença entre "Selected Timeframe only" e "Trade on Bar open"?

Com "Selected Timeframe only" definido para a geração de estratégia em dados H1, há apenas negociações inseridas E fechadas na barra completa.

Isso significa, obviamente, que também o TP e o SL são executados somente em barras completas, 

 

Eu esperava exatamente isso para "Negocie na abertura da barra".

Então, novamente... Qual é a diferença entre os dois modos?

 

Obrigado.

0

Matusiak Adrian

Cliente, bbp_participant, comunidade, 300 respostas.

Perfil da visita

9 anos atrás #126930

Olá, Sammy,

 

Acho que "Selected Timeframe only" testa a abertura/fechamento/alta/baixa da barra, e "Trade on Bar open" testa somente a abertura do preço da barra. 

 

Mas essa é apenas minha opinião - aguarde a resposta de Mark. Com certeza ele saberá melhor.

btn_viewmy_160x33.png

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #127013

Sim, a diferença está no manuseio do Stop Loss, Profit Target.

 

A precisão do timeframe selecionado significa que ele usa o candle inteiro para determinar se o SL ou o PT foi atingido. Se, por exemplo, o SL for acionado dentro do candle, ele será ativado no nível de preço do SL.

 

Com a negociação na abertura da barra, ele verifica se o SL/PT é acionado somente na abertura da barra, de modo que sua negociação sairá pelo preço na abertura da barra, e não pelo nível exato do SL.

A negociação na abertura da barra é um modo muito especial e deve ser usado somente se você souber o que deseja.

 

Você deve usar a precisão do período de tempo selecionado para o backtesting padrão.

Marcar
EstratégiaQuant arquiteto

0

SammyDoe

Cliente, bbp_participante, comunidade, 6 respostas.

Perfil da visita

9 anos atrás #127059

Mark, tudo bem.

Basicamente, eu consegui.

 

Mas então surge a pergunta: por que toda e qualquer negociação é fechada no horário integral para a geração de H1, mesmo que houvesse um SL ou TP dentro da barra?

Tudo isso com Precisão do período de tempo selecionado.

Isso se refere à lista de negociações das estratégias geradas.

 

Poderia isso deve ser considerado um bug na versão 3.7?

0

Matusiak Adrian

Cliente, bbp_participant, comunidade, 300 respostas.

Perfil da visita

9 anos atrás #127067

Então... temos que usar "selected timeframe only" com "Enter at market" apenas?

Como fazer com que a estratégia abra ordens somente na nova barra? Temos que marcar apenas "Open" nos blocos de construção?

btn_viewmy_160x33.png

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #127280

Sammy - isso é estranho, você poderia anexar uma estratégia (.str) aqui? Vou dar uma olhada nela, mas não acho que haja um bug no SQ.

 

Adrian - Não, você pode usar o período de tempo selecionado com qualquer tipo de ordem, mas se quiser abrir ordens na abertura de uma nova barra, deverá usar a opção Entrar no mercado. As ordens Stop/Limit podem abrir negociações também dentro da barra.

Marcar
EstratégiaQuant arquiteto

0

SammyDoe

Cliente, bbp_participante, comunidade, 6 respostas.

Perfil da visita

9 anos atrás #127655

Ok Marc... um pouco atrasado, mas aqui estão os arquivos.

 

O chamado "Strategy1.2_selectedTimeframeOnly_precision.str" mostra todas as negociações fechadas sempre em horário integral (o que não é esperado),

Enquanto o arquivo "Strategy1.2_1min_precision.str" mostra negociações fechando com uma granularidade de minutos (o que é esperado).

 

 

Você poderia verificar essa inconsistência?

 

 

Edit: Btw. agora me parece que apenas o horário de fechamento informado está errado para 'selectedTimeframeOnly',

pois além dessa diferença todas as negociações são as mesmas em ambos os arquivos.

Mas, novamente, surge a pergunta: por que as negociações são exatamente as mesmas para os dois modos de precisão?

Qual é a diferença aqui?

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #127909

O chamado "Strategy1.2_selectedTimeframeOnly_precision.str" mostra todas as negociações fechadas sempre em horário integral (o que não é esperado),

 

mas esse é o comportamento esperado. Com a precisão "Selected timeframe", o backtester não olha dentro das barras, portanto, não saberia quando exatamente o SL/TP foi acionado. 

Ele só pode verificar se o SL/TP foi atingido nessa barra ou não, mas não quando exatamente, por isso ele usa tempos de barra completos.

Marcar
EstratégiaQuant arquiteto

0

Visualizando 9 respostas - 1 até 9 (de um total de 9)