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

Tarea técnica

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

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

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

Han respondido

1
Desarrollador 1
Evaluación
(473)
Proyectos
1139
44%
Arbitraje
51
31% / 33%
Caducado
501
44%
Libre
2
Desarrollador 2
Evaluación
(281)
Proyectos
650
28%
Arbitraje
112
19% / 62%
Caducado
319
49%
Libre
3
Desarrollador 3
Evaluación
(361)
Proyectos
644
26%
Arbitraje
92
72% / 14%
Caducado
12
2%
Trabaja
Ha publicado: 1 ejemplo
4
Desarrollador 4
Evaluación
(48)
Proyectos
73
37%
Arbitraje
22
9% / 41%
Caducado
14
19%
Trabaja
5
Desarrollador 5
Evaluación
(351)
Proyectos
679
56%
Arbitraje
33
15% / 39%
Caducado
63
9%
Libre
6
Desarrollador 6
Evaluación
(106)
Proyectos
189
46%
Arbitraje
34
24% / 41%
Caducado
58
31%
Libre
Ha publicado: 12 ejemplos
7
Desarrollador 7
Evaluación
(52)
Proyectos
81
35%
Arbitraje
3
67% / 33%
Caducado
8
10%
Libre
8
Desarrollador 8
Evaluación
(25)
Proyectos
33
12%
Arbitraje
1
0% / 100%
Caducado
0
Libre
9
Desarrollador 9
Evaluación
(14)
Proyectos
22
59%
Arbitraje
2
0% / 50%
Caducado
2
9%
Libre
Ha publicado: 1 ejemplo
10
Desarrollador 10
Evaluación
(589)
Proyectos
1066
50%
Arbitraje
39
28% / 41%
Caducado
49
5%
Trabaja
Ha publicado: 1 artículo, 8 ejemplos
11
Desarrollador 11
Evaluación
(4)
Proyectos
5
40%
Arbitraje
1
0% / 100%
Caducado
0
Libre
Ha publicado: 1 ejemplo
Solicitudes similares
Добрый день! 30 - 100 USD
Требуется адаптировать простенький индикатор для МТ5 под новые существующие сейчас билды. Раньше в 2015гг. индикатор работал. как обновились билды на мт5 , индикатор перестал прикрепляться к графику. Мой емейл: Eduardfoer@mail.ru
Need an advisor that works on the retest of the first five-minute New York candle. Entry is on the breakout of the M1 candle testing the range of the first five M1 candles. Automatic and adjustable GMT. Adjustable take profit in PP. Stop loss is per M1 candle. The M1 candle should test the range and close with a body outside it. The ability to customize stop-loss orders by RR and points. Add the ability to trail
Description: Hello! We are looking for a developer to create a custom MT5 indicator. Requirements: — Detection of breakout zones — Detection of FVG (fair value gap) zones — Clean logic, non-repainting Preferred: — Experience with MT5 indicator development — Understanding of market structure / price action (SMC is a plus) Please include: — Examples of similar work (if available) We are ready to discuss details and
Советник нужен полноценный, хотя он нужен для поиска закономерностей. Так как я в первый раз заказываю советник, то нужен опытный человек, который сможет направить (подсказать) по составлению грамотного ТЗ. Желательно чтобы исполнитель был русскоязычным, так как я с России. Всем благ

Información sobre el proyecto

Presupuesto
30 - 50 USD
Plazo límite de ejecución
de 1 a 2 día(s)