Нужна рабочая функция по закрытию противоположных ордеров перекрытием

指定

У меня есть рабочий БОТ, но мне необходимо его немного откорректировать. Приведу Вам некоторые функции реализованные в моем боте. 

Данная функция считает ПРОФИТ всех ордеров находящихся в рынке:

double CalculateProfit()
{
     double oProfit = 0;
     for (int i=OrdersTotal() -1; i>=0; i--)
     {
          if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
          {
              if (OrderSymbol() == Symbol() && OrderMagicNumber()== Magic)
              {
                  if (OrderType() == OP_BUY || OrderType() == OP_SELL)
                  {
                      oProfit += OrderProfit();
                  }
                
              }
          }
     }
     return (oProfit);
}
Далее выполняется условие в void OnTick() и при выполнении условия закрываются все ордера находящиеся в рынке:
 

double OP = CalculateProfit();

if (OP >= Profit)
{
CloseAll();
}

Вот функция которая закрывает все ордера:

void CloseAll()
{
for (int i = OrdersTotal() -1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY)
{
if (!OrderClose (OrderTicket(), OrderLots(), Bid, Slippage))
Print ("не удалось закрыть ордер на покупку!");
}
if (OrderType() == OP_SELL)
{
if (!OrderClose (OrderTicket(), OrderLots(), Ask, Slippage))
Print ("не удалось закрыть ордер на продажу!");
}
}
}
}
}

Для корректной работы моего БОТА необходимо считать профит последнего ордера SELL и BUY  с наибольшим лотом. Т.е. последний тикет ордера на продажу и последний тикет на покупку и выдать их общий профит (но  лоты у них будут разные) и разом эти два ордера закрыть. А закрыть ордера необходимо перекрытием что позволит заработать еще и на спреде.

応答済み

1
開発者 1
評価
(473)
プロジェクト
1139
44%
仲裁
51
31% / 33%
期限切れ
501
44%
暇
2
開発者 2
評価
(281)
プロジェクト
650
28%
仲裁
112
19% / 62%
期限切れ
318
49%
暇
3
開発者 3
評価
(361)
プロジェクト
644
26%
仲裁
92
72% / 14%
期限切れ
12
2%
仕事中
パブリッシュした人: 1 code
4
開発者 4
評価
(48)
プロジェクト
73
37%
仲裁
22
9% / 41%
期限切れ
14
19%
仕事中
5
開発者 5
評価
(351)
プロジェクト
679
56%
仲裁
33
15% / 39%
期限切れ
63
9%
暇
6
開発者 6
評価
(106)
プロジェクト
189
46%
仲裁
34
24% / 41%
期限切れ
58
31%
暇
パブリッシュした人: 12 codes
7
開発者 7
評価
(52)
プロジェクト
81
35%
仲裁
3
67% / 33%
期限切れ
8
10%
暇
8
開発者 8
評価
(25)
プロジェクト
33
12%
仲裁
1
0% / 100%
期限切れ
0
暇
9
開発者 9
評価
(14)
プロジェクト
22
59%
仲裁
2
0% / 50%
期限切れ
2
9%
暇
パブリッシュした人: 1 code
10
開発者 10
評価
(589)
プロジェクト
1070
50%
仲裁
39
28% / 41%
期限切れ
49
5%
暇
パブリッシュした人: 1 article, 8 codes
11
開発者 11
評価
(4)
プロジェクト
5
40%
仲裁
1
0% / 100%
期限切れ
0
暇
パブリッシュした人: 1 code
類似した注文
Описание: Требуется разработать торгового робота для автоматизации моей стратегии торговли золотом XAUUSD на таймфрейме M15. Основная логика стратегии: снятие ликвидности за локальным фракталом; формирование ордер-блока и чистого имбаланса; определение точки входа (ТВХ); установка стоп-лосса на расстоянии $10 от ТВХ; тейк-профит на следующей подтверждённой зоне противоположного направления; переключение направления
Имеется очень старый и очень большой по размеру эксперт. Поскольку он уже работает,то переписыватьс нуля его крайне нежелательно. Необходимо добавить функцию принудительного закрытия ордера.Я пытался это сам сделать по учебнику, но компилятор выдаёт алёрты. Функцию нужно вставить в район строк 208440-208500 (магический номер 01_01),по всем остальным ордерам я распишу сам.Главное,чтобы никаких ошибок и алёртов. Тут
ОПИСАНИЕ ЗАДАЧИ ДЛЯ ИСПОЛНИТЕЛЯ: У нас есть полностью готовый, рабочий торговый робот LEON. Исходный код логически завершен, но предыдущий программист поленился и оставил много сырых, наполовину сломанных настроек. Нам требуется провести глубокую, качественную доработку системы до идеала под реальный счет. ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: На коленке за 2 часа или за 2 дня сделать работу не получится — мы это сразу увидим при

プロジェクト情報

予算
30 - 50 USD
締め切り
最低 1 最高 2 日