- При переключении TimeFrame на панеле инструментов индикатор рисует неверно
- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
- После перезапуска терминала нет отрисовки индикатора
Здравствуйте уважаемые профессионалы MQL. Очень нужна Ваша помощь. После переработки индикатора с MQL4 в MQL5 перестали рисоваться стрелки, хотя расчеты внутри индикатора идут верно, но отрисовки нет. Скажите пожалуйста, в чем может быть причина?
Для предопределённых массивов high и low у Вас стоит флаг "массив как таймсерия" (стр 86, 87):
ArraySetAsSeries(high, true); ArraySetAsSeries(low, true);
В то же время для индикаторных рисуемых массивов-буферов up и dn такой флаг в OnInit() у Вас не установлен. Соответственно, массивы имеют противонаправленную индексацию, что не правильно. Установите буферам up и dn индексацию как в таймсерии.
Кроме того: у Вас всего два массива, установленные как рисуемые индикаторные буферы, а в директивах указано, что их четыре:
#property indicator_buffers 4 #property indicator_plots 4
buffers - это всего сколько буферов
plots - количество рисуемых из них.
Поставьте везде 2
Для предопределённых массивов high и low у Вас стоит флаг "массив как таймсерия" (стр 86, 87):
В то же время для индикаторных рисуемых массивов-буферов up и dn такой флаг в OnInit() у Вас не установлен. Соответственно, массивы имеют противонаправленную индексацию, что не правильно. Установите буферам up и dn индексацию как в таймсерии.
Кроме того: у Вас всего два массива, установленные как рисуемые индикаторные буферы, а в директивах указано, что их четыре:
buffers - это всего сколько буферов
plots - количество рисуемых из них.
Поставьте везде 2
Большое спасибо.
Иногда был написан такой код, что итоговую линию индикатор рисовал. Но сейчас не рисует.
сравните с вариантом где рисовал и разберитесь что такого наисправлено :-)
на поверхностный взгляд у вас там лишние настройки PLOT_DRAW_BEGIN и сильно преждевременная оптимизация (великий программистский грех)
PS/ старайтесь писать максимально очевидный код. "на i баре .. a) берём показания линий b) складываем, вычитаем, умножаем c) записываем в буфер"
пусть не оптимально, зато работает и лёгко сопровождать/менять. Когда встанет вопрос скорости - тогда скоростью и займётесь.
PPS/ и да: короткие вещи лучше вставлять как код в сообщения и не принуждать других скачивать файлы
Здравствуйте! От Максима Кузнецова я не получил ответа. Это комментарий ради комментария. Отписка. По прежнему бьюсь над индикатором. Он нужен мне, потому что тестер стратегий работает не лучшим образом. Проще самому посчитать прибыльность советника: лоты, свопы. В советнике вычисления, которые на графике движения цены не видны. Поэтому пишу индикатор. Он делает часть вычислений видными. У меня получилось сделать видимой главную линию индикатора. А дополнительные, -- не получается. Почему -- не пойму. Поэтому опять пишу на форум. Кто хорошо знает как писать индикаторы, может подскажете? Фрагмент кода не копирую. Нужно знать всё что написано в файле. Иначе не поймёте. Выкладываю файл индикатора. Ошибка -- выход за пределы массива. Не могу понять где выход за пределы? 2023.12.24_13:,35 GMT+3.
и ещё раз : "PPS/ и да: короткие вещи лучше вставлять как код в сообщения и не принуждать других скачивать файлы"
прямо в первх-же строчках
#property indicator_buffers 4
#property indicator_plots 4
НЕВЕРНО - у вас 7 буферов
PlotIndexSetInteger(4,PLOT_DRAW_BEGIN,InpMA2Period+1);
вообще ненужно - потому что он не рисуется, потому что буфер INDICATOR_DATA
открывайте документацию, даже учебник неплохой опубликован - и вперёд
что и как вычисляете даже и не смотрел :-)
Здравствуйте! От Максима Кузнецова я не получил ответа. Это комментарий ради комментария. Отписка. По прежнему бьюсь над индикатором. Он нужен мне, потому что тестер стратегий работает не лучшим образом. Проще самому посчитать прибыльность советника: лоты, свопы. В советнике вычисления, которые на графике движения цены не видны. Поэтому пишу индикатор. Он делает часть вычислений видными. У меня получилось сделать видимой главную линию индикатора. А дополнительные, -- не получается. Почему -- не пойму. Поэтому опять пишу на форум. Кто хорошо знает как писать индикаторы, может подскажете? Фрагмент кода не копирую. Нужно знать всё что написано в файле. Иначе не поймёте. Выкладываю файл индикатора. Ошибка -- выход за пределы массива. Не могу понять где выход за пределы? 2023.12.24_13:,35 GMT+3.
попробуйте
ошибку читайте полностью
обычно в ошибке дополнительно указывается номер строки и позиция
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования