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

MQL4 Asesores Expertos

Trabajo finalizado

Plazo de ejecución 2 días

Tarea técnica

Функция.

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

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

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

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

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

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


Han respondido

1
Desarrollador 1
Evaluación
(137)
Proyectos
167
35%
Arbitraje
11
91% / 0%
Caducado
0
Libre
2
Desarrollador 2
Evaluación
(172)
Proyectos
186
32%
Arbitraje
5
60% / 20%
Caducado
3
2%
Libre
Ha publicado: 3 ejemplos
3
Desarrollador 3
Evaluación
(173)
Proyectos
231
61%
Arbitraje
3
33% / 33%
Caducado
6
3%
Libre
Ha publicado: 1 ejemplo
4
Desarrollador 4
Evaluación
(588)
Proyectos
1064
50%
Arbitraje
39
28% / 41%
Caducado
49
5%
Trabaja
Ha publicado: 1 artículo, 8 ejemplos
5
Desarrollador 5
Evaluación
(83)
Proyectos
154
29%
Arbitraje
1
100% / 0%
Caducado
27
18%
Libre
6
Desarrollador 6
Evaluación
(1)
Proyectos
7
14%
Arbitraje
2
0% / 100%
Caducado
0
Libre
Ha publicado: 1 artículo
7
Desarrollador 7
Evaluación
(42)
Proyectos
112
56%
Arbitraje
2
50% / 0%
Caducado
3
3%
Libre
Ha publicado: 1 ejemplo
8
Desarrollador 8
Evaluación
(69)
Proyectos
146
34%
Arbitraje
13
8% / 62%
Caducado
26
18%
Libre
Ha publicado: 6 ejemplos
9
Desarrollador 9
Evaluación
(296)
Proyectos
475
40%
Arbitraje
105
40% / 24%
Caducado
80
17%
Ocupado
Ha publicado: 2 ejemplos
10
Desarrollador 10
Evaluación
(144)
Proyectos
285
42%
Arbitraje
19
63% / 5%
Caducado
29
10%
Libre
Ha publicado: 2 ejemplos
11
Desarrollador 11
Evaluación
(4)
Proyectos
12
0%
Arbitraje
0
Caducado
3
25%
Libre
Solicitudes similares
Суть ТС:Приход в 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 <

Información sobre el proyecto

Presupuesto
30+ USD
Plazo límite de ejecución
a 10 día(s)