Bonjour,

Je me suis lancé dans la programmation MQL4.

J'ai un souci. J'ai ne comprends pas pourquoi j'ai toujours 0 dans les buffers dans le code suivant aprés l'execution de la boucle FOR.

Merci.

int start_STPMT(int L_counted_bars, int L_current_bars) {

int i = 0;
int s_counted_bars=L_counted_bars;
//int s_limit = Bars - s_counted_bars;
int s_limit;

double STPMT_Main;
double STPMT_MainPrevious;
double STPMT_MA_Signal;
double STPMT_MA_SignalPrevious;
double L_B1,L_B2,L_B3,L_B4;


//---- check for possible errors
if(s_counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(s_counted_bars>0) s_counted_bars--;

s_limit = L_current_bars - s_counted_bars;

// DEBUG
Print("STPMT s_limit : ",s_limit);


for(i=0;i<s_limit+1;i++) {
L_Buffer1[i] = iStochastic( NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, i);
L_Buffer2[i] = iStochastic( NULL, 0, 14, 3, 3, MODE_SMA, 0, MODE_SIGNAL, i);
L_Buffer3[i] = iStochastic( NULL, 0, 45, 14, 3, MODE_SMA, 0, MODE_SIGNAL, i);
L_Buffer4[i] = iStochastic( NULL, 0, 75, 20, 3, MODE_SMA, 0, MODE_SIGNAL, i);
L_STPMT[i] = (4.1 * L_Buffer1[i] + 2.5 * L_Buffer2[i] + L_Buffer3[i] + 4 * L_Buffer4[i]) / 11.6;
STPMT_Main = L_STPMT[i];
Print("FOR : ",i);
Print("Buffer 1 : ",DoubleToStr(L_Buffer1[i],6));
Print("Buffer 1 : ",DoubleToStr(STPMT_Main,6));
}