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

指定

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

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

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%
期限切れ
319
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)
プロジェクト
1069
50%
仲裁
39
28% / 41%
期限切れ
49
5%
パブリッシュした人: 1 article, 8 codes
11
開発者 11
評価
(4)
プロジェクト
5
40%
仲裁
1
0% / 100%
期限切れ
0
パブリッシュした人: 1 code
類似した注文
Опыт работы с панелями 1. исправить трал - ЛИНИЯ ДОЛЖНА БЫТЬ ВИДНА ПРИ ВКЛЮЧЕНИИ(СТАРТ), КОГДА ЦЕНА ДОХОДИТ ДО ЛИНИИ СТАРТ ОНА ПЕРЕМЕЩАЕТСЯ НА ШАГ И ДВИЖЕТСЯ ЗА ЦЕНОЙ КАК СТАНДАРТНЫЙ ТРАЛ и сейчас он не закрывает 2. закрытие крайних ордеров снжение просадки с выводом на панель № ордера( в сетке самый убыточный, например 7 из настроек, когда цена выводит его в плюс на 1% самого убыточного-закрываются оба с прибыдлью
I need a simple semi-auto assistant for XAUUSD on MT5. Main functions: * BOS detection * CHOCH detection * Liquidity sweep detection * Buy/Sell arrows * London & New York session filter * Alert notifications * Simple dashboard No martingale. No grid. I need clean and optimized code with editable settings. Do you have experience with SMC/ICT concepts and XAUUSD? Can you build something like this

プロジェクト情報

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