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

 
Dmitriy Skub #:

Запустил Ваш скрипт в Открытии - показывает не правильно. На Си примерно в 3 раза выше, чем есть в реальности.

На HANG показывает ниже, чем есть.

Интересно, что не так, вроде писал по формуле указанной на мосбирже. Где ошибся?


P.S.  Ага, кажется понял где ошибся. Я не учитываю группу контрактов, а гребу все под одну гребёнку как товарные контракты.  

 
Gladiator WXT #:

На днях напрвил в Открывашку набор критических зачечаний по настройкам Сервера МТ5.

Прошу поддержать путем направления таких же замечаний, либо дополненных вашими собственными замечаниями, полагаю что совместное давление на админов позволит нам добиться повышения качества настроек сервера.

- - - - - - - - 

Dmi3 #:

А что здесь, простите, критического?

Критический объем дополнительных трудозатрат, которые так мало-помалоу пожирают массу мремени.

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

Поэтому прошу простейшая операция копи-пасте приведенного мной текста с отправкой на ящики 911@ и support@ - позволят вам самим в дальнейшем не тратить лишнего времени 

 

##Ошибка при модификации частично сработавшего ордера:

Должно быть:

2023.05.25 13:32:12.878    ## OnTradeTransaction at 13:32:12
    Transaction Type: TRADE_TRANSACTION_ORDER_UPDATE
    Symbol: Si-6.23
    Deal Ticket: 0
    Deal Type: DEAL_TYPE_BUY
    Order Ticket: 857129630
    Order Type: ORDER_TYPE_SELL_LIMIT
    Order State: ORDER_STATE_REQUEST_MODIFY - запрос на модификацию
    Price: 77149
    Volume: 1
    Position Ticket: 0

2023.05.25 13:32:12.883    ## OnTradeTransaction at 13:32:12
    Transaction Type: TRADE_TRANSACTION_ORDER_UPDATE
    Symbol: Si-6.23
    Deal Ticket: 0
    Deal Type: DEAL_TYPE_BUY
    Order Ticket: 857129630
    Order Type: ORDER_TYPE_SELL_LIMIT
    Order State: ORDER_STATE_PLACED - ордер модифицирован (передвинут на новый ценовой уровень)
    Price: 77155
    Volume: 1
    Position Ticket: 0


Ошибка:

2023.05.25 20:25:36.523    ## OnTradeTransaction at 20:25:36
    Transaction Type: TRADE_TRANSACTION_ORDER_UPDATE
    Symbol: HANG-6.23
    Deal Ticket: 0
    Deal Type: DEAL_TYPE_BUY
    Order Ticket: 235693485
    Order Type: ORDER_TYPE_BUY_LIMIT
    Order State: ORDER_STATE_REQUEST_MODIFY - запрос на модификацию
    Price: 18677
    Volume: 2
    Position Ticket: 235692491

2023.05.25 20:25:36.525    ## OnTradeTransaction at 20:25:36
    Transaction Type: TRADE_TRANSACTION_ORDER_UPDATE
    Symbol: HANG-6.23
    Deal Ticket: 0
    Deal Type: DEAL_TYPE_BUY
    Order Ticket: 235693485
    Order Type: ORDER_TYPE_BUY_LIMIT
    Order State: ORDER_STATE_PARTIAL - не верное значение состояния может привести к путанице в обработке событий
    Price: 18679
    Volume: 2
    Position Ticket: 235692491

*Закономерность возникновения ошибки пока не изучена.

**Версия МТ5-Терминала: 3661

***Версия МТ5-Сервера: 3661

****Открытие, реальный счет.

 

Сделали, не прошло и двух месяцев:


 
Dmitriy Skub #:

##Ошибка при модификации частично сработавшего ордера:

Мне кажется, если ордер до модификации был "частично исполнен", то в это состояние он и должен вернуться после модификации.

А "placed" - это, как я понимаю, только для ордера, по которому ещё сделок не было.

 
JRandomTrader #:

Мне кажется, если ордер до модификации был "частично исполнен", то в это состояние он и должен вернуться после модификации.

А "placed" - это, как я понимаю, только для ордера, по которому ещё сделок не было.

Тогда не понятно, как определить, что ордер установлен. Используя событийную модель, конечно.

Дело, в том, что эта ошибка возникает не каждый раз. При модификации даже частично исполненного ордера приходит нормальный placed.

А когда пришел один раз вместо него partial, то из этого состояния он уже не выходит сам.

 
Dmitriy Skub #:

Тогда не понятно, как определить, что ордер установлен. Используя событийную модель, конечно.

Дело, в том, что эта ошибка возникает не каждый раз. При модификации даже частично исполненного ордера приходит нормальный placed.

А когда пришел один раз вместо него partial, то из этого состояния он уже не выходит сам.

Я рассматриваю и placed, и partial как признак, что ордер активен - находится в "стабильном" состоянии, а не в состоянии изменения.

 
JRandomTrader #:

Я рассматриваю и placed, и partial как признак, что ордер активен - находится в "стабильном" состоянии, а не в состоянии изменения.

Нет, состояние ордера ORDER_STATE_PLACED говорит о том, что ордер установлен на бирже. Это конечное (последнее) событие при установке/модификации ордера.

После этого с ним можно производить дальнейшие действия.

 
Dmitriy Skub #:

Нет, состояние ордера ORDER_STATE_PLACED говорит о том, что ордер установлен на бирже. Это конечное (последнее) событие при установке/модификации ордера.

После этого с ним можно производить дальнейшие действия.

А что тогда ORDER_STATE_PARTIAL? Это же не промежуточное нестабильное состояние.

 
JRandomTrader #:

А что тогда ORDER_STATE_PARTIAL? Это же не промежуточное нестабильное состояние.

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

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

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

Причина обращения: