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

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 примера
3
Разработчик 3
Оценка
(174)
Проекты
233
61%
Арбитраж
3
33% / 33%
Просрочено
6
3%
Свободен
Опубликовал: 1 пример
4
Разработчик 4
Оценка
(589)
Проекты
1069
50%
Арбитраж
39
28% / 41%
Просрочено
49
5%
Свободен
Опубликовал: 1 статью, 8 примеров
5
Разработчик 5
Оценка
(83)
Проекты
154
29%
Арбитраж
1
100% / 0%
Просрочено
27
18%
Свободен
6
Разработчик 6
Оценка
(1)
Проекты
7
14%
Арбитраж
2
0% / 100%
Просрочено
0
Свободен
Опубликовал: 1 статью
7
Разработчик 7
Оценка
(42)
Проекты
112
56%
Арбитраж
2
50% / 0%
Просрочено
3
3%
Свободен
Опубликовал: 1 пример
8
Разработчик 8
Оценка
(69)
Проекты
146
34%
Арбитраж
13
8% / 62%
Просрочено
26
18%
Свободен
Опубликовал: 6 примеров
9
Разработчик 9
Оценка
(298)
Проекты
477
40%
Арбитраж
105
40% / 24%
Просрочено
81
17%
Загружен
Опубликовал: 2 примера
10
Разработчик 10
Оценка
(144)
Проекты
285
42%
Арбитраж
19
63% / 5%
Просрочено
29
10%
Свободен
Опубликовал: 2 примера
11
Разработчик 11
Оценка
(4)
Проекты
12
0%
Арбитраж
0
Просрочено
3
25%
Свободен

Информация о проекте

Бюджет
30+ USD
Сроки выполнения
до 10 дн.