Calcolo valori degli indicatori concatenati

Deneris

Nuovo Utente
Registrato
1/2/18
Messaggi
2
Punti reazioni
0
Buonasera a tutti,
ho la necessità di calcolare diversi valori provenienti da indicatori costruiti uno appoggiato sull'altro. Vi mostro cosa ho fatto:

Codice:
Oninit
// ======== VARIABILI INIDCATORE BLU =====================================================================    
   if(iMaExpStoBluPeriod > iMaSmaRsiBluPeriod) SizeBufferStocBlu=(3.45*(iMaExpStoBluPeriod+1))+2; else 
                                               SizeBufferStocBlu=(3.45*(iMaSmaRsiBluPeriod+1))+2;
   ArrayResize(BufferStoBlu,           (int)(SizeBufferStocBlu));                   
   ArrayResize(BufferiMaExpStoBlu,     (int)(SizeBufferStocBlu));                  
   ArrayResize(BufferRsiStoBlu,        (int)(SizeBufferStocBlu));
   ArrayResize(BufferiMaSmaRsiBlu,     (int)(SizeBufferStocBlu));
   ArrayResize(BufferBBUpSmaBlu,       (int)(SizeBufferStocBlu));
   ArrayResize(BufferBBDwSmaBlu,       (int)(SizeBufferStocBlu));
   ArraySetAsSeries(BufferStoBlu,         true);
   ArraySetAsSeries(BufferiMaExpStoBlu,   true);
   ArraySetAsSeries(BufferRsiStoBlu,      true);
   ArraySetAsSeries(BufferiMaSmaRsiBlu,   true);
   ArraySetAsSeries(BufferBBUpSmaBlu,     true);
   ArraySetAsSeries(BufferBBDwSmaBlu,     true);

Ontick

for(int i=0; i<(int)(SizeBufferStocBlu); i++)   
      BufferStoBlu[i]               = iStochastic(NULL,0,STO_Blu_KPeriod,STO_DPeriod,STO_Slowing,MODE_SMA,1,MODE_MAIN,i);
   
   for(int i=0; i<(int)(SizeBufferStocBlu); i++) 
      BufferiMaExpStoBlu[i]         = iMAOnArray(BufferStoBlu,0,iMaExpStoBluPeriod,0,MODE_EMA,i);                 
      
   for(int i=0; i<(int)(SizeBufferStocBlu); i++) 
      BufferRsiStoBlu[i]            = iRSIOnArray(BufferiMaExpStoBlu,0,KPeriodRsiBlu,i);
   
   for(int i=0; i<(int)(SizeBufferStocBlu); i++) 
      BufferiMaSmaRsiBlu[i]         = iMAOnArray(BufferRsiStoBlu,0,iMaSmaRsiBluPeriod,0,MODE_SMA,i);
      
   for(int i=0; i<(int)(SizeBufferStocBlu); i++) {
      BufferBBUpSmaBlu[i]             = iBandsOnArray(BufferiMaSmaRsiBlu,0,KPeriodBBBlu,DeviationBBBlu,0,MODE_UPPER,i);
      BufferBBDwSmaBlu[i]             = iBandsOnArray(BufferiMaSmaRsiBlu,0,KPeriodBBBlu,DeviationBBBlu,0,MODE_LOWER,i); }

Sto usando il linguaggio MQL4 per MT. Ottengo valori corretti per la prima ema calcolata sullo stocastico. Dall'RSI in poi ottengo valori errati. Sto sbagliando qualche cosa?

Grazie in anticipo
 
Indietro