Прошу помощь зала. - страница 7

 

ПРи таких астройках:

// По два индикаторных буффера использовано для вывода на график каждого зигзага
   SetIndexBuffer(0,LowestBuffer1,INDICATOR_DATA);   // Plot = 0
   SetIndexBuffer(1,HighestBuffer1,INDICATOR_DATA);
   SetIndexBuffer(2,LowestBuffer2,INDICATOR_DATA);   // Plot = 1
   SetIndexBuffer(3,HighestBuffer2,INDICATOR_DATA);
   SetIndexBuffer(4,LowestBuffer3,INDICATOR_DATA);   // Plot = 2
   SetIndexBuffer(5,HighestBuffer3,INDICATOR_DATA);
   SetIndexBuffer(6,LowestBuffer4,INDICATOR_DATA);   // Plot = 3
   SetIndexBuffer(7,HighestBuffer4,INDICATOR_DATA);

// Установка значений индикатора, которые не будут видимы на графике
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);
   PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,0.0);
   PlotIndexSetDouble(4,PLOT_EMPTY_VALUE,0.0);
   PlotIndexSetDouble(6,PLOT_EMPTY_VALUE,0.0);

Картинка такая:

Но зигзаги не выводятся.

А вот версия с отладочным кодом. Во вкладку ЭКСПЕРТЫ выводятся данные из индикаторных буферов для четырех зигзагов и из буферов, в которых записаны минимумы. Можно вывести и из буферов с максимумами. Но это ничего нового добавит

Файлы:
MZZ9.mq5  105 kb
 
Eugeni Neumoin #:

Перед тем как выложить здесь проблему, проверил есть ли данные в индикаторных буферах. И в версии для МТ4, и в версии для МТ5  данные в индикаторные буферы записываются. ПРичем данные примерно одинаковые с учетом того, что  для МТ4 идут данные от форекс клуба, а для МТ5 от метаквотес.

Участок отладочного кода перед выкладыванием здесь удалил. Но могу и с этим участком выложить.

А раз данные в индикаторные буферы поступают, значит проблема с выводом на график. То есть как раз где-то здесь:

у вас зигзагов 4 (ЧЕ-ТЫ-РЕ) . 

//  Отрисовка индикатора в основном окне
#property indicator_chart_window
//  Количество индикаторных буфферов
#property indicator_buffers 8
#property indicator_plots 8
#property indicator_type1   DRAW_ZIGZAG
#property indicator_type2   DRAW_ZIGZAG
#property indicator_type3   DRAW_ZIGZAG
#property indicator_type4   DRAW_ZIGZAG

indicator_plots должен быть 4

и как выше указал 2 4 6 исправить на 1 2 3

и совсем хорошо задать стили. indicator_color1 indicator_width1 и так далее. Или настроить их через PlotIndexSetXXX(index ...) index от 0 до 3

 
Maxim Kuznetsov #:

у вас зигзагов 4 (ЧЕ-ТЫ-РЕ) . 

indicator_plots должен быть 4

и как выше указал 2 4 6 исправить на 1 2 3

и совсем хорошо задать стили. indicator_color1 indicator_width1 и так далее. Или настроить их через PlotIndexSetXXX(index ...) index от 0 до 3

При задании  2 4 6 исправить на 1 2 3 и  indicator_plots  4 

картинки выкладывал. Там, где идет сравнение МТ4 и МТ5. В МТ4 выводятся 4 зигзага. А в МТ5 при предложенных Вами настройках могли бы выводиться только 2 зигзага. Картинки там показаны.

Но в МТ5 зигзаги не выводятся.

А стили задаются через  PlotIndexSetXXX(index ...)  Несколько ниже в секции Init

 

Получается так. Если выводим один зигзаг с помощью DRAW_ZIGZAG, зигзаг выводится. Как это сделано в этой моей программе-монстре https://www.mql5.com/ru/forum/336663

А вот если выводить более одного зигзага  с помощью DRAW_ZIGZAG, то возникает проблема.


================

Стоп...

Хотя там  https://www.mql5.com/ru/forum/336663 есть вариант вывода 9 зигзагов для девяти волновых уровней.. И он работает. Ладно. Попробую по-новой перевести версию МТ4 в МТ5.

ПРоверю. Может и я где-то накосячил. Но странно . Здесь вообще маленькая программа. И не работает. А там монстр и вообще очень сложная секция INIT.

Там задано:

#property indicator_buffers 28

#property indicator_plots 18

А все остальное в динамическом режиме задается. И не только в Инит. И все работает.
Open sourse ZUP
Open sourse ZUP
  • 2020.04.04
  • Eugeni Neumoin
  • www.mql5.com
Выкладываю исходные коды индикаторной платформы ZUP. Единственное требование. Не использовать представленный код для продажи...
 

Оригинальная версия  мультизигзага MZZ9 для МТ4 создавалась более 10 лет назад. Что-то просто подзабылось. При создании версии под МТ4 решались достаточно амбициозные задачи с зигзагами. То есть вычисления минимизировались. Что позволило выводить огромное количество зигзагов на всех открытых графиках. И это не вызывало зависание компьютера на быстром рынке. Даже во время серьезных новостей. Со стандартным зигзагом такое было невозможно.

Это помимо того, что тогда приходилось исправлять множество ошибок в "стандартном" зигзаге.  

При переводе на МТ5 необходимо делать некоторые преобразования. И, похоже, я что-то упустил. Поэтому и возникли вопросы.

Всем спасибо.