Индикатор по ценам открытия дня

 

Привет всем!

Решил написать индикатор строящий горизонтальные линии (это будут уровни в логике трейдинга). Алгоритм собственно такой:

1) Выводим горизонтальную линию в по средней цене между High и Low первой свечи

2) Если в этом диапазоне уже есть линия от предыдущих дней (когда в разные дни цены High и Low первой свечи практически совпали), то находим эту линию на графике и делаем ее толще

Возникли вопросы следующего характера:

По MQL4: 1) Правильно указать время вывода линии на график, пробовал так (для М15), но не рисует:

if (TimeHour(TimeCurrent())==0 && TimeMinute(TimeCurrent())==15 && TimeSeconds(TimeCurrent())==1)
{

ObjectCreate("HHL_"+i,OBJ_HLINE,0,0,0,0,0);
i++;

}

По MQL5:

Как я понял невозможно использовать ObjectCreate в пользовательских индикаторах, т.е. для реализации своей задумки надо это все реализовывать в советнике?

 
ITeXPert >>:

Привет всем!

Решил написать индикатор строящий горизонтальные линии (это будут уровни в логике трейдинга). Алгоритм собственно такой:

1) Выводим горизонтальную линию в по средней цене между High и Low первой свечи

2) Если в этом диапазоне уже есть линия от предыдущих дней (когда в разные дни цены High и Low первой свечи практически совпали), то находим эту линию на графике и делаем ее толще

Возникли вопросы следующего характера:

По MQL4: 1) Правильно указать время вывода линии на график, пробовал так (для М15), но не рисует:

if (TimeHour(TimeCurrent())==0 && TimeMinute(TimeCurrent())==15 && TimeSeconds(TimeCurrent())==1)
{

ObjectCreate("HHL_"+i,OBJ_HLINE,0,0,0,0,0);
i++;

}

По MQL5:

Как я понял невозможно использовать ObjectCreate в пользовательских индикаторах, т.е. для реализации своей задумки надо это все реализовывать в советнике?

1) ObjectCreate("HHL_"+i,OBJ_HLINE,0,цена_то_где???,0,0,0);

2) правильно поняли

 

ставил Ask, все равно не рисует, попутный вопрос, надо ли инициализировать буферы для такого индикатора, как например при создании индикатора с Moving Average?

 

пардон, не посмотрел сразу на ваш if - написал, что бросилось в глаза.

ваше условие будет истинным (смотрим в справке описание использованных функций), тогда, когда время последней пришедшей с сервера котировки равно 0ч. 15мин.1сек. Вам точно именно этого надо?

если рисуются только объекты, буферы не обязательны.

 

Мне нужно нарисовать горизонтальную линию, после того как сформируется первая 15минутная свеча начала дня, т.е. я так понимаю условие правильное или я неправильно его сформулировал?

P.S. Правда так и не пойму почему разработчики зарубили возможность создания объектов через ObjectCreate в индикаторе, удобно ведь

 


Вот такой есть

Файлы:
 
ITeXPert >>:

Правда так и не пойму почему разработчики зарубили возможность создания объектов через ObjectCreate в индикаторе, удобно ведь

говорят, что из-за быстродействия, хотя я лично не согласен в корне - большинство моих индикаторов работают дольше в силу сложности алгоритма, а не рисования картинок. ИМХО, гораздо полезнее было бы думать над выделением индикаторов в отдельный программный поток (ну, или потоки), как это сделано с экспертами.

 


еще вариант

Файлы:
 

Спасибо poruchik за индюк, но у меня несколько другая реализация будет (в первом посте описано), если есть исходник этого индикатора, буду премного благодарен :)

 
Исходника - нет