Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)
Opa primeiramente obrigado por compartilhar seus conhecimentos!
o código abaixo seta o tempo do inicio da operação só que só funciona no fechamento da barra, que fica por conta do time frame utilizado. Só funciona com horas!
Gostaria de saber se tem alguma maneira de encerrar a operação em 5 minutos dentro de um outro time frame, por exemplo: Rodando no gráfico de 20 minutos, caso em 5 minutos não de alvo encerrar a operação.
Outro problema que tenho também é que quando fecha a barra e o Stop é acionado tem um delay de 1 candle antes de iniciar a nova entrada.
var
duracao : integer;
horaEntrada : integer;
Begin
if (SellPosition = 0) and (time < 1600) then
Begin
If (Abertura > 0) then
Begin
SellShortAtMarket;
horaEntrada := time;
end;
end;
If (SellPosition = 1) then
Begin
duracao := time - horaEntrada;
If (duracao >= 0005) then
ClosePosition;
If (time >= 1700) then
ClosePosition;
end;
end;
Oi @martins91!
Vamos por partes...
Sugiro você utilizar um tempo gráfico de 5 minutos, se quer encerrar após 5 min. Isso irá permitir que você mantenha uma consistência e validade de backtesting sem necessitar rodar sua estratégia no modelo de tick. Isso pode ser mais ou menos fácil de lidar, dependendo do que sua estratégia necessita. Infelizmente, o profit é muito limitado para trabalhar com multi-timeframe.
Grande abs!
Obrigado por responder.
Sim, é simples assim, só compra ou só venda, necessito apenas de execução de ordens.
O backtest do profit não fornece um banco de dados suficiente para realização de backtest.
Qualquer resultado testado no prazo fornecido pode ser considerado como overfitting ou mera ilusão do acaso.
Pra mim não importa o fractal, nos meus modelos utilizo apenas abertura, fechamento, máxima e mínima.