alex30774

 
Уровень 20

  Торгую в компаниях:


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

Рейтинг 2146



РЕКОМЕНДУЮ



Переписать функцию из МТ4 в МТ5

Здравствуйте, Андрей.
Перепешите пожалуйста функцию «SymbolsCount» (Определение количества валютных пар из открытых ордеров) из MT4 в МТ5.
Вот сама функция:
//+------------------------------------------------------------------+
int SymbolsCount()
{
    int count = 0;
    string symbols[];
    for(int i = 0; i < OrdersTotal(); i++)
    {                                              
        if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
            if(OrderType() <= OP_SELL)
            {
               bool is_elem = false;
               for(int j = 0; j < ArraySize(symbols); j++)
               {
                  if(OrderSymbol() == symbols[j])
                  {
                      is_elem = true;
                  }
               }
               if(!is_elem || ArraySize(symbols) == 0)
               {
                  ArrayResize(symbols,i + 1);
                  symbols[i] = OrderSymbol();
                  count++;
               }
            }
        }
    }
    return(count);
}
  • 0
  • Просмотров: 431
  • 26 сентября 2024, 20:09
  • alex30774
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Ищу поручителя.
26 сентября 2024
27 сентября 2024

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

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

+
0
здесь нужно советник писать для проверки
avatar

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

  • 26 сентября 2024, 21:36
+
0
Здравствуйте, Андрей.
Я эту функцию взял вот из этого советника
www.opentraders.ru/downloads/3901/

вот ссылкана на топик заказа
zakaz.opentraders.ru/131799.html

А хотел попробовать запихнуть вот в этот
www.opentraders.ru/downloads/3616/

Просто я хотел, чтоб вам поменьше работы было.
avatar

  20  alex30774 Автор Сообщений: 748

  • 27 сентября 2024, 10:33
+
+1
перевел на мт5:


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int SymbolsCount()
  {
   int count = 0;
   string symbols[];
   
   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      if(PositionSelectByTicket(PositionGetTicket(i)))
        {
         if(PositionGetInteger(POSITION_TYPE)==1)
           {
            bool is_elem = false;
            for(int j = 0; j < ArraySize(symbols); j++)
              {
               if(PositionGetString(POSITION_SYMBOL) == symbols[j])
                 {
                  is_elem = true;
                 }
              }
            if(!is_elem || ArraySize(symbols) == 0)
              {
               ArrayResize(symbols,i + 1);
               symbols[i] = PositionGetString(POSITION_SYMBOL);
               count++;
              }
           }
        }
     }
   return(count);
  }


а по хорошему в советнике нужно проверять
avatar

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

  • 27 сентября 2024, 11:42
+
0
Спасибо за оперативность
avatar

  20  alex30774 Автор Сообщений: 748

  • 27 сентября 2024, 11:49
+
0
Спасибо большое, проверил, вроде(по первым впечатлениям) работает.

Редактирован: 27 сентября 2024, 13:33
avatar

  20  alex30774 Автор Сообщений: 748

  • 27 сентября 2024, 12:20

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