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

MQL4 エキスパート

仕事が完了した

実行時間2 日

指定

Функция.

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

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

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

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

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);

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


応答済み

1
開発者 1
評価
(137)
プロジェクト
167
35%
仲裁
11
91% / 0%
期限切れ
0
2
開発者 2
評価
(172)
プロジェクト
186
32%
仲裁
5
60% / 20%
期限切れ
3
2%
パブリッシュした人: 3 codes
3
開発者 3
評価
(173)
プロジェクト
231
61%
仲裁
3
33% / 33%
期限切れ
6
3%
パブリッシュした人: 1 code
4
開発者 4
評価
(588)
プロジェクト
1064
50%
仲裁
39
28% / 41%
期限切れ
49
5%
仕事中
パブリッシュした人: 1 article, 8 codes
5
開発者 5
評価
(83)
プロジェクト
154
29%
仲裁
1
100% / 0%
期限切れ
27
18%
6
開発者 6
評価
(1)
プロジェクト
7
14%
仲裁
2
0% / 100%
期限切れ
0
パブリッシュした人: 1 article
7
開発者 7
評価
(42)
プロジェクト
112
56%
仲裁
2
50% / 0%
期限切れ
3
3%
パブリッシュした人: 1 code
8
開発者 8
評価
(69)
プロジェクト
146
34%
仲裁
13
8% / 62%
期限切れ
26
18%
パブリッシュした人: 6 codes
9
開発者 9
評価
(296)
プロジェクト
475
40%
仲裁
105
40% / 24%
期限切れ
80
17%
多忙
パブリッシュした人: 2 codes
10
開発者 10
評価
(144)
プロジェクト
285
42%
仲裁
19
63% / 5%
期限切れ
29
10%
パブリッシュした人: 2 codes
11
開発者 11
評価
(4)
プロジェクト
12
0%
仲裁
0
期限切れ
3
25%
類似した注文
Суть ТС:Приход в 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 структуры на
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <

プロジェクト情報

予算
30+ USD
締め切り
最高 10 日