Искринне прошу меня извинить, но если бы это сработало, я бы не
задовал предыдущего вопроса. Дело в том, что это обращение, возвращает
одновременно вот такую "2147483647" большую цыфру. И чё с ней
делать, ума не приложу. Были бы хоть координаты, куда б не шло.
Если не лень, посмотрите сами.
Погулял по бескрайним простором вышеуказанной ссылки. Сделал
единственный вывод в существующей ошибке. Добавил SetIndexEmptyValue(0,0.0);
и получил всё по нулям. Может приведёте конкретный пример. А
то мне и так ещё много ночей не спать, пока удовлетворю своё
любопытство в изучении подводных камней.
в функцию индикатора init() добавь : SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
Дальше buf0[] и buf[] хранят значения стрелочек на каждом баре.
Если это значение не равно 0, стрелочка на баре есть.
Например если тебе нужно, определить на каких именно из 10-ти
последних баров есть верхние стрелочки, то можно сделать так:
intnum[10];//массив для хранения номеров баров
doubleup=0;
intn=0;
for(inti=0;i<10;i++){up=iCustom(NULL,0,"ASC_Trend_1sig",3,0,i);//берем значение 0-го буфера индикатора на i-м баре
if(up!=0)//если не равно 0, то стрлочка на i-м баре есть{num[n]=i;//сохраняем её номер в массиве
n++;
}}
Doctorcoot писал (а):
Да. Верно. Работает.
Только я на тестере проверял. А там вот такой пейзаж выходит.
Вы правы, проблема действительно есть, и она в индикаторе. Только
желания исправлять её у меня нет.
Как временное решение - расчитывать в индикаторе всю историю
каждый тик (убрать counted_bars).
А лучше перенести расчет в код эксперта - это достаточно просто.
Doctorcoot писал (а): Да. Верно. Работает. Только я на тестере проверял. А там вот такой пейзаж выходит.
Вы правы, проблема действительно есть, и она в индикаторе. Только желания исправлять её у меня нет.
Как временное решение - расчитывать в индикаторе всю историю каждый тик (убрать counted_bars). А лучше перенести расчет в код эксперта - это достаточно просто.
Перенести код индюка в эксперта - это явный гемор.
А вот то, что в тестере буфер потиково инициализируется, а в реальном времени не трогает накопленную информацию - это очередной глюк со стороны разработчиков. Такого быть не должно. Надо Рената попинать, пущай исправляют. А то на Java переходить не хотят, кочевряжатся. Зато глюков вешают немерянно. На каждый пофиксенный баг, десяток другой новых сажают. МТ4 уже не торговый терминал, а сплошной глюкогенератор.
Искринне прошу меня извинить, но если бы это сработало, я бы не задовал предыдущего вопроса. Дело в том, что это обращение, возвращает одновременно вот такую "2147483647" большую цыфру. И чё с ней делать, ума не приложу. Были бы хоть координаты, куда б не шло. Если не лень, посмотрите сами.
и получил всё по нулям. Может приведёте конкретный пример. А то мне и так ещё много ночей не спать, пока удовлетворю своё любопытство в изучении подводных камней.
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
Дальше buf0[] и buf[] хранят значения стрелочек на каждом баре.
Если это значение не равно 0, стрелочка на баре есть.
Например если тебе нужно, определить на каких именно из 10-ти последних баров есть верхние стрелочки, то можно сделать так:
Всё равно одни нули. Не одной координаты. через Print проверял.
Прицепил на график ASC_Trend_1sig.mq4, запустил написанный для проверки скрипт ASC_test.mq4 и получил следующую картинку:
Где нули? ;)
Только я на тестере проверял. А там вот такой пейзаж выходит.
Doctorcoot писал (а):
Вы правы, проблема действительно есть, и она в индикаторе. Только желания исправлять её у меня нет.Да. Верно. Работает.
Только я на тестере проверял. А там вот такой пейзаж выходит.
Как временное решение - расчитывать в индикаторе всю историю каждый тик (убрать counted_bars).
А лучше перенести расчет в код эксперта - это достаточно просто.
Doctorcoot писал (а):
Вы правы, проблема действительно есть, и она в индикаторе. Только желания исправлять её у меня нет.Да. Верно. Работает.
Только я на тестере проверял. А там вот такой пейзаж выходит.
Как временное решение - расчитывать в индикаторе всю историю каждый тик (убрать counted_bars).
А лучше перенести расчет в код эксперта - это достаточно просто.
А вот то, что в тестере буфер потиково инициализируется, а в реальном времени не трогает накопленную информацию - это очередной глюк со стороны разработчиков. Такого быть не должно. Надо Рената попинать, пущай исправляют. А то на Java переходить не хотят, кочевряжатся. Зато глюков вешают немерянно. На каждый пофиксенный баг, десяток другой новых сажают. МТ4 уже не торговый терминал, а сплошной глюкогенератор.