Announcement

Collapse
No announcement yet.

Calcolo valori degli indicatori concatenati

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Calcolo valori degli indicatori concatenati

    Buonasera a tutti,
    questa volta ho la necessità di calcolare diversi valori provenienti da indicatori costruiti uno appoggiato sull'altro. Vi mostro cosa ho fatto:

    Code:
       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); }
    Ottengo valori corretti per la prima ema calcolata sullo stocastico. Dall'RSI in poi ottengo valori errati. Sto sbagliando qualche cosa?

    Grazie in anticipo

    #2
    Risolto, usavo un valore troppo piccolo di
    iMaExpStoBluPeriod

    Comment

    Working...
    X