![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
"Ну и, если я правильно понимаю названия буферов (ExtMacdBuffer - буфер значений MACD, отображаемый в виде гистограммы, ExtSignalBuffer - буфер сигнальной линии, отображаемый в виде линии, ExtZigzagBuffer - буфер зигзага, отображаемый в виде соединяемых экстремумов)"
Вы правильно всё поняли.
Нумерацию подправил. Я что то лишние убрал?Собрал весь код (что касается макди и зигзаг).
при компиляции ошибок и предупреждений нет.
При этом были выявлены не дочёты в логике индюка.
Два лишних буфера отражаются (я так предпологаю).
Собрал весь код (что касается макди и зигзаг).
Опять 25 ))
Почему буфер с индексом 0 имеет тип отрисовки DRAW_SECTION, если ему соответствует массив для расчета значений MACD? MACD - гистограмма? Значит тип отрисовки должен быть DRAW_HISTOGRAM.
Дальше - аналогично: сигнальная линия - это линия. Значит и тип отрисовки должен быть DRAW_LINE. Ну а зигзаг - это DRAW_SECTION.
при компиляции ошибок и предупреждений нет.
Это лишь небольшая победа, не более ))
При этом были выявлены не дочёты в логике индюка.
Два лишних буфера отражаются (я так предпологаю).
Они вообще не привязаны к буферам. В коде указано использование всего лишь 3-х буферов, а происходят попытки заполнения всех пяти. В итоге индикатор завершается с фатальной ошибкой - ошибкой выхода за пределы массива. В данном случае ошибка в строке 189. Чтобы ее не было, нужно:
Зигзаг неправильно не отрисовывается.
До него дело попросту не доходит. Индикатор крешится.
P. S. Хотя я не понимаю, что Вы собираетесь дальше делать с зигзагом, если он основан на поиске экстремумов ценового графика. Приведенный код никакого отношения к поиску экстремумов MACD не имеет. Вы пытаетесь скрестить носорога с бульдозером.
Опять 25 ))
Почему буфер с индексом 0 имеет тип отрисовки DRAW_SECTION, если ему соответствует массив для расчета значений MACD? MACD - гистограмма? Значит тип отрисовки должен быть DRAW_HISTOGRAM.
Дальше - аналогично: сигнальная линия - это линия. Значит и тип отрисовки должен быть DRAW_LINE. Ну а зигзаг - это DRAW_SECTION.
Это лишь небольшая победа, не более ))
Они вообще не привязаны к буферам. В коде указано использование всего лишь 3-х буферов, а происходят попытки заполнения всех пяти. В итоге индикатор завершается с фатальной ошибкой - ошибкой выхода за пределы массива. В данном случае ошибка в строке 189. Чтобы ее не было, нужно:
До него дело попросту не доходит. Индикатор крешится.
P. S. Хотя я не понимаю, что Вы собираетесь дальше делать с зигзагом, если он основан на поиске экстремумов ценового графика. Приведенный код никакого отношения к поиску экстремумов MACD не имеет. Вы пытаетесь скрестить носорога с бульдозером.
"Опять 25 ))" Я что не сохранил выходит)).
Сейчас буду править
"P. S. Хотя я не понимаю, что Вы собираетесь дальше делать с зигзагом, если он основан на поиске экстремумов ценового графика. Приведенный код никакого отношения к поиску экстремумов MACD не имеет. Вы пытаетесь скрестить носорога с бульдозером."
Как сказать)"Опять 25 ))" Я что не сохранил выходит)).
Сейчас буду править
"P. S. Хотя я не понимаю, что Вы собираетесь дальше делать с зигзагом, если он основан на поиске экстремумов ценового графика. Приведенный код никакого отношения к поиску экстремумов MACD не имеет. Вы пытаетесь скрестить носорога с бульдозером."
Как сказать)Вроде всё исправил
итог
Вроде всё исправил
итог
Касательно MACD и сигнальной линии, а также с объявлением буферов теперь все верно. Теперь нужно решить вопрос с зигзагом. Он рассчитывается по ценовому графику. В итоге имеет значения более 1. В то же время MACD имеет значения в 300 раз меньше. Поэтому MACD и сигнальной линии в окне индикатора не видно. Они лишь иногда проскакивают в показаниях в виде прямой линии. Именно про это я говорил в контексте носорога и бульдозера: подход для стандартного зигзага здесь неуместен, делается совершенно по-другому.
Касательно MACD и сигнальной линии, а также с объявлением буферов теперь все верно. Теперь нужно решить вопрос с зигзагом. Он рассчитывается по ценовому графику. В итоге имеет значения более 1. В то же время MACD имеет значения в 300 раз меньше. Поэтому MACD и сигнальной линии в окне индикатора не видно. Они лишь иногда проскакивают в показаниях в виде прямой линии. Именно про это я говорил в контексте носорога и бульдозера: подход для стандартного зигзага здесь неуместен, делается совершенно по-другому.
"подход для стандартного зигзага здесь неуместен, делается совершенно по-другому." Выходит, что в мт 4 это сделать нельзя?
"подход для стандартного зигзага здесь неуместен, делается совершенно по-другому." Выходит, что в мт 4 это сделать нельзя?
Очень даже можно. Но выбранное Вами решение не подходит.
Очень даже можно. Но выбранное Вами решение не подходит.
"Вами решение не подходит." Вы можете что нибудь посоветовать?