Abordamos o tema de automatização de estratégias em NTSL, MQL5 e NinjaScript!
Olá Johnathas, tudo blz?
Criei um indicador e o mesmo plota o fechamento representado em linha ou histograma no gráfico, como usual. Entretando como os valores variam durante a formação do último candle, gostaria também de plotar esta variação? Como?
Teria que fazer um laço executando no ultimo candle e dentro do mesmo armazenando maximas e minimas? Neste caso não teria um candle, mas teria talvez duas ou três linhas sendo plotadas. Poderia dar uma ideia?
Muito obrigado
Boa noite @mfpublicos!
A sua solução passa pelo problema de identificar o primeiro tick de uma barra (snippet aqui), porque você precisa inicializar um valor para o máximo e mínimo do valor que está calculando.
Depois é só fazer a lógica de seleção do máximo e mínimo nos ticks da mesma barra. Segue abaixo o código que eu acho que resolverá seu problema.
Grande abs!
var bPrimeiroTickDaBarra : boolean; iBarraAtual : integer; fIndicadorQualquer: float; fMaxIndicador, fMinIndicador: float; begin //Calculo do indicador que deseja fIndicadorQualquer := Media(2,Close); if LastBarOnChart then if (CurrentBar <> iBarraAtual) then begin iBarraAtual := CurrentBar; bPrimeiroTickDaBarra := true; end else bPrimeiroTickDaBarra := false; if bPrimeiroTickDaBarra then begin //Faz alguma coisa no primeiro tick da barra, no caso, inicializa max e min //Aplicável apenas em execução de tempo real fMaxIndicador := fIndicadorQualquer; fMinIndicador := fIndicadorQualquer; end else begin //Faz alguma coisa nos demais ticks da barra atual //Aplicável apenas em execução de tempo real if fIndicadorQualquer > fMaxIndicador then fMaxIndicador := fIndicadorQualquer ; if fIndicadorQualquer < fMinIndicador then fMinIndicador := fIndicadorQualquer ; end; plot(fIndicadorQualquer); plot2(fMaxIndicador); plot3(fMinIndicador); end;
Muito obrigado Johnathans.
Alternativamente, estava usando uma janela extra apenas com indicador e com o TimeFrame bem mais rápido do que o Time Frame de observação usual. Desta forma consiguia valores aproximados. Vou testar aqui e depois comento.