ФОРТС . Ошибки торговой системы: МТ5-Терминал . МТ5-Сервер - страница 4

 
Dmitriy Skub #:

Это изменение состояния ордера типа TRADE_TRANSACTION_ORDER_UPDATE, которое говорит о частичной заливке его. Поле объем показывает оставшийся объем не залитого ордера.

Перед этим приходит событие TRADE_TRANSACTION_DEAL_ADD, которое соответствует совершаемой сделке.

После этого приходит TRADE_TRANSACTION_DEAL_UPDATE, которое собственно и говорит о совершенной сделке и окончании транзакции.

И в каком состоянии после этого ордер? Разве он не остаётся в ORDER_STATE_PARTIAL?

 
JRandomTrader #:

И в каком состоянии после этого ордер? Разве он не остаётся в ORDER_STATE_PARTIAL?

Вопрос интересный, но, по сути, не корректный. Эти состояния метаквотовские имеют смысл в динамике, при изменениях.

А так, ордер установлен на бирже по цене и объемом, указанным в последнем событии, относящимся к нему. Так и надо считать.

 
Dmitriy Skub #:

Вопрос интересный, но, по сути, не корректный. Эти состояния метаквотовские имеют смысл в динамике, при изменениях.

А так, ордер установлен на бирже по цене и объемом, указанным в последнем событии, относящимся к нему. Так и надо считать.

Я завёл для себя свои состояния ордеров.

 switch(state)
   {
    case ORDER_STATE_STARTED:
    case ORDER_STATE_REQUEST_ADD:
       Ord.MTState=ORD_SENT;
       break;
    case ORDER_STATE_PLACED:
    case ORDER_STATE_PARTIAL:
       Ord.MTState=ORD_ACTIVE;
       break;
    case ORDER_STATE_REQUEST_MODIFY:
       Ord.MTState=ORD_CHANGE_SENT;
       break;
    case ORDER_STATE_CANCELED:
    case ORDER_STATE_FILLED:
    case ORDER_STATE_REJECTED:
    case ORDER_STATE_EXPIRED:
    case ORDER_STATE_REQUEST_CANCEL:
       Ord.MTState=ORD_DEL_SENT;
       break;
   }
 
JRandomTrader #:

Я завёл для себя свои состояния ордеров.

Ну да, у меня нечто похожее.
 

Обновилась версия терминала в Открытии на 3800. BoC в параметрах ордера не появилась.

Так понимаю, что это зависит от сервера и его настроек. Пока там сервер прошдых версий 3661. Возможно, за выходные обновят.

 

Пустячок, но не приятно. Отлаживая на демо-контуре мосбиржи, получил не убиваемую позицию. Осталась после экспирации.

При попытке закрыть, получаем закономерный ответ:

2023.06.16 17:18:31.430    Trades    '1118836': exchange sell 2 Eu-6.23 at market, close #867486038 buy 2 Eu-6.23 94842
2023.06.16 17:18:31.438    Trades    '1118836': failed exchange sell 2 Eu-6.23 at market, close #867486038 buy 2 Eu-6.23 94842 [Market closed]

Явно, такая ситуация не предусмотрена программистами или кем-то еще из разработчиков. А это не хорошо.