Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1164

 
Aleksey Vyazmikin:

Т.е. Вы хотите руками рисовать уровни, что б программа находила их и считывала цену?


Не, рисовать будет индикатор по алгоритму Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2]...Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]

Но не получается найти цены этих уровней чтобы при пробитии этих формаций (линий) индикатор рисовал значок к примеру

 

Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2] в этой формации мне нужно получить цену минимума i+2

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2] в этой формации мне нужно получить цену максимума i+2

далее при пробитии максимума/минимума индикатор должен рисовать значок к примеру. пробитие вверх я вижу как Close[i+1]>цена максимума (i+2) из формации 

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]

 
Lankaster:

Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2] в этой формации мне нужно получить цену минимума i+2

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2] в этой формации мне нужно получить цену максимума i+2

далее при пробитии максимума/минимума индикатор должен рисовать значок к примеру. пробитие вверх я вижу как Close[i+1]>цена максимума (i+2) из формации 

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]


Так не пробовали:

High[iHighest(Symbol(),Period(),2,i)]; - максимум начиная с i по i+2

Low[iLowest(Symbol(),Period(),2,i)]; - минимум начиная с i по i+2

 
Vitalii Ananev:

Так не пробовали:

High[iHighest(Symbol(),Period(),2,i)]; - максимум начиная с i по i+2

Low[iLowest(Symbol(),Period(),2,i)]; - минимум начиная с i по i+2


Если не ошибаюсь, то так он будет искать максимумы и минимумы среди 2-х свечей, в не зависимости от их направления, а надо получить цены только формаций вверх-вниз и вниз-вверх

максимум бычей свечи из первой формации и минимум медвежьей свечи из второй формации.

Надеюсь пишу понятно, а то уже голова кипит :)

 
Lankaster:

Не, рисовать будет индикатор по алгоритму Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2]...Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]

Но не получается найти цены этих уровней чтобы при пробитии этих формаций (линий) индикатор рисовал значок к примеру

Увы, я так и не понял, что надо, но похоже на канал Дончиана - посмотрите в код базе...
 
Aleksey Vyazmikin:
Увы, я так и не понял, что надо, но похоже на канал Дончиана - посмотрите в код базе...

Да, Вы правы похоже на канал Дончиана по этой ссылке https://www.mql5.com/ru/code/10836 но не пойму как нарисовать значок когда Close[i+1] закроется выше канала к примеру 12 июня 2012 по графику видно что индикатор отметил хай, но как будет выглядеть код этого пересечения? Close[i+1]>канал Дончиана? но откуда этот Close[i+1] будет знать какое значение он пересекает? ведь между этим максимумом и текущей ценой еще есть локальные максимумы которые канал обозначил и у тех максимумов свое значение индикатора

Канал Дончиана.
Канал Дончиана.
  • голосов: 7
  • 2012.09.10
  • Лёха
  • www.mql5.com
Классический вариант индикатора со средней линией.
 
Lankaster:

Да, Вы правы похоже на канал Дончиана по этой ссылке https://www.mql5.com/ru/code/10836 но не пойму как нарисовать значок когда Close[i+1] закроется выше канала к примеру 12 июня 2012 по графику видно что индикатор отметил хай, но как будет выглядеть код этого пересечения? Close[i+1]>канал Дончиана? но откуда этот Close[i+1] будет знать какое значение он пересекает?


Вам надо сравнение делать цены с индикатором - iCustom функция.

 
Aleksey Vyazmikin:

Вам надо сравнение делать цены с индикатором - iCustom функция.


Не пойму как сделать это сравнение. Возможно было бы проще сделать отрисовку горизонтальными линиями этих максимумов и минимумов и каждой линии прописать свое имя и потом через ObjectGet получить цены этих линий?

 
Lankaster:

Не пойму как сделать это сравнение. Возможно было бы проще сделать отрисовку горизонтальными линиями этих максимумов и минимумов и каждой линии прописать свое имя и потом через ObjectGet получить цены этих линий?


Посмотрите как устроен индикатор, может будут иные идеи...

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

 
Aleksey Vyazmikin:

Посмотрите как устроен индикатор, может будут иные идеи...

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


Спасибо, попробую.