Написать советник на основе двух скользящих средних

MQL5 Experts

Job finished

Execution time 5 days
Feedback from customer
Разработчик быстро выполнил задачу в соответствии с ТЗ. Оперативно решал все возникающие по ходу работы вопросы.
Feedback from employee
Заказчик грамотный, вдумчив, корректен, аккуратен и стремится в своем развитии, чем отличается от многих других. Хочется сделать ему подарок (и кажется я знаю какой) - за его редкие качества.

Specification

Задание:

Есть две скользящие средние.
Сделка может открыться, если график оказался выше или ниже обеих скользящих средних.
Рассмотрим случай, если график оказался выше двух скользящих средних.
В этом случае нужно отсчитать, скажем, 4 свечи подряд (параметр "Количество свечей подряд для открытия сделки"), которые полностью закрылись выше двух скользящих средних, включая тени этих свечей.
Если это произошло, то нужно посчитать длину тела каждой из этих свечей. И если суммарная длина тела свечей на покупку выше суммарной длины тела свечей на продажу, то открываем сделку на покупку.
Если какое-то из этих условий не исполнилось, то сделку не открываем и ждём, пока график не пересечёт одну из скользящих средних в любом направлении даже тенью свечи. И после этого снова отслеживаем условия для открытия новой сделки.

Аналогичный случай, если график оказался ниже двух скользящих средних:
В этом случае нужно отсчитать, скажем, 4 свечи подряд (параметр "Количество свечей подряд для открытия сделки"), которые полностью закрылись ниже двух скользящих средних, включая тени этих свечей.
Если это произошло, то нужно посчитать длину тела каждой из этих свечей. И если суммарная длина тела свечей на продажу выше суммарной длины тела свечей на покупку, то открываем сделку на продажу.
Если какое-то из этих условий не исполнилось, то сделку не открываем и ждём, пока график не пересечёт одну из скользящих средних в любом направлении даже тенью свечи. И после этого снова отслеживаем условия для открытия новой сделки.

Когда сделка открыта, то закрытие может быть:
1) по заранее заданному стоп-лоссу.
2) если свеча или её тень пересеклась с одной из скользящих средних. Сделать это условие отключаемым. (параметр "Закрытие сделки, если свеча или её тень пересеклась с одной из скользящих средних")
3) далее спустя, скажем, 20 свечей смотрим на график. (параметр "Количество свечей для постановки нового стоп-лосса")
Если сделка в нуле или в убытке, то закрываем её.
Если сделка в прибыли, то устанавливаем новый стоп-лосс (вместо заранее заданного) в размере, скажем, 70% от текущей прибыли на данный момент (параметр "Процент нового стоп-лосса от текущей прибыли"). То есть если прибыль 100 пунктов, то стоп-лосс ставится на прибыль в размере 70 пунктов. И этот стоп-лосс увеличивается по мере увеличения прибыли. То есть если прибыль увеличивается, допустим, до 120 пунктов, то стоп-лосс устанавливается на 120*0,7 = 84 пункта. Если же прибыль уменьшается, то стоп-лосс в нижнюю сторону не двигается.

Одновременно может быть открыта только одна сделка на покупку и одна сделка на продажу.
 
Сделать ограничение, в какие часы открываем сделки. За пределами этого периода новые сделки не открываем (только закрываем старые). Если торговля ведётся не с начала дня, а график уже оказался выше или ниже двух скользящих средних, то никаких действий не делаем, пока график не пересёчёт обе скользящие средние.

Параметры:
Часы начала открытия сделок
Минуты начала открытия сделок
Часы окончания открытия сделок
Минуты окончания открытия сделок
Параметры скользящей средней №1 (Период; Метод; Применить к:)
Параметры скользящей средней №2 (Период; Метод; Применить к:)
Количество свечей подряд для открытия сделки
Стоп-лосс
Закрытие сделки, если свеча или её тень пересеклась с одной из скользящих средних. (да/нет)
Количество свечей для постановки нового стоп-лосса
Процент нового стоп-лосса от текущей прибыли


Responded

1
Developer 1
Rating
(9)
Projects
22
9%
Arbitration
3
0% / 67%
Overdue
3
14%
Working
2
Developer 2
Rating
(12)
Projects
13
8%
Arbitration
1
0% / 100%
Overdue
0
Free
3
Developer 3
Rating
(44)
Projects
74
20%
Arbitration
1
0% / 100%
Overdue
0
Free
4
Developer 4
Rating
(851)
Projects
1461
72%
Arbitration
122
29% / 48%
Overdue
356
24%
Working
Published: 3 articles
5
Developer 5
Rating
(365)
Projects
441
55%
Arbitration
22
50% / 14%
Overdue
30
7%
Loaded
6
Developer 6
Rating
(645)
Projects
872
48%
Arbitration
29
38% / 17%
Overdue
63
7%
Free
7
Developer 7
Rating
(174)
Projects
233
61%
Arbitration
3
33% / 33%
Overdue
6
3%
Free
Published: 1 code
8
Developer 8
Rating
(52)
Projects
81
35%
Arbitration
3
67% / 33%
Overdue
8
10%
Free
9
Developer 9
Rating
(618)
Projects
1429
59%
Arbitration
31
81% / 0%
Overdue
10
1%
Free
10
Developer 10
Rating
(64)
Projects
144
46%
Arbitration
20
40% / 20%
Overdue
32
22%
Free
11
Developer 11
Rating
(13)
Projects
31
23%
Arbitration
8
25% / 63%
Overdue
5
16%
Free
12
Developer 12
Rating
(1)
Projects
1
0%
Arbitration
1
0% / 100%
Overdue
0
Free
13
Developer 13
Rating
(69)
Projects
146
34%
Arbitration
13
8% / 62%
Overdue
26
18%
Free
Published: 6 codes
14
Developer 14
Rating
(298)
Projects
478
40%
Arbitration
105
40% / 24%
Overdue
82
17%
Loaded
Published: 2 codes

Project information

Budget
30+ USD