Помогите переделать советника

 
Добрый день. Обращаюсь к мастерам по MQL. Я только начинаю изучать MQL и поэтому обращаюсь к вам. Есть готовый советник по полосам болленджера.Его подробное описани есть в 72 выпуске журнала (fortrader.ru). Советник входит в позицию при пробитии верхней или нижней границы канала боллинджера. При пробитии верхней границы канала, берется цена закрытия бара ( который пробил) и открывается сделка на продажу. Нужно сделать чтобы сделка на продажу открывалась только при обратном пробитии верхней ганицы канала. Цена открытия сделки должна быть  ценой закрытия бара (который пробил верхнюю границу канала сверху вниз и закрылся ниже верхней границы канала). Аналогично и с покупкой. Условия закрытия сделок не трогать. Заранее спасибо всем.
Файлы:
 
fedor9932:
Добрый день. Обращаюсь к мастерам по MQL. Я только начинаю изучать MQL и поэтому обращаюсь к вам. Есть готовый советник по полосам болленджера.Его подробное описани есть в 72 выпуске журнала (fortrader.ru). Советник входит в позицию при пробитии верхней или нижней границы канала боллинджера. При пробитии верхней границы канала, берется цена закрытия бара ( который пробил) и открывается сделка на продажу. Нужно сделать чтобы сделка на продажу открывалась только при обратном пробитии верхней ганицы канала. Цена открытия сделки должна быть  ценой закрытия бара (который пробил верхнюю границу канала сверху вниз и закрылся ниже верхней границы канала). Аналогично и с покупкой. Условия закрытия сделок не трогать. Заранее спасибо всем.
Не поможет.
 
paukas:
Не поможет.

Да,  просто в чистом виде не поможет, а в совокупности с другими индик. вроде получается не плохо, вот только не могу что то с обратным пересечением разобратьься. Условия  вроде правильно все сформулировал, а чето ничего не выходит., начинает кучу ненужных сделок открывать, вот и прошу у мастеров помощи.
 
fedor9932:
Да,  просто в чистом виде не поможет, а в совокупности с другими индик. вроде получается не плохо, вот только не могу что то с обратным пересечением разобратьься. Условия  вроде правильно все сформулировал, а чето ничего не выходит., начинает кучу ненужных сделок открывать, вот и прошу у мастеров помощи.

надо проверить что одновременно выполняется (пример для покупки)

1. открытые предыдущей свечи должно быть под линией, то есть меньше.

2. открытие текущей свечи должно быть над линией, то есть  больше.

3. Количество открытых ордеров должно быть равно нулю.

И тогда только открывать ордер.


Да, ещё чтобы не открыл ордер второй раз на том же баре после срабатыватия стопа или профита,

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

 
paukas:

надо проверить что одновременно выполняется (пример для покупки)

1. открытые предыдущей свечи должно быть под линией, то есть меньше.

2. открытие текущей свечи должно быть над линией, то есть  больше.

3. Количество открытых ордеров должно быть равно нулю.

И тогда только открывать ордер.


Да, ещё чтобы не открыл ордер второй раз на том же баре после срабатыватия стопа или профита,

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


Спасибо, есть моменты о которых я не подумал.

 
paukas:

надо проверить что одновременно выполняется (пример для покупки)

1. открытые предыдущей свечи должно быть под линией, то есть меньше.

2. открытие текущей свечи должно быть над линией, то есть  больше.

3. Количество открытых ордеров должно быть равно нулю.

И тогда только открывать ордер.


Да, ещё чтобы не открыл ордер второй раз на том же баре после срабатыватия стопа или профита,

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



 Хотелось бы спросить , а можно ли  условия 1 и 2 описать следующим способом

1. if (Open[1] < level_dw) { (выполняется первый критерий на покупку)}

2. if (Open[0] > level_dw) { (выполняется второй критерий на покупку)}

Переменная level_dw (нижний уровень) 

 
fedor9932:

 Хотелось бы спросить , а можно ли  условия 1 и 2 описать следующим способом

1. if (Open[1] < level_dw) { (выполняется первый критерий на покупку)}

2. if (Open[0] > level_dw) { (выполняется второй критерий на покупку)}

Переменная level_dw (нижний уровень) 


Да. Но лучше вместо Open[] использовать функцию iOpen()
 
Помогите с советником необходимо прикрутить стоп лосс и трейлинг стоп  . Советник VR-ZVERI торгует отлично но необходимо прикрутить стоп лосс и трейлигн стоп к отложенному ордеру помогите .
Файлы:
vr---zveri1.ex4  22 kb
 
Aspire:
Помогите с советником необходимо прикрутить стоп лосс и трейлинг стоп  . Советник VR-ZVERI торгует отлично но необходимо прикрутить стоп лосс и трейлигн стоп к отложенному ордеру помогите .

Как же к екзешнику прикрутишь? А почему к Автору не обращаетесь?

https://www.mql5.com/ru/code/10381 Не заметили предупреждения Автора: Настоятельно не рекомендую ставить эту версию на реальный счет

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