Изучаем MQL II

 
Изучаем MQL II
Хочу поделиться небольшим опытом использования MoveObject.
Цель - нарисовать линию тренда по двум последним максимумам. В советнике вставил строку:
MoveObject("trend",OBJ_TRENDLINE,CurTime-x2*3600,High[x2],CurTime-x1*3600,High[x1]);
3600 - Это часовой график.
Линия нарисовалась как надо, но через полчаса линия сместилась вправо на полчаса. Произошло округление параметра "time". Решил проблему так - отнял 1800. Заработало как надо. Строка теперь выглядит так:
MoveObject("trend",OBJ_TRENDLINE,CurTime-x2*3600-1800,High[x2],CurTime-x1*3600-1800,High[x1]);
Строка исправно работала на прошлой неделе, а в понедельник - перестала. Линия рисуется, но не правильно. Оказалось что если точка максимума сформировалась до выходных то "time" равно началу торгов на этой неделе.
Когда появился первый бар на этой неделе то линия нарисовалась вертикально. Когда образовался первый максимум линия прошла от
первого бара на этой неделе и через максимум. И только когда появился второй максимум все встало на свои места.
Помогите разобраться. Заранее спасибо.
 
trend
Рекомендуем вместо функции CurrTime использовать предопределенную переменную Time:


// 480 hours
x1 = Highest(MODE_HIGH, 480, 240);
// 240 hours
x2 = Highest(MODE_HIGH, 240, 240);
// resistance line for last 20 days
MoveObject("trend",OBJ_TRENDLINE,Time[x1],High[x1],Time[x2],High[x2]);