За основу зигзаг можно взять.
Илья, обратите внимание: вам пришло в голову отрисовывать вертикальные линии на экстремумах, но не пришло в голову отрисовывать горизонтальные. Не вы один. При пересечении этих линий образуются прямоугольники. Я сам не занимался таким анализом, просто это такой подход: делать то, что не делает большинство.
За основу действительно лучше взять зиг-заг. Поищите, были тут коды с массивами по зиг-загу.
спасибо, что откликнулись, коллеги.
Просто провожу небольшое стат исследование рыночное.
ZigZag приемлемо максимумы/минимумы ищет.
Просто я столкнулся с проблемой, как сменить отрисовку с Arrow на вертикальные линии.
При установке стиля SetIndexStyle(0,DRAW_ARROW) в ЗигЗаге у меня нет варианта, похожего на OBJ_VLINE.
Просто провожу небольшое стат исследование рыночное.
ZigZag приемлемо максимумы/минимумы ищет.
Просто я столкнулся с проблемой, как сменить отрисовку с Arrow на вертикальные линии.
При установке стиля SetIndexStyle(0,DRAW_ARROW) в ЗигЗаге у меня нет варианта, похожего на OBJ_VLINE.
Можно использовать DRAW_LINE, но не заполняя пустые значения.
Не совсем так....
на сколько я понимаю, SetIndexStyle() устанавливает стиль линии, прорисовываемой на значениях соответствующего буфера индикатора.
если мы просто напишем SetIndexStyle(0, DRAW_LINE), то ничего прорисовываться не будет...
во вложении - код ЗигЗага...
Голову ломаю, как вертикальные линии сюда вставить...
на сколько я понимаю, SetIndexStyle() устанавливает стиль линии, прорисовываемой на значениях соответствующего буфера индикатора.
если мы просто напишем SetIndexStyle(0, DRAW_LINE), то ничего прорисовываться не будет...
во вложении - код ЗигЗага...
Голову ломаю, как вертикальные линии сюда вставить...
Файлы:
zigzag.txt
7 kb
#property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Yellow #property indicator_color2 Blue #property indicator_color3 Red double A[]; double B[]; double C[]; int init() { SetIndexBuffer(0,A); SetIndexBuffer(1,B); SetIndexBuffer(2,C); SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); SetIndexStyle(2,DRAW_LINE); return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); for(int i=0;i<Bars;i++) { A[i]=iCustom(NULL,0,"zigzag",12,5,3,0,i); B[i]=iCustom(NULL,0,"zigzag",12,5,3,1,i); //C[i]=iCustom(NULL,0,"zigzag",12,5,3,2,i)*100; } return(0); }
Друзья, огромное вам спасибо.
выручили по-настоящему!
я чего-то про iCustom забыл совсем...
выручили по-настоящему!
я чего-то про iCustom забыл совсем...
Файлы:
velocitywaves.mq4
5 kb
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите, пожалуйста, как написать индикатор, делающий следующее:
на заданной глубине истории (например, 1000 - 2000 баров) индикатор ищет экстремумы, и на этих экстремумах расставляет вертикальные прямые разного цвета ( в зависимости от того, является экстремум максимумом или минимумом)
Графическое изображение такое:
синяя вертикальная линия ставится на найденном минимуме;
красная - на максимуме.
Буду очень признателен любым советам.
Заранее вам спасибо за ответ.