Пользовательская функция

MQL4 Other

Specification

Стратегия предполагает работу со всеми типами ордеров.

Работа с графикой - линии.

Оформить в виде функции за пределами OnTick()

В качестве аргументов функции будут: имя глобальной переменной, создаваемой на уровне терминала и магик номер.

Глобальную переменную с именем, по умолчанию “BALANS 1”, нужно создать при первом вызове функции записать в неё текущий баланс

Подробности в задании.

 

Собственно тех. задание 

В настройках советника должны быть параметры:

(sell stop) цвет линии, красный;

(sell limit) цвет линии, желтый;

(buy stop) цвет линии, синий;

(buy limit) цвет линии, белый;

 Суммирование лота;

      Сколько прибавить к лоту =0.01

Умножение лота;

     Коэф. умножения   =1.6

Начальный Лот    = 0.01

Тейк профит в валюте депозита №1 =100.0

Тейк профит в валюте депозита №2 = 200.0

Количество пунктов прибавить  к без убытку = 10

Закрывать = true;

 

Функция установки всех типов ордеров sell stop, buy stop, sell limit, buy limit.

На график наносится линия вручную:

если цвет линии красный,  то устанавливается ордер sell stop;

 если цвет линии синий,  то устанавливается ордер buy stop;

если цвет линии желтый,  то устанавливается ордер sell limit;

если цвет линии белый,  то устанавливается ордер buy limit.

На каждой установленной линии открывается единожды и только один ордер.

Количество линий не ограничено.

При срабатывании ордера линия удаляется, а открытая ранее позиция в противоположную сторону закрывается если параметр ”Закрывать” =true, если false,  то не закрывает позиции пока не достигнет “ Тейкпрофит в валюте депозита №1”

Если первая позиция закрылась в профит, все линии удалить

 Если есть позиция buy   то лот sell stop устанавливается с суммированием или умноженным на коэффициент того лота который находится в рынке а также если открыта позиция вручную между линиями, то лот противоположного ордера нужно умножить на коэффициент или суммировать, в зависимости от настроек. Изменить лот ордера, можно либо удалив существующий и установив новый нужным лотом, либо установить дополнительный ордер объёмом которого не хватает, это как вам удобнее.

 Если есть позиция sell   то лот buy stop устанавливается с суммированием или умноженным на коэффициент того лота который находится в рынке а также если открыта позиция вручную между линиями, то лот противоположного ордера нужно умножить на коэффициент, или суммировать, в зависимости от настроек. Изменить лот ордера, можно либо удалив существующий и установив новый нужным лотом, либо установить дополнительный ордер объёмом которого не хватает, это как вам удобнее.

 Закрывать часть прибыли при достижении профита  в валюте депозита от стартового депозита -  значение которое записывается в глобальную переменную терминала при первом вызове функции. То есть при достижении “ Тейкпрофит в валюте депозита №1”

Оставшуюся часть позиции перевести в без убыток. Установить “ Тейкпрофит в валюте депозита №2”

Обновлять значение глобальной переменной “BALANS” нужно, когда нет позиций и ордеров.

При подсчёте профита нужно учитывать убыток закрытых позиций в режиме, когда переключатель ”Закрывать” = true



Responded

1
Developer 1
Rating
(30)
Projects
32
38%
Arbitration
2
0% / 50%
Overdue
3
9%
Free
2
Developer 2
Rating
(280)
Projects
650
28%
Arbitration
111
19% / 61%
Overdue
319
49%
Free
3
Developer 3
Rating
(351)
Projects
679
56%
Arbitration
33
15% / 39%
Overdue
63
9%
Free
4
Developer 4
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
5
Developer 5
Rating
(586)
Projects
1047
49%
Arbitration
39
28% / 41%
Overdue
49
5%
Working
6
Developer 6
Rating
(13)
Projects
34
76%
Arbitration
1
100% / 0%
Overdue
6
18%
Free
7
Developer 7
Rating
(4)
Projects
5
40%
Arbitration
1
0% / 100%
Overdue
0
Free
8
Developer 8
Rating
(169)
Projects
460
41%
Arbitration
39
18% / 31%
Overdue
193
42%
Free
9
Developer 9
Rating
(157)
Projects
220
50%
Arbitration
2
50% / 0%
Overdue
15
7%
Free
10
Developer 10
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
1
100%
Free

Project information

Budget
20 - 21 USD
For the developer
18 - 18.9 USD
Deadline
from 3 to 7 day(s)