FORTS модифицирование ордера

 

Добрый день!

Не нашел в документации: если мы хотим изменить лимитный ордер на фортс (с помощью TRADE_ACTION_MODIFY запроса), то на биржу отправляется MOVEORDERS или заявка снимается и заново ставится? Это важно для расчета числа ордеров (на бирже есть ограничения). Еще один вопрос: поддерживает ли терминал MOVE сразу двух ордеров одной транзакцией (на бирже такой функционал имеется)?

 
turspb:

Добрый день!

Не нашел в документации: если мы хотим изменить лимитный ордер на фортс (с помощью TRADE_ACTION_MODIFY запроса), то на биржу отправляется MOVEORDERS или заявка снимается и заново ставится? Это важно для расчета числа ордеров (на бирже есть ограничения). Еще один вопрос: поддерживает ли терминал MOVE сразу двух ордеров одной транзакцией (на бирже такой функционал имеется)?

1. Считать нужно так:

установка - 1 тр.

модификация - 1 тр.

удаление - 1 тр. 

2. Нет, в терминале нельзя изменить два ордера одной транзакцией.

 

Mikalas, спасибо!

 

А вот еще вопрос:

В квике есть такой параметр MODE:

Режим перестановки заявок на рынке FORTS. Параметр операции «ACTION» =

«MOVE_ORDERS» Возможные значения:

 «0» – оставить количество в заявках без изменения,

 «1» – изменить количество в заявках на новые,

 «2» – при несовпадении новых количеств с текущим хотя бы в

одной заявке, обе заявки снимаются 

 

Насколько я понимаю, это функционал биржи. Какое поведение предполагает метатрейдер при модифицировании частично исполненных заявок и можно ли его изменять? 

 
turspb:

Mikalas, спасибо!

 

А вот еще вопрос:

В квике есть такой параметр MODE:

Режим перестановки заявок на рынке FORTS. Параметр операции «ACTION» =

«MOVE_ORDERS» Возможные значения:

 «0» – оставить количество в заявках без изменения,

 «1» – изменить количество в заявках на новые,

 «2» – при несовпадении новых количеств с текущим хотя бы в

одной заявке, обе заявки снимаются 

 

Насколько я понимаю, это функционал биржи. Какое поведение предполагает метатрейдер при модифицировании частично исполненных заявок и можно ли его изменять? 

Не важно частично исполнился ордер или нет, если ордер находится в работе (выставлен),

то его можно модифицировать или удалить.  

 
Mikalas:

Не важно частично исполнился ордер или нет, если ордер находится в работе (выставлен),

то его можно модифицировать или удалить.  

Т.е. модификацией можно изменить только цену, но не объем? Так?
 
turspb:
Т.е. модификацией можно изменить только цену, но не объем? Так?
Да, так
 
Mikalas:
Да, так
Mikalas, большое спасибо за помощь!
 
turspb:
Mikalas, большое спасибо за помощь!

Пожалуйста.

На всякий случай код для модификации:

//+------------------------------------------------------------------+
// Modify order                                                      |
//+------------------------------------------------------------------+
void Modify( const double price, const ulong ticket )
{
  if ( ticket > 0 )
  {
    if ( OrderSelect( ticket ) )
    {
      MqlTradeRequest request = {0};
      MqlTradeResult  result  = {0};
   
      request.action    = TRADE_ACTION_MODIFY;
      request.magic     = magic;
      request.symbol    = a_symbol;
      request.order     = ticket;
      request.price     = price;
      request.type_time = ORDER_TIME_DAY;
  
      if ( OrderSend( request, result ) )
      {
        if ( result.retcode == TRADE_RETCODE_PLACED ) 
        {
          Print("Приказ о модификации отправлен на биржу. Билет = ", ticket);
        }
      }
      else
      {
        Print( "Ордер не модифицирован! Билет = ", ticket );
      }
    }
  }
}
 
Mikalas:

Пожалуйста.

На всякий случай код для модификации:

Спасибо еще раз!