Добрый День!
Столкнулся с такой проблемой.
Написал эксперта на кастомном индикаторе. Индикатор рисует всё чётко. Советник тоже верно берёт его сигналы, делает всё как надо.
НО!
Через какое-то время - день, два - индикатор объявляет забастовку. Т.е. он всё рисует как надо, но в советник выдаёт либо чёрти что, либо вообще ничего. Такое впечатление, что заполняется некий кеш (???) и всё останавливается.
RefreshRates(); не помогает. Перезапуск МТ - помогает на какое-то время. Но потом всё опять останавливается.
Что это, Бэримор??? (с)
количество буферов должно четко соответствовать количеству отображаемых массивов
если больше, то будет описываемая Вами ситуация
количество буферов должно четко соответствовать количеству отображаемых массивов
если больше, то будет описываемая Вами ситуация
Я это знаю. И у меня 2=2
Добрый День!
Столкнулся с такой проблемой.
Написал эксперта на кастомном индикаторе. Индикатор рисует всё чётко. Советник тоже верно берёт его сигналы, делает всё как надо.
НО!
Через какое-то время - день, два - индикатор объявляет забастовку. Т.е. он всё рисует как надо, но в советник выдаёт либо чёрти что, либо вообще ничего. Такое впечатление, что заполняется некий кеш (???) и всё останавливается.
RefreshRates(); не помогает. Перезапуск МТ - помогает на какое-то время. Но потом всё опять останавливается.
Что это, Бэримор??? (с)
Так попробуйте принтовать то, что передает индикатор, а то может дело в советнике...
Я для таких целей использую лэйбл на чарте, что б не мусорить избыточно.количество буферов должно четко соответствовать количеству отображаемых массивов
если больше, то будет описываемая Вами ситуация
Т.е. если 2 графических буфера и два для вычислений, то будет коллапс? А где об этом написано, чем объясняется?
Так попробуйте принтовать то, что передает индикатор, а то может дело в советнике...
Я вывел результаты в Comment
Именно оттуда я и узнал, почему советник не работает. Из-за бардака в значениях индикатора. А вот что дальше - понятия не имею.
И самое интересное, что Окно данных "говорит" именно то, что надо, то, что и сейчас, и раньше (+1 +2...) нарисовал индикатор. Но с тем, что получает советник это никак не совпадает!
Я буру данные из shift1. Так вот в Окне данных написано одно (то, что и нарисовано), а в Комменте (из советника) - совершенно другое!
Я вывел результаты в Comment
Именно оттуда я и узнал, почему советник не работает. Из-за бардака в значениях индикатора. А вот что дальше - понятия не имею.
А если индикатор бросить на чарт с теми же настройками, то расчет правильный будет в информационном окне терминала? А если параллельно запустить этот индикатор и подождать пару дней?
И самое интересное, что Окно данных "говорит" именно то, что надо, то, что и сейчас, и раньше (+1 +2...) нарисовал индикатор. Но с тем, что получает советник это никак не совпадает!
Я буру данные из shift1. Так вот в Окне данных написано одно (то, что и нарисовано), а в Комменте (из советника) - совершенно другое!
Так говорит оно спустя то же время?
Если так, то странно. Думаю, лучше писать в серсесдеск, так как воспроизвести тут эту ситуацию не представляется возможным.
А если индикатор бросить на чарт с теми же настройками, то расчет правильный будет в информационном окне терминала?
В том то и дело, что в Окне данных одно, а ПАРАЛЛЕЛЬНО в Комменте из Советника - совершенно другое!
Может давать сбой если функции используете в условии, нужно приравнять ее значению переменной и потом только использовать
то есть нельзя if(ind()>0){}
нужно
double ind=ind();
if(ind>0){}
Может давать сбой если функции используете в условии, нужно приравнять ее значению переменной и потом только использовать
то есть нельзя if(ind()>0){}
нужно
double ind=ind();
if(ind>0){}
Полностью с Вами согласен!
И конструкцию if(ind()>0){} не использую никогда! Только операции с переменными.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый День!
Столкнулся с такой проблемой.
Написал эксперта на кастомном индикаторе. Индикатор рисует всё чётко. Советник тоже верно берёт его сигналы, делает всё как надо.
НО!
Через какое-то время - день, два - индикатор объявляет забастовку. Т.е. он всё рисует как надо, но в советник выдаёт либо чёрти что, либо вообще ничего. Такое впечатление, что заполняется некий кеш (???) и всё останавливается.
RefreshRates(); не помогает. Перезапуск МТ - помогает на какое-то время. Но потом всё опять останавливается.
Что это, Бэримор??? (с)