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

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