Neo traderBot

Neo traderBot

Você sabia?

Abordamos o tema de automatização de estratégias em NTSL, MQL5 e NinjaScript!

leaf leftleaf right
Notifications
Clear all

[Solucionado] Diferentes tempos gráficos numa mesma estratégia.

17 Posts
3 Usuários
1 Reactions
449 Visualizações
(@sidneyrochagomes)
Membro ativo
Registrou: 2 anos atrás
Posts: 9
 

Postado por: @admin

 

@sidneyrochagomes Você só precisa mudar os cálculos de indexação e os candles que serão calculados.

Para calcular apenas nos fechamentos de 15 minutos, você precisa capturar os preços de fechamentos dos candles que iniciam nos minutos 14, 29, 44, e 59. Logo precisaria mudar essa linha:

if Mod(Time,100) = 55 then

para

if        (Mod(Time,100) = 14) 
     or (Mod(Time,100) = 29)
     or (Mod(Time,100) = 44)
     or (Mod(Time,100) = 59) then

e os indexadores precisariam ao invés de multiplicar por 12, multiplicar por 15. Pense, por exemplo, se estiver no candle que inicia no minuto 14, para pegar o fechamento do candle que encerra às 00 minutos, você precisaria voltar 15 candles (precisaria pegar o candle que iniciou aos 59 minutos da hora anterior).

 //Último candle antes de iniciar uma nova hora no TF de 5 min
    fMedia15min := Close;
    for iIterador := 1 to pQtdePeriodosMedia15min-1 do
    begin
       fMedia15min := fMedia15min + Close[Round(iIterador*15)];
    end; 
    fMedia15min := fMedia15min/pQtdePeriodosMedia15min;
    plot(fMedia15min);  

Pegou a ideia? Tem hora que tem que contar nos dedos mesmo...kkkk!

Abs!

 

vou trabalhar em cima disso. Gostei muito da ideia e respondi o topico anterior pra tornar mais claro meu proposito

 


   
ReplyCitar
(@admin)
Membro Admin
Registrou: 2 anos atrás
Posts: 216
 

@sidneyrochagomes 

Sugeri usar os ativos WINFUT e WDOFUT porque eles não apresentam horário de incio de candle "zuados" como o ativo que estava tentando simular WDOH23.

Postei nos comentários anteriores como seria a adaptação necessária no código para trabalhar em gráficos de 1 minutos com média do tempo gráfico de 15 minutos. Essas adaptações são mais trabalhosas mas pelo menos mantem coerência entre Backtesting e aplicação em tempo real.

Outra alternativa que não acho legal é habilitar a execução no tick. Mas como já pontuei em conteúdos no Canal da Comunidade, isso impede de ter um backtesting do seu robô, pois não há dados tick a tick históricos.

 

PS: Para fins de organização, vou encerrar este tópico referente à dúvida inicial do @jp-cavalcanti. Sinta-se a vontade para abrir um novo tópico.

Grande abs!

This post was modified 2 anos atrás 2 times by Johnathas

   
ReplyCitar
Página 2 / 2