Começando a trabalhar com ARRAYS (uma dificuldade encontrada)

 

Boa tarde! 

No começo é tudo novidade, fui utilizar uma variável do tipo array, e levei alguns dias quebrando a cabeça com a seguinte situação :

double    var_a[];
double    var_b[];

void OnInit() 
{
SetIndexBuffer(0,var_a,INDICATOR_DATA);
PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, 1);
}

int OnCalculate(....)
{
var_b[1] = 5      (essa variável era usada para alguns calculos secundarios)
var_a[1] = 50     (atualiza o indicador)
}

 O array var_b[] travava o indicador "out range", tentei todo tipo de valor, opções, e sempre travava.

O que estava errado: falta adicionar uma linha no código init que resolveu a situação:

SetIndexBuffer(1,var_b,INDICATOR_CALCULATIONS);

Pelo que observei essa declaração é obrigatoria, não achei isso na documentação, posso estar equivocado, mais se futuramente alguem passar por isso, espero que esse tópico ajude e poupe algum bom tempo.

 

Atenciosamente,

DAniel 

Razão: