Нужна помощь в создании советника

 

Доброго времени суток! Я пишу под свои нужды индикаторы, простенькие советники или же правлю уже существующие, но вот столкнулся с вопросом, который самостоятельно решить пока не удалось.

Нужно зарегистрировать момент пересечения ценой крайней линии стандартного отклонения (инструмент из стандартного набора мт4). То есть при касании/ пересечении ценой одной из крайних линий стандартного отклонения происходило бы изменение некоторой переменной к примеру: 

... if [необходимый код] a=true; ...  

Собственно вопрос: как это сделать? Или хотя бы привести название/код советника или индикатора где это реализовано. (желательно сделать это на mql4, но можно и на mql5)

Заранее спасибо! 

 

 
Andron85:

Доброго времени суток! Я пишу под свои нужды индикаторы, простенькие советники или же правлю уже существующие, но вот столкнулся с вопросом, который самостоятельно решить пока не удалось.

Нужно зарегистрировать момент пересечения ценой крайней линии стандартного отклонения (инструмент из стандартного набора мт4). То есть при касании/ пересечении ценой одной из крайних линий стандартного отклонения происходило бы изменение некоторой переменной к примеру:

... if [необходимый код] a=true; ...

Собственно вопрос: как это сделать? Или хотя бы привести название/код советника или индикатора где это реализовано. (желательно сделать это на mql4, но можно и на mql5)

Заранее спасибо!


Но касаний может быть множество и с той, и с другой стороны. Надо бы критерии вводить на пробой линии. Например в пунктах, в процентах цена переместилась от линии, то есть пробой

Да и расчеты лучше перенести в советник . В том числе и стандартного отклонения. Тогда легко и просто и быстро будет контролировать

 
Vinin:


Но касаний может быть множество и с той, и с другой стороны. Надо бы критерии вводить на пробой линии. Например в пунктах, в процентах цена переместилась от линии, то есть пробой

Да и расчеты лучше перенести в советник . В том числе и стандартного отклонения. Тогда легко и просто и быстро будет контролировать


 Согласен со всеми утверждениями. :) Касание или переход мне не так важно. (Допустим критерий такой: следующий бар находится ЗА линией) 

 Мне скорее важно узнать значение цены через которую в определенный момент времени (к примеру нулевой бар) проходит линия стандартного отклонения, проще говоря нужно узнать координату Y точки на этой линии, при известной Х. Я, если честно, не смог найти код построения линии стандартного отклонения (чтобы перевести расчеты этой линии в советник и потом вычеслить координату по уравнению прямой) и не нашел способ получить через мт эту самую координату Y построенного объекта "линия стандартного отклонения". 

В итоге всего вышесказанного немного конкретезирую вопросы: 

1) Есть ли у кого-нибудь код построения линий стандартного отклонения? 

2) Есть ли способ узнать координату Y этих линий, построенных средствами МТ4?

 
Andron85:


 Согласен со всеми утверждениями. :) Касание или переход мне не так важно. (Допустим критерий такой: следующий бар находится ЗА линией) 

 Мне скорее важно узнать значение цены через которую в определенный момент времени (к примеру нулевой бар) проходит линия стандартного отклонения, проще говоря нужно узнать координату Y точки на этой линии, при известной Х. Я, если честно, не смог найти код построения линии стандартного отклонения (чтобы перевести расчеты этой линии в советник и потом вычеслить координату по уравнению прямой) и не нашел способ получить через мт эту самую координату Y построенного объекта "линия стандартного отклонения". 

В итоге всего вышесказанного немного конкретезирую вопросы: 

1) Есть ли у кого-нибудь код построения линий стандартного отклонения? 

2) Есть ли способ узнать координату Y этих линий, построенных средствами МТ4?

Средняя линия - линейная регрессия, её расчет есть в индикаторах в кодобазе. Расчёт стандартного отклонения можно найти там же.

Значение граничных линий = значение линейной регрессии +- стандартное отклонение.

 
khorosh:

Средняя линия - линейная регрессия, её расчет есть в индикаторах в кодобазе. Расчёт стандартного отклонения можно найти там же.

Значение граничных линий = значение линейной регрессии +- стандартное отклонение.

Дак я и говорю что не смог найти. И все потому что искал "Канал стандартного отклонения", сейчас ввел просто "стандартное отклонение" и нашел вот что:
Vinin давал ссылку на тему стандартного отклонения
https://forum.mql4.com/ru/12535/page3   там  индюк  https://c.mql4.com/forum/2008/06/_LineStat.mq4

И в той же теме в конце Вы, Юрий (khorosh), привели код с комментарием "Проще использовать такой индикатор, там цены всех трёх линий можно считать из 3-х соответствующих буферов. Если degree принять равным 1, то будет линейная регрессия, если 2 параболическая и т.д." 

В обоих индюках не так много комментов в коде и с первого взгляда я не смог вникнуть в их суть. Подскажите, плз, для моей то цели лучше Ваш или Vinina индюк подойдет? (у вас то речь шла только о регрессии) И если переделывать Ваш, то хоть с чего начать то :) Если совсем уж в идеале и раз это (как я понял) Ваш код, то Вы без труда подскажете где что надо дописать, чтоб индюк строил канал стандартного отклонения и из какого буфера после этого брать координаиы Y. :-) Заранее большое спасибо!

 

Я пользуюсь индикатором регрессии i-Regr (есть в базе):

... = iCustom(NULL, 0, "i-Regr", 1, 2.0, 96, 0, Nline, Nbar); // 4 параметра индикатора, затем что вернуть: значение на линии (Nline) на свече Nbar


Regress = iCustom(NULL, 0, "i-Regr", 1, 2.0, 96, 0, 0, Nbar); // R-линия на свече Nbar
HighRegress = iCustom(NULL, 0, "i-Regr", 1, 2.0, 96, 0, 1, Nbar); // High канала
LowRegress = iCustom(NULL, 0, "i-Regr", 1, 2.0, 96, 0, 2, Nbar); // Low канала

ссылка https://www.mql5.com/ru/code/8417

Там кстати и советник автора есть

 

Спасибо всем откликнувшимся. Буду разбираться в приведенных в этой теме индикаторах и экспертах......

Aleks_Ivan, a нет ли индикатора именно по стандартному отклонению?

 
Andron85:

Спасибо всем откликнувшимся. Буду разбираться в приведенных в этой теме индикаторах и экспертах......

Aleks_Ivan, a нет ли индикатора именно по стандартному отклонению?


Посмотри Standart Deviation. Входит в комплект МТ4
 

Нет, такого нет (кроме того, что в комплекте МТ4).

Пробовал и тот и другой. Регрессия меня вполне устраивает.

Не факт что станд отклонение работает точнее.

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