Переместить объёкты на день назад.

 

День добрый.

На графике нарисовано множество прямоугольников. Мне необходимо каждый прямоугольник переместить на день назад и обратно, при необходимости. Может есть скрипт какой ? Или индюк ? Или вручную придётся ?

 
void MoveObjects(int step = 1) // перемещение всех объектов слева от нуля/начала на step баров назад
{
  int i,n; datetime t; 
  for(i=ObjectsTotal()-1; i>=0; i--) 
  {
    t=ObjectGet(ObjectName(i),OBJPROP_TIME1); n=iBarShift(NULL,0,t,true)+step; if(n>0) ObjectSet(ObjectName(i),OBJPROP_TIME1,Time[n]);
    t=ObjectGet(ObjectName(i),OBJPROP_TIME2); n=iBarShift(NULL,0,t,true)+step; if(n>0) ObjectSet(ObjectName(i),OBJPROP_TIME2,Time[n]);
    t=ObjectGet(ObjectName(i),OBJPROP_TIME3); n=iBarShift(NULL,0,t,true)+step; if(n>0) ObjectSet(ObjectName(i),OBJPROP_TIME3,Time[n]);
  }
}
 
f.t.:


Спасибо большое, но что мне с этим кодом делать ?
 
Kreol:

Спасибо большое, но что мне с этим кодом делать ?

использовать! написать абсолютно универсальную функцию - нельзя. она ведь должна учитывать какие именно объекты вам нужно двигать, как и когда их и в каком направлении.... т.е. специфику вашего чарта. так что придется вам самому писать код. ну или просить когото (сразу говорю: я не смогу - нет времени).

 
f.t.:

использовать! написать абсолютно универсальную функцию - нельзя. она ведь должна учитывать какие именно объекты вам нужно двигать, как и когда их и в каком направлении.... т.е. специфику вашего чарта. так что придется вам самому писать код. ну или просить когото (сразу говорю: я не смогу - нет времени).



Нет, я понял что её использовать, но как ? Я не очень разбираюсь в кодах, поэтому просто скажите, куда её "засунуть", что называется :)
 
Kreol:

... просто скажите, куда её "засунуть"
если здесь никто не поможет, пишите сюда https://www.mql5.com/ru/job
Причина обращения: