MQL4 Сдвиг обьекта

 

Здравствуйте. Рисую на графике отрезок и сдвигается он только в левую сторону, а в правую не хочет, риует бесконечную линию горизонтальную.


ObjectCreate(0,"TP1SELL"+counter1,OBJ_TREND,0,Time[i],Open[i]-100*Point,Time[i+5],Open[i]-100*Point);
//Time[i] урезает отрезок с правой стороны
//второй Time[i] удлиняет в левую сторону
// А как сместить в право? 
//Time[i-3] например, нормально отрисовываетна истории, как надо. В реале рисует длиную линию.
 
сдвигать точку в будущее не так просто как кажется, к тому же у нас есть разрыв графика в виде субботы и воскресенья, но можно использовать простой костыль и тупо сделать к примеру так
Time[i] + 600 секунд - отрисует в будущее но есть один нюанс при попадании на выходные
 
Time[i]+PeriodSeconds(PERIOD_CURRENT)*Shift
 
Aleksey Semenov:
сдвигать точку в будущее не так просто как кажется, к тому же у нас есть разрыв графика в виде субботы и воскресенья, но можно использовать простой костыль и тупо сделать к примеру так

Сделал так 

Time[i]+100*Seconds()

На истории как надо отобразилось, по факту на реальном графике рисует так же как и до этого, то есть как будто игнорирует +100 секунд.

 

1. Рассчитать индекс. Например сеqчас находимся на баре с индексом i.

2. Рассчитать индекс второго бара, допустим 15 баров в будущее: i2=i-15.

3. Получить его время:

if(i2>=0){
   t=Time[i2];
}
else{
   t=Time[0]-i2*PeriodSeconds(PERIOD_CURRENT);
}

4. По мере появления новых баров нужно делать пересчет до тех пор, пока вторая точка не окажется в пределах существующей истории. Потому-что могут быть пропуски баров.
 
Dmitry Fedoseev:

1. Рассчитать индекс. Например сеqчас находимся на баре с индексом i.

2. Рассчитать индекс второго бара, допустим 15 баров в будущее: i2=i-15.

3. Получить его время:

if(i2>=0){
   t=Time[i2];
}
else{
   t=Time[0]-i2*PeriodSeconds(PERIOD_CURRENT);
}

4. По мере появления новых баров нужно делать пересчет до тех пор, пока вторая точка не окажется в пределах существующей истории. Потому-что могут быть пропуски баров.

Спасибо

 
Vitaly Muzichenko:

Спасибо большое, самый простой и рабочий вариант.

Причина обращения: