Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй статью. Мы сами переведем ее на другие языки!
Vovander
44
Vovander 2013.02.19 07:49 
как правильно получить тип уже открытого ордера, с чего начать? Если не трудно напишите порядок функций
Alekseu Fedotov
721
Alekseu Fedotov 2013.02.19 08:12  
vovander:
как правильно получить тип уже открытого ордера, с чего начать? Если не трудно напишите порядок функций


Эта функция возвращает тип последней открытой позиции или -1.
Mikhail Kozhemyako
1171
Mikhail Kozhemyako 2013.02.19 08:28  
vovander:
как правильно получить тип уже открытого ордера, с чего начать? Если не трудно напишите порядок функций
  • Если вы заранее знаете тикет ордера то 
    if(OrderSelecеt(ticket,SELECT_BY_TICKET))
     if(OrderCloseTime()==0) // Если ордер ещё не закрыт
      {
       int type=OrderType();
    //Возвращает тип операции текущего выбранного ордера. Mожет быть одной из следующих величин:
    // OP_BUY - позиция на покупку,
    // OP_SELL - позиция на продажу,
    // OP_BUYLIMIT - отложенный ордер на покупку по достижении заданного уровня, текущая цена выше уровня,
    // OP_BUYSTOP - отложенный ордер на покупку по достижении заданного уровня, текущая цена ниже уровня,
    // OP_SELLLIMIT - отложенный ордер на продажу по достижении заданного уровня, текущая цена ниже уровня,
    // OP_SELLSTOP - отложенный ордер на продажу по достижении заданного уровня, текущая цена выше уровня.
      }
  • Если тикет неизвестен, перебираем все имеющии ордера:
      for (int i=OrdersTotal()-1; i>=0; i--)
       {
        if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         {
          if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())// Проверка на MAGIC и инструмент
           {
            if(OrderType()==OP_BUY) 
             {
    // Делаем необходимые действия
             }
            if(OrderType()==OP_SELL)
             {
    // Делаем необходимые действия
             }
            if(OrderType()==OP_BUYSTOP) 
             {
    // Делаем необходимые действия
             }
            if(OrderType()==OP_SELLSTOP)
             {
    // Делаем необходимые действия
             }
            if(OrderType()==OP_BUYLIMIT) 
             {
    // Делаем необходимые действия
             }
            if(OrderType()==OP_SELLLIMIT)
             {
    // Делаем необходимые действия
             }
           }
         }
       }

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