I'm facing an challenge to read multiple indicator buffers in my EA. CopyBuffer copies first inidicator but for rest, always returns -1. Here is test indicator code:
#property indicator_chart_window#property indicator_buffers3double _b1[], _b2[], _b3[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingif(!SetIndexBuffer(0,_b1,INDICATOR_DATA)) return(INIT_FAILED);
if(!SetIndexBuffer(1,_b2,INDICATOR_DATA)) return(INIT_FAILED);
if(!SetIndexBuffer(2,_b3,INDICATOR_DATA)) return(INIT_FAILED);
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constint begin,
constdouble &price[])
{
//---for(int i=prev_calculated; i < rates_total; i++) {
_b1[i] = 13.5;
_b2[i] = 11.9;
_b3[i] = 198.3;
}
//--- return value of prev_calculated for next callreturn(rates_total);
}
Hi
I'm facing an challenge to read multiple indicator buffers in my EA. CopyBuffer copies first inidicator but for rest, always returns -1. Here is test indicator code:
And here test EA code