Модифицировать существующий советник с добавлением 1 функции

MQL4 Indicators Experts

Job finished

Execution time 3 days
Feedback from customer
Быстро, качественно! Без лишних вопросов. Все четко! Рекомендую данного разработчика!

Specification

К имеющемуся советнику "4 сетки вер.1" добавить функцию "БЕЗУБЫТОК" по нижеследующему описанию.


Описание функции "БЕЗУБЫТОК"


Входные данные:

 

1.       Начало БУ с ордера №__: (0 - БУ отключен) (порядковый номер ордера с которого начинает работать БУ, включительно)

 

2.       Активация БУ, пункты: (расстояние в пунктах от сработавшего стоп-ордера в положительную сторону)

 

3.       Отступ от ордера для точки БУ, пункты:  (расстояние от сработавшего стоп-ордера куда переносится стоп-лосс после движения в положительную сторону)

 

4.       Восстановление стоп-ордера после закрытия по БУ, пункты: (Восстановление закрытого по БУ ордера происходит после преодоления ценой расстояния в пунктах от уровня на котором был закрыт ордер в отрицательную сторону)

 

5.       Количество сработавших БУ:

 

 

Принцип работы:

1) На движении цены у нас открывается ордер (в данном примере buy). Если по вх.данным этот ордер является рабочим для БУ (п.1 вх.данных), то через указанное количество пунктов в п.2 вх.данных у этого ордера выставляется stoploss (БУ)

на расстоянии указанном в п.3 вх.данных.

2) Если цена продолжает движение, то для каждого последующего ордера таким же образом выставляется БУ.

3) При развороте цены у нас может возникнуть несколько разных сценариев:

 

- По ходу движения цены на последнем ордере был активирован БУ, цена разворачивается и идет стремительный откат. В данном случае все ордера будут один за другим закрываться по БУ. Вся набранная сетка при таком откате будет "съедена" посредством БУ без риска просадки. После закрытия ордера по БУ и продолжении отката на количество пунктов (указанное в п.4 вх.данных) от уровня на котором был закрытый ордер до текущей цены снова выставляется ранее закрытый стоп-ордер в той же самой точке где он и был первоначально установлен.

 

- По ходу движения цены на последнем ордере НЕ был активирован БУ, цена разворачивается и идет стремительный откат. И начинаются закрытия по БУ предпоследнего и предпредпоследних ордеров. При достижении количества закрытых ордеров по БУ (указанного в п.5 вх.данных) сетка противоположных стоп-ордеров (в данном случае sell-stop), если она включена модифицируется и перетягивается ближе к текущей цене.

 

- По ходу движения цены на последнем ордере был активирован БУ, цена разворачивается и идет небольшой кратковременный откат, который выбивает последний ордер по БУ, но цена не опускается ниже отметки на который был этот ордер (плюс пункты из п.4 вх.данных) и вновь устремляется по ходу движения... где она открывает следующий по сетке ордер. В данной ситуации у нас получается пропасть между ордерами сетки в 2 шага....

Там где должен был быть больший объем, должен сработать пропущенный объем (См пример).

 

4) На месте закрытых ордеров посредством БУ вновь устанавливаются отложенные ордера если от точки закрытия ордера цена откатилась на расстояние в пунктах, указанное в п.4 вх.данных.


 

Пример для сетки buy-stop (аналогично для сетки sell-stop).

Входные параметры:

 

Включены только сетки stop ордеров.

Сетка имеет следующие объемы (по устовиям настройки):

Шаг: 50 пунктов

Расстояния от цены до первого стоп ордера: 50 пунктов

Объемы оредеров 0,01 ;0,03; 0,07; 0,15; 0,31

 

Параметры, которые надо допилить:

 

1. Начало БУ с ордера №__: 2

2. Активация БУ, пункты: 25

3. Отступ от ордера для точки БУ, пункты: 10

4. Восстановление стоп-ордера после закрытия по БУ, пункты: 20

5. Количество сработавших БУ: 1

 

 

Предположим цена идет вверх.

Срабатывает ордер №3 объемом 0,07 лота сетки buy-stop.

 

Есть несколько вариантов развития событий:

 

- Если у ордера №3 БУ не активировался и цена откатывается, и выбивает по БУ ордер №2 объемом 0,03 лота, то поскольку п.5 входных параметров значение стоит 1, то после того как ордер №2 закрывается по БУ изначальная сетка sell-stop сразу модифицируется и переходит выше, строится согласно входных параметров – 1 ордер sell-stop сетки в 50 от текущей цены.

 

- Если у ордера №3 активировался БУ и цена откатывается, то при пересечении стоп-лосса, который находится на 10 пунктов выше данного ордера, ордер №3 закрывается. У ордера №2 объемом 0,03 лота тоже есть стоп-лосс, т.к. во входных данным мы установили БУ работать со 2 ордера. Если после того как по БУ закрылся ордер №3 цена продолжает откатываться – через расстояние 20 пунктов (Восстановление стоп-ордера во входных данных) от уровня на котором ранее был установлен ордер №3 советник должен восстановить отложенный стоп-ордер №3 объемом 0,07 на том же уровне.

 

- Если ордер №3 закрылся по БУ и откат был не достаточен для восстановления отложенного ордера на его предыдущем месте и цена снова пошла вверх, то на уровне где должен был открываться ордер №4 объемом 0,15 у нас открывается ордер №3 объемом 0,07. Далее в штатном режиме… следующий ордер 0,15, затем 0,31 и т.д. В данном случае у нас получается своего рода «дырка» в сетке, т.к. там где должен был быть ордер №3 – пусто.


Files:

Responded

1
Developer 1
Rating
(28)
Projects
60
42%
Arbitration
1
0% / 100%
Overdue
5
8%
Free
2
Developer 2
Rating
(12)
Projects
14
29%
Arbitration
1
0% / 0%
Overdue
4
29%
Free

Project information

Budget
30+ USD
For the developer
27 USD
Deadline
to 3 day(s)