Индикаторы: Просто ZZ (зиг-заг) - страница 4

 
ikatsko:

Значит есть МНОГО непроверенных идей! (Раз уж это вошло в привычку)

С точностью до наоборот... много проверенной перелопаченной пустой породы. Увидя издалека булыжник, сверкнувший в лучах солнца вкраплением кварца, не стоит обнадеживать себя, а тем более других, что найдено что-то ценное. Подойдем поближе, рассмотрим под лупой, а потом будем делать выводы.

З.Ы. Сторицей пишется вместе (на всякий случай: вдруг Вы не очепятались) :)

 
Nail_Saby:
Это понятно, что начальное появление экстремумов ZZ не говорит ни о смене тренда, ни о том, что нужно открывать ордера...Но это является сигналом к тому, что что-то назревает. И дальнейшая фильтрация самого этого сигнала, ожидание ее подтверждения и т.д. Вот для того, чтобы продолжить этот анализ и нужно, чтобы сигналы все же появлялись.

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

Вот проблемма действительная в том, что вчера в одной ситуации (когда максимальное и минимальное значение цены за расчетный период пришлись на один и тот же бар и при этом последующие ценовые движения сформировались определенным образом) я обнаружил баг в изображении индюка. Пока что внес изменения в код, которые хорошо рисуют в аналогичной ситуации по истории, а в тестере в динамике пока что мне не нравится. Надеюсь сегодня вечером исправить и заменить текущую версию на новую. Скорость индюка не должна сильно измениться.

 
PPC:

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

Вот проблемма действительная в том, что вчера в одной ситуации (когда максимальное и минимальное значение цены за расчетный период пришлись на один и тот же бар и при этом последующие ценовые движения сформировались определенным образом) я обнаружил баг в изображении индюка. Пока что внес изменения в код, которые хорошо рисуют в аналогичной ситуации по истории, а в тестере в динамике пока что мне не нравится. Надеюсь сегодня вечером исправить и заменить текущую версию на новую. Скорость индюка не должна сильно измениться.


Просто я не программер, :) Поэтому для проверки индикатора на советнике (шаблоне) мне нужны доп. буфера...
 
Nail_Saby:

Просто я не программер, :) Поэтому для проверки индикатора на советнике (шаблоне) мне нужны доп. буфера...

Встроить в советник: (конечно, в данной ситуации я бы не вызывал индюк, лучше его кусок вплести в код советника для экономии времени, но в Вашем случае демонстрирую, как задействовать готовый индикатор в советнике)

int direction=0; //глобальная переменная-флаг для всего советника, устанавливается до ф-ции init(), обозначает предыдущее направление движения цены (-1 вниз, 1 вверх)
//далее устанавливаем в ф-ции start()      если скачали ZZ_v2, в следующих 2 строчках вместо параметра "ZZ" укажете "ZZ_v2"
double H=iCustom(Symbol(),Period(),"ZZ",ExtPeriod,MinAmp,0,0); //'значения будут забраны из буфера UP индикатора ZZ, ExtPeriod и MinAmp прописать во внешних переменных советника и присвоить им желаемые значения
double L=iCustom(Symbol(),Period(),"ZZ",ExtPeriod,MinAmp,1,0); //значения будут забраны из буфера DN индикатора ZZ
if(H!=EMPTY_VALUE && direction<1) {direction=1...советник тут что-то предпринимает...}  //вот и направление индикатора изменилось, цена вроде бы двинулась вверх, меняем значение флага и что-то предпринимаем
if(L!=EMPTY_VALUE && direction>-1) {direction=-1...советник тут что-то предпринимает...} 

Важно: индикатор должен быть в соответствующей папке MT-4 в откомпилированном виде

 

если повторюсь прошу прощения...

- при указании значения ExtPeriod = 0 машина уходит в ооочень долгие раздумья... можно просто запретить разбиение меньше чем 0

- довольно удобно когда линии отрисовывающей зиг заг можно задать значение "Рисовать объект как фон"

________________________________________________________________________

А в целом, как раз искал такой индикатор, то что нужно ! Спасибо за Вашу работу !

 
akacuk21:

если повторюсь прошу прощения...

- при указании значения ExtPeriod = 0 машина уходит в ооочень долгие раздумья... можно просто запретить разбиение меньше чем 0

- довольно удобно когда линии отрисовывающей зиг заг можно задать значение "Рисовать объект как фон"


Вообще-то не предполагалось, что возникнет идея установить ExtPeriod = 0. Запретить вообще не проблема - можно даже алерт воткнуть, да влом на это тратить время

А вот по поводу "Рисовать объект как фон" - линия зиг-зага - это вроде бы не объект и я, честно говоря, для линий такого не встречал : https://docs.mql4.com/ru/constants/indicatorconstants/drawstyles

а вот https://docs.mql4.com/ru/constants/objectconstants/enum_object_property

OBJPROP_BACK9boolПолучает/устанавливает флаг фонового отображения объекта

вроде бы как только для объектов.

 
Индикатор постоянно пропадает, необходимо обновлять график. Это можно исправить? Спасибо.