Calcolo valori degli indicatori concatenati

  • Due nuove obbligazioni Societe Generale, in Euro e in Dollaro USA

    Societe Generale porta sul segmento Bond-X (EuroTLX) di Borsa Italiana due obbligazioni, una in EUR e una in USD, a tasso fisso decrescente con durata massima di 15 anni e possibilità di rimborso anticipato annuale a discrezione dell’Emittente.

    Per continuare a leggere visita questo LINK

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