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

MQL4 Experts

Trabalho concluído

Tempo de execução 2 dias

Termos de Referência

Функция.

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

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

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

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

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

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


Respondido

1
Desenvolvedor 1
Classificação
(137)
Projetos
167
35%
Arbitragem
11
91% / 0%
Expirado
0
Livre
2
Desenvolvedor 2
Classificação
(172)
Projetos
186
32%
Arbitragem
5
60% / 20%
Expirado
3
2%
Livre
Publicou: 3 códigos
3
Desenvolvedor 3
Classificação
(173)
Projetos
231
61%
Arbitragem
3
33% / 33%
Expirado
6
3%
Livre
Publicou: 1 código
4
Desenvolvedor 4
Classificação
(588)
Projetos
1064
50%
Arbitragem
39
28% / 41%
Expirado
49
5%
Trabalhando
Publicou: 1 artigo, 8 códigos
5
Desenvolvedor 5
Classificação
(83)
Projetos
154
29%
Arbitragem
1
100% / 0%
Expirado
27
18%
Livre
6
Desenvolvedor 6
Classificação
(1)
Projetos
7
14%
Arbitragem
2
0% / 100%
Expirado
0
Livre
Publicou: 1 artigo
7
Desenvolvedor 7
Classificação
(42)
Projetos
112
56%
Arbitragem
2
50% / 0%
Expirado
3
3%
Livre
Publicou: 1 código
8
Desenvolvedor 8
Classificação
(69)
Projetos
146
34%
Arbitragem
13
8% / 62%
Expirado
26
18%
Livre
Publicou: 6 códigos
9
Desenvolvedor 9
Classificação
(296)
Projetos
475
40%
Arbitragem
105
40% / 24%
Expirado
80
17%
Ocupado
Publicou: 2 códigos
10
Desenvolvedor 10
Classificação
(144)
Projetos
285
42%
Arbitragem
19
63% / 5%
Expirado
29
10%
Livre
Publicou: 2 códigos
11
Desenvolvedor 11
Classificação
(4)
Projetos
12
0%
Arbitragem
0
Expirado
3
25%
Livre
Pedidos semelhantes
Суть ТС:Приход в 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 <

Informações sobre o projeto

Orçamento
30+ USD
Prazo
para 10 dias