Небольшая доработка советника на MQL4

MQL4 Experts Integration

Specification

Дано:

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

При покупке  Стоплосс выставляется -      NormalizeDouble (Ask - sl * Point, Digits);

                     Тейкпрофит выставляется - NormalizeDouble (Ask + tp * Point, Digits);

При продаже Стоплосс выставляется -      NormalizeDouble (Bid + sl * Point, Digits);

                     Тейкпрофит выставляется - NormalizeDouble (Bid - tp * Point, Digits):

*sl и tp - задаваемые переменные.


Задача:

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


Responded

1
Developer 1
Rating
(62)
Projects
114
24%
Arbitration
10
70% / 30%
Overdue
15
13%
Free
2
Developer 2
Rating
(12)
Projects
25
24%
Arbitration
2
50% / 50%
Overdue
2
8%
Free
3
Developer 3
Rating
(198)
Projects
291
24%
Arbitration
6
17% / 33%
Overdue
4
1%
Free
4
Developer 4
Rating
(130)
Projects
186
54%
Arbitration
3
33% / 33%
Overdue
6
3%
Free
5
Developer 5
Rating
(473)
Projects
1138
44%
Arbitration
51
31% / 33%
Overdue
500
44%
Free
6
Developer 6
Rating
(80)
Projects
148
28%
Arbitration
1
100% / 0%
Overdue
27
18%
Free
7
Developer 7
Rating
(491)
Projects
1017
58%
Arbitration
29
28% / 24%
Overdue
132
13%
Free
8
Developer 8
Rating
(133)
Projects
174
18%
Arbitration
17
47% / 18%
Overdue
0
Loaded
9
Developer 9
Rating
(7)
Projects
14
7%
Arbitration
2
50% / 50%
Overdue
1
7%
Free
10
Developer 10
Rating
(586)
Projects
1048
49%
Arbitration
39
28% / 41%
Overdue
49
5%
Working
11
Developer 11
Rating
(66)
Projects
143
34%
Arbitration
10
10% / 60%
Overdue
26
18%
Free
12
Developer 12
Rating
(261)
Projects
426
38%
Arbitration
86
44% / 19%
Overdue
71
17%
Loaded
13
Developer 13
Rating
(156)
Projects
168
34%
Arbitration
4
25% / 25%
Overdue
3
2%
Working
14
Developer 14
Rating
(260)
Projects
317
37%
Arbitration
6
50% / 17%
Overdue
7
2%
Free
15
Developer 15
Rating
(40)
Projects
58
26%
Arbitration
0
Overdue
6
10%
Free
16
Developer 16
Rating
(564)
Projects
933
47%
Arbitration
302
59% / 25%
Overdue
125
13%
Loaded
17
Developer 17
Rating
(76)
Projects
124
12%
Arbitration
7
57% / 14%
Overdue
3
2%
Free

Project information

Budget
30+ USD
For the developer
27 USD