Обсуждение статьи "Строим индикатор ZigZag по осцилляторам. Пример выполнения технического задания"

 

Опубликована статья Строим индикатор ZigZag по осцилляторам. Пример выполнения технического задания:

В статье демонстрируется создание индикатора ZigZag в соответствии с одним из примеров заданий, описанным в статье "Как составить техническое задание при заказе индикатора". Индикатор строится по экстремумам, которые определяются с помощью осциллятора. В индикаторе предусмотрена возможность использования одного из пяти осцилляторов на выбор: WPR, CCI, Chaikin, RSI, Stochastic Oscillator.

В статье "Как составить Техническое задание при заказе индикатора" приведен пример технического задания на создание индикатора Зигзаг по различным осцилляторам. В этой статье я пошагово продемонстрирую, как его выполнить.

Индикатор ZigZag на основе осцилляторов

Автор: Dmitry Fedoseev

 

1.Код индикатора OscZigZagStep1

      // if on this bar was new dot, delete it and draw old ones
      if(NewDotTime==time[i]){
         ZigZagBuffer[NewDotBar]=0;  
      }
      // and draw old ones
      ZigZagBuffer[(int)lhb[i]]=high[(int)lhb[i]];
      ZigZagBuffer[(int)llb[i]]=low[(int)llb[i]];      
      
      ZigZagBuffer[i]=0;

Да но при смене направления NewDotBar=hb и lhb[i]=hb. Здесь ZigZagBuffer сначала приравнивается нулю, а затем ему возращается тоже самое значение что и было. ZigZagBuffer[(int)lhb[i]]=ZigZagBuffer[NewDotBar]=ZigZagBuffer[hb].Не понял в чём тут смысл. Значение сначала обнуляется затем присваивается тоже самое значение.

2. Индикатор на паре EURUSD 06/06/19

byl.r

Здесь вроде как не должно быть никакой вершины

 
Photic:

1.Код индикатора OscZigZagStep1

Да но при смене направления NewDotBar=hb и lhb[i]=hb. Здесь ZigZagBuffer сначала приравнивается нулю, а затем ему возращается тоже самое значение что и было. ZigZagBuffer[(int)lhb[i]]=ZigZagBuffer[NewDotBar]=ZigZagBuffer[hb].Не понял в чём тут смысл. Значение сначала обнуляется затем присваивается тоже самое значение.

2. Индикатор на паре EURUSD 06/06/19

Здесь вроде как не должно быть никакой вершины

1. Это связано с тем, что на формирующемся баре новый отрезок зигзага может исчезать. А после исчезновения нового отрезка, hb не тот же самый, а старый, от ранее сформированной вершины.

2. Не факт, что не должно. В подокне осциллятор по которому строится зигзаг? Но по нему направление определяется, а минимум и максимум по цене. Если посмотреть на осциллятор на том баре, который обведен, там низина. Дальше осциллятор еще ниже падает, но цена-то не падает. ... Не. Скорее всего дело не в той низине. Направление вниз должно было появиться примерно в 3:00 (или в 7:00), но на всем интервале от последнего максимума до 3:00 минимальная цена находится именно на этом обведенном баре.

...и если вам кажется, что это неправильный зигзаг, то может быть, это не тот зигзаг, который вам нужен. Прочитав статью внимательно вы сами сможете написать себе любой зигзаг.
 
Dmitry Fedoseev:

1. Это связано с тем, что на формирующемся баре новый отрезок зигзага может исчезать. А после исчезновения нового отрезка, hb не тот же самый, а старый, от ранее сформированной вершины.

2. Не факт, что не должно. В подокне осциллятор по которому строится зигзаг? Но по нему направление определяется, а минимум и максимум по цене. Если посмотреть на осциллятор на том баре, который обведен, там низина. Дальше осциллятор еще ниже падает, но цена-то не падает. ... Не. Скорее всего дело не в той низине. Направление вниз должно было появиться примерно в 3:00 (или в 7:00), но на всем интервале от последнего максимума до 3:00 минимальная цена находится именно на этом обведенном баре.

...и если вам кажется, что это неправильный зигзаг, то может быть, это не тот зигзаг, который вам нужен. Прочитав статью внимательно вы сами сможете написать себе любой зигзаг.

1. Первый вопрос отпал вместе с жарой

2. Из статьи и кода я понял,что макс/мин ищутся при смене направления или корректируются по мере движения. Но на обведённом участке нет смены направления, dir =1 и до и после. Зачем же и когда ищется здесь минимум. 7 июня часиков в 7:00 при смене dir=1 на dir=-1 ищется на этом участке максимум и всё. Наверно я что-то гдей-то упустил.

 
Наконец то пошел дождь и картина кажется прояснилась.
 
Photic:

1. Первый вопрос отпал вместе с жарой

2. Из статьи и кода я понял,что макс/мин ищутся при смене направления или корректируются по мере движения. Но на обведённом участке нет смены направления, dir =1 и до и после. Зачем же и когда ищется здесь минимум. 7 июня часиков в 7:00 при смене dir=1 на dir=-1 ищется на этом участке максимум и всё. Наверно я что-то гдей-то упустил.

2. Направление сменилось, и в момент смены направления минимум ищется на всем промежутке от последней вершины до места смены направления.

 
а на МТ4 есть он?
Причина обращения: