Скачать MetaTrader 5

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

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

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

Есть некоторые аспекты работы сервера МТ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 не гарантировано. А сейчас, по нескольку раз в день его нет :( ) 

Mikhail Filimonov
5931
Mikhail Filimonov  

За последние 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
fortstrader
9
fortstrader  
Mikhail Filimonov:

 

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


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

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

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

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

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