Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Please update this CloseAll function into two Functions.

Hi,

Please update the CloseAll function with two functions.

The two new function are:

1) ClosePositive() // This function would close all open trades that are in positive.
2) CloseNegative() // This function would close all open trades that are in negative.

Thanks

void CloseAll(int ot=-1)
{
bool cl=1;

for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==0 && (ot==0 || ot==-1))
{
RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,_Digits),Slip,White);
}
if(OrderType()==1 && (ot==1 || ot==-1))
{
RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,_Digits),Slip,White);
}
}
}
}
}
  • +1
  • Просмотров: 1388
  • 21 апреля 2023, 17:45
  • chomper
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник по ТМА
Следующая запись в группе  
Переписать индикатор из мт4 в МТ5
20 апреля 2023
24 апреля 2023

Брокер для ваших роботов, 15 лет на рынке

Комментарии (5)

+
0
1) Close Positive() // Эта функция закроет все открытые сделки, которые находятся в плюсе.

2) Close Negative() // Эта функция закроет все открытые сделки, которые находятся в отрицательном состоянии.


на 24-е

avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 21 апреля 2023, 17:50
+
0
для чего нужно такое разделение?

avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 21 апреля 2023, 17:51
+
0
For Prop Firm trading so the DD does not hit limit. Close the positive one before closing the negative one.
Редактирован: 21 апреля 2023, 17:54
avatar

  16  chomper Автор Сообщений: 64

  • 21 апреля 2023, 17:53
+
0
готово:


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll(int ot=-1)
  {
   bool cl=1;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()>0)
              {
               if(OrderType()==0 && (ot==0 || ot==-1))
                 {
                  RefreshRates();
                  cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,_Digits),Slip,White);
                 }
               if(OrderType()==1 && (ot==1 || ot==-1))
                 {
                  RefreshRates();
                  cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,_Digits),Slip,White);
                 }
              }
           }
        }
     }

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()<0)
              {
               if(OrderType()==0 && (ot==0 || ot==-1))
                 {
                  RefreshRates();
                  cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,_Digits),Slip,White);
                 }
               if(OrderType()==1 && (ot==1 || ot==-1))
                 {
                  RefreshRates();
                  cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,_Digits),Slip,White);
                 }
              }
           }
        }
     }
  }
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 21 апреля 2023, 21:04
+
0
THANK YOU!
avatar

  16  chomper Автор Сообщений: 64

  • 21 апреля 2023, 22:24

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий