Судя по молчанию, более, чем за семь лет, как эта проблема была озвучена публично еще на четвертом форуме (гугл помнит), разработчики функционала так и не создали.
По какой-то причине до сих пор нельзя по-человечески сделать считывание данных индикатора с чарта! Звучит бредово, но это так.
Проблема в постановке задачи.
Вы просто не для того используете индикаторы. Они не предназначены для работы по таймеру и реакции на события, они предназначены для экономного перелопачивания тайм-серий.
Подойдите к своей задаче с другой стороны, и найдете красивое и экономное решение.
Вы просто не для того используете индикаторы. Они не предназначены для работы по таймеру и реакции на события, они предназначены для экономного перелопачивания тайм-серий.
Подойдите к своей задаче с другой стороны, и найдете красивое и экономное решение.
Как обухом по голове такое заявление. Решил поискать индикаторы в кодобазе. Не нашел НИ ОДНОГО, в котором бы использовалось то, к чему привык: событийная модель + ООП.
Сложно сказать, чего больше: расстройства или разочарования от такого положения вещей. Индикаторы, оказывается, НЕОБХОДИМО писать примитивно.
Кто-нибудь использует в индикаторах событийную модель + ООП?
Ну и это все же не отменяет недоумение, что программно нельзя получить то, что вижу глазами на чарте!
При написании проверочного советника с iCustom столкнулся с неразрешимой проблемой MQL. Узнать имя файла (см. код) индикатора и значения входных параметров - не вопрос. Но после этого вставить эти входные параметры индикатора в iCustom - никак. Вызов iCustom устроен так, что универсальное решение для любого индикатора подходит только в случае с дефолтными входными параметрами. Иначе - приходится лезть в код. Какое-то кривое решение. Можно же было передавать входы индикатора в виде структуры с соответствующими string-полями. Но сделали через многоточие, что убило всю универсальность вызова. Еще одно непонятное ограничение!
Как обухом по голове такое заявление. Решил поискать индикаторы в кодобазе. Не нашел НИ ОДНОГО, в котором бы использовалось то, к чему привык: событийная модель + ООП.
Сложно сказать, чего больше: расстройства или разочарования от такого положения вещей. Индикаторы, оказывается, НЕОБХОДИМО писать примитивно.
Кто-нибудь использует в индикаторах событийную модель + ООП?
Ну и это все же не отменяет недоумение, что программно нельзя получить то, что вижу глазами на чарте!
Зачем? Там уже все украдено до нас, есть функция OnCalculate - событие приходя тика. Хочется использовать ООП - используйте, только зачем оно там, куда его там девать?
Подопытный:
Ну и что?
Запускаете индикатор, затем - советник
Наблюдаете, что значения буфера индикатора (CTRL+D) не совпадают со значениями iCustom (выводятся в комментарий чарта советником).
iCustom в случае с нашим подопытным будет выдавать либо EMPTY_VALUE, либо ноль.
Проверил. Не то, чтобы не совпадало, его вообще нет. Прикольненько.
По какой-то причине до сих пор нельзя по-человечески сделать считывание данных индикатора с чарта! Звучит бредово, но это так.
Проблема в постановке задачи.
Вы просто не для того используете индикаторы. Они не предназначены для работы по таймеру и реакции на события, они предназначены для экономного перелопачивания тайм-серий.
Подойдите к своей задаче с другой стороны, и найдете красивое и экономное решение.
Дело не в чтении буферов, а в том, что у индикатра вызванного через iCustom() не работает таймер и нет событий чарта.
А зачем они?
Ну, серьезно, зачем?
А зачем они?
Ну, серьезно, зачем?
Проблема в постановке задачи.
Вы просто не для того используете индикаторы. Они не предназначены для работы по таймеру и реакции на события, они предназначены для экономного перелопачивания тайм-серий.
Подойдите к своей задаче с другой стороны, и найдете красивое и экономное решение.
Как обухом по голове такое заявление. Решил поискать индикаторы в кодобазе. Не нашел НИ ОДНОГО, в котором бы использовалось то, к чему привык: событийная модель + ООП.
Сложно сказать, чего больше: расстройства или разочарования от такого положения вещей. Индикаторы, оказывается, НЕОБХОДИМО писать примитивно.
Кто-нибудь использует в индикаторах событийную модель + ООП?
Ну и это все же не отменяет недоумение, что программно нельзя получить то, что вижу глазами на чарте!
Как обухом по голове такое заявление. Решил поискать индикаторы в кодобазе. Не нашел НИ ОДНОГО, в котором бы использовалось то, к чему привык: событийная модель + ООП.
Сложно сказать, чего больше: расстройства или разочарования от такого положения вещей. Индикаторы, оказывается, НЕОБХОДИМО писать примитивно.
Кто-нибудь использует в индикаторах событийную модель + ООП?
Ну и это все же не отменяет недоумение, что программно нельзя получить то, что вижу глазами на чарте!