ФОРТС: К разработчикам. Сервер МТ5

 

Добрый день, уважаемые разработчики!

Есть некоторые аспекты работы сервера МТ5, которые (на мой взгляд) хотелось бы изменить

1. Зачем нужна детализация состояния ордера, а именно

ORDER_STATE_STARTED

ORDER_STATE_REQUEST_ADD 

ORDER_STATE_REQUEST_MODIFY

ORDER_STATE_REQUEST_CANCEL

В этих состояниях с ордером НИЧЕГО нельзя сделать, достаточно знать это:

ORDER_STATE_BUSY

2. Из спецификации Plaza II явно следует, что подтверждением выставления ордера

в торговую систему Биржи, является "Код заявки в системе" (Билет) + Код возврата

Метод FutAddOrder - Добавление заявки ( Тип сообщения: 36 Тип ответного сообщения: 101 )

 

Думается, что не нужно иметь два билета ордера.

И "дёргать" (нам) состояние ордера, после команды на его установку. 

(OnTradeTransaction не гарантировано. А сейчас, по нескольку раз в день его нет :( ) 

 

За последние 3 дня по нескольку раз нет события TradeTransaction

(CheckOrders() срабатывает, если нет события TradeTransaction ):

2015.12.01              
2015.12.01 10:00:12.953 Forts_trader (LKOH-12.15,H1)    CheckOrders: Sell ордер не удалён! Билет = 24192034
2015.12.01 10:00:13.454 Forts_trader (Si-6.16,H1)       CheckOrders: Sell ордер установлен. Билет = 24192039
2015.12.01 10:00:13.454 Forts_trader (Eu-12.15,M1)      CheckOrders: Buy ордер не удалён! Билет = 24192031
2015.12.01 10:00:13.454 Forts_trader (VTBR-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24192038
2015.12.01 10:00:53.518 Forts_trader (Eu-12.15,M1)      CheckOrders: Sell ордер установлен. Билет = 24192217
2015.12.01 12:52:46.055 Forts_trader (SNGR-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24211201
2015.12.01 13:00:02.691 Forts_trader (MOEX-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24212027
2015.12.02              
2015.12.02 10:00:11.861 Forts_trader (ROSN-12.15,H1)    CheckOrders: Buy ордер установлен. Билет = 24268445
2015.12.02 10:00:11.862 Forts_trader (LKOH-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24268444
2015.12.02 10:00:11.862 Forts_trader (Si-6.16,H1)       CheckOrders: Sell ордер установлен. Билет = 24268443
2015.12.02 10:00:11.862 Forts_trader (ROSN-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24268446
2015.12.02 10:00:12.375 Forts_trader (MGNT-12.15,H1)    CheckOrders: Buy ордер установлен. Билет = 24268447
2015.12.02 10:00:12.375 Forts_trader (SNGR-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24268448
2015.12.02 10:00:13.903 Forts_trader (TRNF-12.15,H1)    CheckOrders: Buy ордер установлен. Билет = 24268455
2015.12.02 10:00:13.903 Forts_trader (TRNF-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24268456
2015.12.02 12:09:54.282 Forts_trader (UCHF-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24284370
2015.12.02 12:31:58.902 Forts_trader (SNGR-12.15,H1)    CheckOrders: Sell ордер модифицирован. Билет = 24286277
2015.12.02 16:14:55.910 Forts_trader (Eu-12.15,M1)      CheckOrders: Sell ордер установлен. Билет = 24313340
2015.12.02 16:14:55.910 Forts_trader (GOLD-12.15,M1)    CheckOrders: Sell ордер установлен. Билет = 24313343
2015.12.02 16:14:55.910 Forts_trader (AUDU-12.15,H1)    CheckOrders: Buy ордер не удалён! Билет = 24313300
2015.12.02 16:14:56.411 Forts_trader (UCHF-12.15,H1)    CheckOrders: Sell ордер не удалён! Билет = 24313302
2015.12.02 16:14:56.411 Forts_trader (UJPY-12.15,H1)    CheckOrders: Buy ордер модифицирован. Билет = 24313304
2015.12.02 16:14:57.938 Forts_trader (UCHF-12.15,H1)    CheckOrders: Buy ордер не удалён! Билет = 24313301
2015.12.02 16:14:57.938 Forts_trader (Eu-12.15,M1)      CheckOrders: Buy ордер установлен. Билет = 24313351
2015.12.02 16:14:57.938 Forts_trader (UJPY-12.15,H1)    CheckOrders: Buy ордер не удалён! Билет = 24313304
2015.12.02 16:14:59.451 Forts_trader (AUDU-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24313354
2015.12.02 16:14:59.451 Forts_trader (UJPY-12.15,H1)    CheckOrders: Sell ордер не удалён! Билет = 24313305
2015.12.02 16:15:00.465 Forts_trader (AUDU-12.15,H1)    CheckOrders: Buy ордер установлен. Билет = 24313355
2015.12.02 16:51:46.992 Forts_trader (SNGR-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24317081
2015.12.02 19:41:22.873 Forts_trader (UCAD-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24339432
2015.12.03              
2015.12.03 11:43:28.079 Forts_trader (FEES-12.15,H1)    CheckOrders: Buy ордер не удалён! Билет = 24378516
2015.12.03 14:42:58.497 Forts_trader (CHMF-12.15,H1)    CheckOrders: Buy ордер установлен. Билет = 24405000
2015.12.03 14:47:28.286 Forts_trader (SNGR-12.15,H1)    CheckOrders: Sell ордер установлен. Билет = 24405492
2015.12.03 15:45:01.337 Forts_trader (Eu-12.15,M1)      CheckOrders: Buy ордер установлен. Билет = 24412505
2015.12.03 15:45:02.350 Forts_trader (Eu-12.15,M1)      CheckOrders: Sell ордер установлен. Билет = 24412506
2015.12.03 16:00:33.442 Forts_trader (AUDU-12.15,H1)    CheckOrders: Buy ордер установлен. Билет = 24414701
2015.12.03 16:02:24.515 Forts_trader (SBPR-12.15,M1)    CheckOrders: Buy ордер установлен. Билет = 24414946
2015.12.03 16:59:54.987 Forts_trader (RTKM-12.15,H1)    CheckOrders: Buy ордер установлен. Билет = 24420929
 
Mikhail Filimonov:

 

Думается, что не нужно иметь два билета ордера.


Дело в том, что разработчики хотели облегчить жизнь программерам (а может быть и себе), поэтому и ввели свой Билет ордера.

В противном случае, после каждой  модификации ордера (MoveOrder), мы получали бы новые билеты :)

Вероятно, поэтому (что бы не совсем опытные программисты не путались) и был введён свой (MQL5) билет ордера,

который "живёт" на всём протяжении его жизни с сохранением в истории... 

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