Как "взять" для советника предыдущий пик индикатора ЗигЗаг?

 

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

Взять последний пик ЗигЗага функцией iCustom понятно как.

А как сделать, чтобы советник увидел "предыдущий" пик зигзага? Т.е. вот текущий пик есть а мне надо сравнить цены предыдущего пика с последним.

заранее спасибо за ответ. 

 

 
remon:

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

Взять последний пик ЗигЗага функцией iCustom понятно как.

А как сделать, чтобы советник увидел "предыдущий" пик зигзага? Т.е. вот текущий пик есть а мне надо сравнить цены предыдущего пика с последним.

заранее спасибо за ответ. 

 


Смотрите тут: https://docs.mql4.com/ru/series/ihighest

и также https://docs.mql4.com/ru/series/ihigh

чтобы в iHigh() на место shift поставить iHighest() и получите искомое значение последнего пика ЗигЗага! 

Это без iCustom! Но когда поймёте, сделаете так, как пожелаете!

 

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

 
AlexeyVik:

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


Кажется, первый вариант самый простой. Но все равно спасибо за ответ!
 
borilunad:


Смотрите тут: https://docs.mql4.com/ru/series/ihighest

и также https://docs.mql4.com/ru/series/ihigh

чтобы в iHigh() на место shift поставить iHighest() и получите искомое значение последнего пика ЗигЗага! 

Это без iCustom! Но когда поймёте, сделаете так, как пожелаете!


 iHighest()  - а как понять сколько здесь брать баров назад для расчета?

вЕслия  возьму например 100, самый  высокий будет например 90, но пик зигзага был гораздо ближе 

 

https://forum.mql4.com/ru/38949/page6#434260

 
remon:


 iHighest()  - а как понять сколько здесь брать баров назад для расчета?

вЕслия  возьму например 100, самый  высокий будет например 90, но пик зигзага был гораздо ближе 


Если ближе, ставьте не 100, а меньше. И добавьте условия поиска ближайшего пика!
 

Любой нормальный зигзаг использует 2 буфера. 

Я беру первый от нулевого бара (рабочий) и после - ближайший другого знака (активный). 

 
в цикле перебираете ХАИ и ЛОУ. Если ХАЙ или ЛОУ = соотетствующему значению ЗЗ, то это первый элемент. ставим счетчик =1. смотрим дальше, пока счетчик не отсчитает нужное кол-во значений.
 
https://www.mql5.com/ru/code/10417
 
remon:

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

Вы даже не представляете НАСКОЛЬКО. Чтобы понять, что я ниже напишу, вы понаблюдайте за работой зигзага реалтайм, иначе мои слова могут показаться бредом.

1. То, что вы называете текущим пиком, и не пик вовсе, а просто текущее значение.

2. Текущее значение зигзага может быть левей текущего  бара баров эдак на 5, а то и на 10. Т.е. последние 5 (к примеру) баров он, зараза, тупо не рисуется, а как настоящий трейдер присматривается к рынку в ожидании прояснения ситуации.

3. Самое для вас страшное и невероятное - даже то значение, которое вы наверно считаете глубоко историческим (которое спрашиваете как узнать), может... перерисоваться. Вот то, что левей - это да, рабочее, а ваши ОБА/ДВА натворят вам немало дел. 

Возьмите индикатор попроще от греха. ) 

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