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

Spezifikation

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

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

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  с наибольшим лотом. Т.е. последний тикет ордера на продажу и последний тикет на покупку и выдать их общий профит (но  лоты у них будут разные) и разом эти два ордера закрыть. А закрыть ордера необходимо перекрытием что позволит заработать еще и на спреде.

Bewerbungen

1
Entwickler 1
Bewertung
(473)
Projekte
1139
44%
Schlichtung
51
31% / 33%
Frist nicht eingehalten
501
44%
Frei
2
Entwickler 2
Bewertung
(281)
Projekte
650
28%
Schlichtung
112
19% / 62%
Frist nicht eingehalten
319
49%
Frei
3
Entwickler 3
Bewertung
(361)
Projekte
644
26%
Schlichtung
92
72% / 14%
Frist nicht eingehalten
12
2%
Arbeitet
Veröffentlicht: 1 Beispiel
4
Entwickler 4
Bewertung
(48)
Projekte
73
37%
Schlichtung
22
9% / 41%
Frist nicht eingehalten
14
19%
Arbeitet
5
Entwickler 5
Bewertung
(351)
Projekte
679
56%
Schlichtung
33
15% / 39%
Frist nicht eingehalten
63
9%
Frei
6
Entwickler 6
Bewertung
(106)
Projekte
189
46%
Schlichtung
34
24% / 41%
Frist nicht eingehalten
58
31%
Frei
Veröffentlicht: 12 Beispiele
7
Entwickler 7
Bewertung
(52)
Projekte
81
35%
Schlichtung
3
67% / 33%
Frist nicht eingehalten
8
10%
Frei
8
Entwickler 8
Bewertung
(25)
Projekte
33
12%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
0
Frei
9
Entwickler 9
Bewertung
(14)
Projekte
22
59%
Schlichtung
2
0% / 50%
Frist nicht eingehalten
2
9%
Frei
Veröffentlicht: 1 Beispiel
10
Entwickler 10
Bewertung
(589)
Projekte
1070
50%
Schlichtung
39
28% / 41%
Frist nicht eingehalten
49
5%
Frei
Veröffentlicht: 1 Artikel, 8 Beispiele
11
Entwickler 11
Bewertung
(4)
Projekte
5
40%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Beispiel
Ähnliche Aufträge
Требуется опытный разработчик,для доработки и глубокого аудита торгового робота!Ключевые задачи: Аудит безопасности, полная проверка исходного кода на баги, уязвимости,и скрытые угрозы,а также передачи данных.Максимизация прибыли,и снижение рисков: Доработка логики для извлечения максимум профита и минимизации потерь и присадок.Штормоустойчивость:Критически важно,чтобы алгоритм и код, корректно и без сбоев
Цель доработки Исправить механизм пробойной защиты сетки. Пробойный механизм должен: защищать открытые хвосты при выходе цены из диапазона; рассчитывать объём только по текущему плавающему убытку хвостов; закрывать корзину около нуля или с небольшим плюсом; корректно переживать ложные пробои; повторять попытки защиты до закрытия корзины; не останавливать работу основной сетки; не создавать серию бессистемных

Projektdetails

Budget
30 - 50 USD
Ausführungsfristen
von 1 bis 2 Tag(e)