Como fazer uma linha de um indicador passar a borda Direita do gráfico.

 

Eu estou fazendo um indicador com Machine Learning que preveja valores futuros, preciso que a linha que for desenhada ultrapasse a borda direita semelhante à linha vermelha  nessa imagem:

Está dando o erro: Array ou of range para o LinhaBuffer

Parte do Código:

SetIndexBuffer(0,LinhaBuffer,INDICATOR_DATA);//Feito no início do programa



ArrayResize(LinhaBuffer,rates_total+ArraySize(funcaoSaida)+1,0);//Tentei usar um ArrayResize no LinhaBuffer pra ver se dava certo, não teve efeito 
for(int i=rates_total;i<ArraySize(funcaoSaida);i++)
        {               
        LinhaBuffer[i] = funcaoSaida[i];
        //"i" é o rates_total + distância das previsões
        //LinhaBuffer[i] Constrói uma linha certinha, se i for MENOR que rates_total, ou seja, não me permite passar adiante, 
        //Se eu passar i ele mostra caixa de mensagem com o erro: Array out of range.
        //funcaoSaida[i] são os valores que estarão além do tick atual. 
        }
 
NMarlon:

Eu estou fazendo um indicador com Machine Learning que preveja valores futuros, preciso que a linha que for desenhada ultrapasse a borda direita semelhante à linha vermelha  nessa imagem:

Está dando o erro: Array ou of range para o LinhaBuffer

Parte do Código:

olá, um código análogo está aqui, para comparação das array. https://www.mql5.com/pt/code/412

Extrapolator
Extrapolator
  • www.mql5.com
Extrapolator é resultado de uma pesquisa de longo prazo na área de Previsão de Timeseries. Este indicador prevê o comportamento futuro dos preços. O indicador desenha duas linhas: a azul mostra a modelagem dos preços em barras de treinamento, o vermelho mostra a previsão dos preços futuros. O indicador é baseado em vários métodos que podem ser...
 
Cid Ougaske:

olá, um código análogo está aqui, para comparação das array. https://www.mql5.com/pt/code/412

OBRIGADO! A solução foi colocar no OnCalculate: 

 PlotIndexSetInteger(0,PLOT_SHIFT,rates_total); //Assim sempre que for desenhado, a linha é empurrada para a última barra (Tick Atual).
Razão: