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

Şartname

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

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

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

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(473)
Projeler
1139
44%
Arabuluculuk
51
31% / 33%
Süresi dolmuş
501
44%
Serbest
2
Geliştirici 2
Derecelendirme
(281)
Projeler
650
28%
Arabuluculuk
112
19% / 62%
Süresi dolmuş
318
49%
Serbest
3
Geliştirici 3
Derecelendirme
(361)
Projeler
644
26%
Arabuluculuk
92
72% / 14%
Süresi dolmuş
12
2%
Çalışıyor
Yayınlandı: 1 kod
4
Geliştirici 4
Derecelendirme
(48)
Projeler
73
37%
Arabuluculuk
22
9% / 41%
Süresi dolmuş
14
19%
Çalışıyor
5
Geliştirici 5
Derecelendirme
(351)
Projeler
679
56%
Arabuluculuk
33
15% / 39%
Süresi dolmuş
63
9%
Serbest
6
Geliştirici 6
Derecelendirme
(106)
Projeler
189
46%
Arabuluculuk
34
24% / 41%
Süresi dolmuş
58
31%
Serbest
Yayınlandı: 12 kod
7
Geliştirici 7
Derecelendirme
(52)
Projeler
81
35%
Arabuluculuk
3
67% / 33%
Süresi dolmuş
8
10%
Serbest
8
Geliştirici 8
Derecelendirme
(25)
Projeler
33
12%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
9
Geliştirici 9
Derecelendirme
(14)
Projeler
22
59%
Arabuluculuk
2
0% / 50%
Süresi dolmuş
2
9%
Serbest
Yayınlandı: 1 kod
10
Geliştirici 10
Derecelendirme
(589)
Projeler
1070
50%
Arabuluculuk
39
28% / 41%
Süresi dolmuş
49
5%
Serbest
Yayınlandı: 1 makale, 8 kod
11
Geliştirici 11
Derecelendirme
(4)
Projeler
5
40%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
Yayınlandı: 1 kod
Benzer siparişler
Описание: Требуется разработать торгового робота для автоматизации моей стратегии торговли золотом XAUUSD на таймфрейме M15. Основная логика стратегии: снятие ликвидности за локальным фракталом; формирование ордер-блока и чистого имбаланса; определение точки входа (ТВХ); установка стоп-лосса на расстоянии $10 от ТВХ; тейк-профит на следующей подтверждённой зоне противоположного направления; переключение направления
Имеется очень старый и очень большой по размеру эксперт. Поскольку он уже работает,то переписыватьс нуля его крайне нежелательно. Необходимо добавить функцию принудительного закрытия ордера.Я пытался это сам сделать по учебнику, но компилятор выдаёт алёрты. Функцию нужно вставить в район строк 208440-208500 (магический номер 01_01),по всем остальным ордерам я распишу сам.Главное,чтобы никаких ошибок и алёртов. Тут
ОПИСАНИЕ ЗАДАЧИ ДЛЯ ИСПОЛНИТЕЛЯ: У нас есть полностью готовый, рабочий торговый робот LEON. Исходный код логически завершен, но предыдущий программист поленился и оставил много сырых, наполовину сломанных настроек. Нам требуется провести глубокую, качественную доработку системы до идеала под реальный счет. ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: На коленке за 2 часа или за 2 дня сделать работу не получится — мы это сразу увидим при

Proje bilgisi

Bütçe
30 - 50 USD
Son teslim tarihi
from 1 to 2 gün