który nakłada RSI M1 na wykres M5 .Efekt jest taki że np. dobę wstecz dane M1 są przesunięte ok. 30 minut w stosunku do M5 w prawo.Wygląda tak jakby była różnica w ilości świeczek M5 i M1 z tego samego okresu (za mało M1).Przyjąłem że 5 świeczek przypada na jedną M5 , no ale się toto rozjeżdza .Wiem że AM robi przerwę i mam w ciągu doby niewielką lukę , ale 30 min nie może wynikać z krótkiej przerwy 5 min .Da się to jakoś poprawić , chodzi wykres historyczny bo bieżące wskazania są prawidłowe.
Kod: Zaznacz cały
     //M5
      for(i=limit;i>=0;i--)
      { 
         MABuffer1[i]  = iMA(Symbol(),TimeFrame,PERIOD_MA_BASE,0,MODE_RSI,MODE_PRICE,i);
      }
      for(i=limit;i>=0;i--)
      {
         RSIBuffer1[i] = iRSIOnArray(MABuffer1,0,PERIOD_RSI,i);
      }
      for(i=limit;i>=0;i--)
      {
         // wyświetlany buff RSI M5
         marsioma1[i]  = iMAOnArray(RSIBuffer1,0,PERIOD_MA,0,MODE_MA,i);
      }
      
      //-----
      //M1
      for(i=limit;i>=0;i--)
      {
         MABuffer2[i]  = iMA(Symbol(),PERIOD_M1,PERIOD_MA_BASE_2,0,MODE_RSI_2,MODE_PRICE_2,i);
      }
      for(i=limit;i>=0;i--)
      {
         RSIBuffer2[i] = iRSIOnArray(MABuffer2,0,PERIOD_RSI_2,i);
      }
      for(i=limit;i>=0;i--)
      {
         // Temp z danymi RSI M1
         marsiomaTemp[i]  = iMAOnArray(RSIBuffer2,0,PERIOD_MA_2,0,MODE_MA_2,i);
      }
      
      //-------------
      double a = 0 ;
      int tf = 0 ; 
      //------------
       for(i=limit;i>=0;i--)
      {
        a = 0 ;
        
          for(tf = 0 ; tf < 5 ; tf++)
          {
                a += marsiomaTemp[(i*5)+tf];
          }
       // Wyświetlany M1 usrednony na M5
        marsioma2[i] = a/5.0 ; 
       //lub co piąta świeca bez uśrednidnia 
       //marsioma2[i] =  marsiomaTemp[(i*5)]; 
							

