Нужно написать функцию, которая будет частично закрывать все открытые ордера одного направления

MQL4 Experts

Job finished

Execution time 2 days

Specification

Функция.

В советнике сеточнике порой необходимо частично закрывать все открытые ордера одного направления.

Мне нужен код этой функции с объявлением глобальных переменных в случае необходимости.

Подробности.

·         Процент, на который мы частично закрываем ордер объявляем в настройках.

Input int PartForClose = 10;      Допустим, так.

Однако, необходимо с каждым новым частичным закрытием закрывать на одинаковую величину. Поэтому PartForClose – есть не просто процент от оставшегося объема, а процент от первичного объема открытия ордера. Как вариант, можно первичный объем прописать в мэджике, и каждый раз при частичном закрытии ордера не нужно будет ничего вычислять. Это просто версия.

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

enum TradeDir

{

      BUY = 0,                               // Buy

      SELL = 1                                // Sell

};

PartialClose (const TradeDir dir)

{

 

}

·         Функция должна частично закрыть много ордеров, а за один проход это делать не совсем корректно. Вопрос: можно ли сделать так, чтобы в режиме тестера ордера частично закрывались именно за один проход. Чтобы тестер не растягивал закрытие n ордеров на n бар? Этот вопрос от моего незнания. Если нет – значит нет.

·         В глобальных переменных я опишу булевский флаг. Например,

bool ProcessingClose;

Когда приходит пора к частичному закрытию ордеров одного направления, я флаг активирую. Запускается функция как-то так:

If(ProcessingClose) PartialClose (BUY);

После того, как функция обработала и закрыла все ордера, она (функция) должна деактивировать флаг.


Responded

1
Developer 1
Rating
(137)
Projects
167
35%
Arbitration
11
91% / 0%
Overdue
0
Free
2
Developer 2
Rating
(172)
Projects
186
32%
Arbitration
5
60% / 20%
Overdue
3
2%
Free
Published: 3 codes
3
Developer 3
Rating
(173)
Projects
231
61%
Arbitration
3
33% / 33%
Overdue
6
3%
Free
Published: 1 code
4
Developer 4
Rating
(588)
Projects
1064
50%
Arbitration
39
28% / 41%
Overdue
49
5%
Working
Published: 1 article, 8 codes
5
Developer 5
Rating
(83)
Projects
154
29%
Arbitration
1
100% / 0%
Overdue
27
18%
Free
6
Developer 6
Rating
(1)
Projects
7
14%
Arbitration
2
0% / 100%
Overdue
0
Free
Published: 1 article
7
Developer 7
Rating
(42)
Projects
112
56%
Arbitration
2
50% / 0%
Overdue
3
3%
Free
Published: 1 code
8
Developer 8
Rating
(69)
Projects
146
34%
Arbitration
13
8% / 62%
Overdue
26
18%
Free
Published: 6 codes
9
Developer 9
Rating
(296)
Projects
475
40%
Arbitration
105
40% / 24%
Overdue
80
17%
Busy
Published: 2 codes
10
Developer 10
Rating
(144)
Projects
285
42%
Arbitration
19
63% / 5%
Overdue
29
10%
Free
Published: 2 codes
11
Developer 11
Rating
(4)
Projects
12
0%
Arbitration
0
Overdue
3
25%
Free
Similar orders
Требуется создать советник на основе разворотных паттернов, используя дополнительные индикаторы такие как скользящее среднее, отклонение от скользящей средней, угол наклона скользящей средней. Возможно будет добавлено что то еще по ходу работы
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на

Project information

Budget
30+ USD
Deadline
to 10 day(s)