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));
}
![]() |
|


LinkBack URL
About LinkBacks
Répondre avec citation