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

İş Gereklilikleri

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

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

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ş
319
49%
Serbest
3
Geliştirici 3
Derecelendirme
(361)
Projeler
643
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
(50)
Projeler
79
35%
Arabuluculuk
3
67% / 33%
Süresi dolmuş
7
9%
Çalışıyor
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
(588)
Projeler
1065
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
Добрый день, ДОРАБОТАТЬ БОТА!!! МТ4 Написанный бот с открытым кодом, который уведомляет меня о просадке, открытых сделках, прибыли в мессенджер телеграмм (в телеге есть бот). Так как сейчас в РФ проблема с телеграмм, мне нужно дописать бота что бы он дополнительно присылал уведомления в MAX, мессенджер. Все в боте прописано, нужно только добавить выбор мессенджера куда слать уведомления и добавить и помочь настроить
Нужно создать торговый советник для МТ5 для автоматической торговли золотом, серебром и нефти, газа. Торговля будет происходить на основании данных индикаторов, корреляции данных инструментов. Должна быть панель управления с настройками на английском языке
AO - при пересечении уровня 0 в какую-либо сторону открывать соответствующий ордер. RSI - при пересечении отметки 30 пунктов снизу открывать ордер на покупку, при пересечении отметки 70 пунктов сверху открывать ордер на продажу. Стратегии не зависят друг от друга. Предустановка размеров ТП и СЛ, предустановка уровней ТС
Нужно разработать торгового советника для MetaTrader 5. Логика стратегии: работа на M1 (таймфрейм изменяемый) уровни Fibonacci задаются вручную (0 и 100) вход осуществляется в зоне 0–38.2 Fibonacci используется RSI BUY — RSI ≤ 30 SELL — RSI ≥ 70 дополнительный сигнал — пересечение RSI и его скользящей средней Функции управления позицией: Stop Loss за сигнальной свечой Break Even два типа Trailing Stop (обычный и
Необходима таблица с параметрами:тф,частота изменения цены за данный тф,ход цены за данный тф.Возможность выгрузки данной сформированной за выбранный период инфо.1 мин,3 мин,6 мин,20 мин …. День,неделя,месяц.Любой период который мне надо будет анализировать
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на

Proje bilgisi

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