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)];