Торговые системы: Show Must Go On... или очередное возвращение к ZigZag'у - страница 2

 
Belford:
Задержка этого ZZ, два бара на каждом периоде.

Да, совершенно верно, точно такая же как и у Faratal.... по другому и не планировалось.

Тут бы стоило о различии в терминах поговорить: "задержка - запаздывание".... хотя и это тоже очевидно.

 
platon:

 Он не перерисовывается, только иногда изменяется цвет линий т.к. в силу условий линия может стать "волной" более старшего волнового уровня. Буду благодарен (и думаю не я один), если кто-то поможет реализовать такой индикатор программно.

Если возможно, расшифруйте про изменение цвета. Просто, если вы это "руками" рисуете, то как цвет-то меняется и "он не перерисовывается"?

И, насколько понял, вы M5 используете - с этим ваш усложненный алгоритм выбора точек и связан. Согласитесь, что если фрактал (3-5-7) появился на старшем ТФ, то на младшем он должен быть по определению... сама проблема непонятна. Возьмите этот ("мой") зигзаг, настройте ТФ как вам нужно и пользуйтесь..... 

Сознаюсь, что в моем выражении "вполне адекватная реакция на вызов через iCustom()" есть некий подвох, т.к. если впрямую такой вызов использовать, то вам придется итерации по iCustom делать (количество от ТФ зависит), а этого ни один комп не перенесет, но можно и по другому поступить.....

Добавить еще один инд. буфер и модуль, который вам в него нужное значение запишет (а если извернуться, то и не одно :)) а потом вызвать его всего один раз....

 

Как уже высказался на форуме и повторюсь здесь - код отличный. Блестящая реализация!

Заметил потенциальную опечатку(?). Тут вот:

      if(y==1 && largelast !=0) i=largelast+k;
      if(y==2 && midlelast !=0) i=midlelast+k;
      if(y==2 && smalllast !=0) i=smalllast+k;
      for (x=1; x<=i; x++)

Не будет ли правильней в предпоследней строке

if(y==3 && smalllast !=0) i=smalllast+k;

???

 
rider:
platon:

 Он не перерисовывается, только иногда изменяется цвет линий т.к. в силу условий линия может стать "волной" более старшего волнового уровня. Буду благодарен (и думаю не я один), если кто-то поможет реализовать такой индикатор программно.

Если возможно, расшифруйте про изменение цвета. Просто, если вы это "руками" рисуете, то как цвет-то меняется и "он не перерисовывается"?

И, насколько понял, вы M5 используете - с этим ваш усложненный алгоритм выбора точек и связан. Согласитесь, что если фрактал (3-5-7) появился на старшем ТФ, то на младшем он должен быть по определению... сама проблема непонятна. Возьмите этот ("мой") зигзаг, настройте ТФ как вам нужно и пользуйтесь..... 

Цвет линии, естесственно приходиться изменять тоже в ручную, при появлении условий.

"Не перерисовывается" т.е. не изменяет положение опорных точек в пространстве с течением времени т.к. опорные точки фракталы и по определению не могут измениться (только если ДЦ бары не перерисует, что тоже не критично т.к. можно сделать обновление).

Используется любой ТФ, либо несколько одновременно (допустим на м1 отрисовалась линии более старшего волнового уровня (допустим 3-й слой) и при этом их координаты совпадают с линиями на м5 (1-й слой) следовательно нет смысла увеличивать кол-во слоев (буферов) т.к все дальнейшие слои будут отображаться на м5 или уже м15 и т.д.

Фрактал состоящий из 3 баров выбран потому, что по 5ти барому на м1 происходят пропуски анализа (что критично). И еще при использовании 3 барового, анализ более инфоративен и имеет более завершенную форму (почти).

Зигзаг не могу использовать (перепробовал разные и с разными настройками) т.к он не дает всей (нужной мне) информации, хотя довольно сильно, иногда, перекликается с тем что мне нужно. Я не скажу что он плохой индикатор, он просто другой. А тот что нужен мне основан, в большей своей части, на описании Билла Вильямса и я не припомню чтобы он использовал индикатор зигзаг.

 

 
SamMan:

Заметил потенциальную опечатку(?). Тут вот:

      if(y==1 && largelast !=0) i=largelast+k;
      if(y==2 && midlelast !=0) i=midlelast+k;
      if(y==2 && smalllast !=0) i=smalllast+k;
      for (x=1; x<=i; x++)

Не будет ли правильней в предпоследней строке if(y==3 && smalllast !=0) i=smalllast+k;

 

Да, конечно. Спасибо. Изменения внес - модератор проверит, повятся.

"ctrl+C.... ctrl+V - ВСТАВЛЯЕТ!" :)

 
platon:

"Не перерисовывается" т.е. не изменяет положение опорных точек в пространстве с течением времени т.к. опорные точки фракталы и по определению не могут измениться (только если ДЦ бары не перерисует, что тоже не критично т.к. можно сделать обновление)

......

Зигзаг не могу использовать (перепробовал разные и с разными настройками) т.к он не дает всей (нужной мне) информации, хотя довольно сильно, иногда, перекликается с тем что мне нужно. Я не скажу что он плохой индикатор, он просто другой. А тот что нужен мне основан, в большей своей части, на описании Билла Вильямса и я не припомню чтобы он использовал индикатор зигзаг.

 

С перерисовкой понятно. Всё, что в этом коде перерисовывается, связано только с построением зигзага.

Вильямс, конечно, зигзагов не использовал, он и фракталы-то не очень - дальше деклараций недалеко ушел... но вы-то что-то очень похожее рисуете :)
Вообще код модифицируется достаточно легко, хоть под трех, хоть под семи-барные, хоть под минутки, хоть под голые фракталы - 10-20 строк переписать.

Судя  по вашему интересу к эквиобъемам (вот ссылки, кстати, может не видели: 'Эквиобъемные графики (EqualVolumeBars)' и http://articles.mql4.com/ru/articles/1504 ) и некоторым словам и фразам - мы где-то рядышком копаем. Но это уже далеко за рамками статьи.
Если есть желание, то можете на мыло написать (в профиле).

 

Что использовать несколько ТФ не нужно- это правильно (один фиг то-же видим).

Алгоритм порадовал новизной(надо досконально разобраться).

Но первое впечатление - что-то среднее между обычным ZZ и HiLO. Как использовать - пока не представляю, с HiLo как то четче получается.

 

Спасибо Автору за интересную разработку!

Теперь черед за мультивалютным индикатором zig-zag ;)

Есть идея - чтобы не грузить график бесконечным количеством линий - надо только менять цвет линии (устанаваливаемый вручную) в случае совпадения на том-же тайм-фрейме определенного количества валютных пар.

Техническое задание (на примере EURUSD):

Вручную выбираются наличные в терминале валютные пары:
со стороны евро | со стороны доллара
EURAUD | AUDUSD
EURCAD | USDCAD
EURCHF | USDCHF
EURGBP | GBPUSD
EURJPY | USDJPY
EURNZD | NZDUSD
Например: евро растет по всем 8 (основная - EURUSD) валютным парам, а доллар падает по всем 8 на установленном тайм-фрейме - индикатор прорисовывает линию вверх одного цвета (например, красного). Если количество пересечений меньшее - другой цвет стрелочки и т.д.

Можно использовать больше десятка пар на 3 тайм-фреймах - а на выходе получать не 30 линий, а всего - 3.

Насыщение определенным цветом одного тайм-фрейма даст сигнал о тренде (в теории).
С уважением,

Александр

 
forexnew:

Техническое задание (на примере EURUSD):........


Спасибо за интересное техзадание ;)
 
rider:
Особенность в том, что для каждого ТФ используется только один буфер. Два не нужно, так как при разумной комбинации ТФ, вероятность появления двух разнонаправленных экстремумов на одном баре рабочего ТФ очень мала.

Индикатором Зигзаг занимаюсь давно... Написал свой вариант... Но все время спотыкался на эту малую вероятность появления двух экстремумов на одном баре...

Теперь задача решена... Ваша статья натолкнула на мысль, что Зигзиг на любом ТФ надо строить, используя котировки М1... Готовый результат перенести на старший ТФ...

Вот, что у меня получилось...

Причина обращения: