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

Termos de Referência

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

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

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

Respondido

1
Desenvolvedor 1
Classificação
(473)
Projetos
1139
44%
Arbitragem
51
31% / 33%
Expirado
501
44%
Livre
2
Desenvolvedor 2
Classificação
(281)
Projetos
650
28%
Arbitragem
112
19% / 62%
Expirado
319
49%
Livre
3
Desenvolvedor 3
Classificação
(361)
Projetos
643
26%
Arbitragem
92
72% / 14%
Expirado
12
2%
Trabalhando
Publicou: 1 código
4
Desenvolvedor 4
Classificação
(48)
Projetos
73
37%
Arbitragem
22
9% / 41%
Expirado
14
19%
Trabalhando
5
Desenvolvedor 5
Classificação
(351)
Projetos
679
56%
Arbitragem
33
15% / 39%
Expirado
63
9%
Livre
6
Desenvolvedor 6
Classificação
(106)
Projetos
189
46%
Arbitragem
34
24% / 41%
Expirado
58
31%
Livre
Publicou: 12 códigos
7
Desenvolvedor 7
Classificação
(50)
Projetos
79
35%
Arbitragem
3
67% / 33%
Expirado
7
9%
Livre
8
Desenvolvedor 8
Classificação
(25)
Projetos
33
12%
Arbitragem
1
0% / 100%
Expirado
0
Livre
9
Desenvolvedor 9
Classificação
(14)
Projetos
22
59%
Arbitragem
2
0% / 50%
Expirado
2
9%
Livre
Publicou: 1 código
10
Desenvolvedor 10
Classificação
(588)
Projetos
1062
50%
Arbitragem
39
28% / 41%
Expirado
49
5%
Trabalhando
Publicou: 1 artigo, 8 códigos
11
Desenvolvedor 11
Classificação
(4)
Projetos
5
40%
Arbitragem
1
0% / 100%
Expirado
0
Livre
Publicou: 1 código
Pedidos semelhantes
Нужен полностью автоматический робот для Meta Trade 5 По готовому техническому заданию. Стратегия: Supertrend + FVG +структура рынка+риск менеджмент Таймфрейм М5, инструмент XAUUSD Бот должен: Торговать только в заданные временные окна Открывать сделки по четким условиям Автоматически ставить SL /TP Соблюдать ограничения по риску, просадке и прибыли Не использовать усреднение, мартингейл, доливки Нужен качественный
Есть готовый индикатор, но у него нет оповещений в коде. Он служит как один из дополнительный критериев для определения точки входа. Постоянно входить на график и проверять не совсем удобно и затратно по времени, поэтому мне для него нужно добавить сигналы, чтобы я мог на этапе оповещения в телеграмм увидеть стоит открывать график для анализа или нет
Принцип торговли. Торговля происходит от уровней в автоматическом режиме, без участия человека при открытии и закрытии сделок. Первую сделку он открывает при получении сигнала с применением VSA анализа. Сигнал по объемам поступает с биржи СМЕ. Если первая торговая позиция закрывается в плюс, то робот открывает новую сделку. Если котировки пошли в обратную от открытой позиции сторону, то робот включает свой алгоритм

Informações sobre o projeto

Orçamento
30 - 50 USD
Prazo
de 1 para 2 dias