← Zurück

Порядок прихода событий разных типов (Квик)

Никто не в курсе, существует ли фиксированный (официально или пост фактум) порядок прихода ДДЕ сообщений разных типов в Квике и в Stock# в частности?

Рассмотрим для примера события:

  1. МояНоваяСделка
  2. Обновление текущего остатка в таблице лимитов по бумагам
  3. Обновление заявки

В каком порядке они вызовутся?

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (2)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

sergun
sergun Autor

На самом деле вопрос даже больше по Stock#.

Михаил, существуют ли в библиотеке правила на порядок возникновения событий QuikTrader при возникновении различный событий на рынке?

Пример - удовлетворение заявки. В каком порядке вызовутся: ProcessUnknownDdeData (из которых хочется вытащить измененную позицию) OrdersChanged NewMyTrades ?

Mikhail Sukhov
Mikhail Sukhov

Сейчас я попробую вспомнить все условия, которые я прописал в BaseTrader и QuikTrader.

  1. Не может прийти событие о сущностях (заявки сделки) до прихода информации по инструменту (редкая ситуация, так что игнор).
  2. ProcessUnknownDdeData вызывается для неизвестных типов. Поэтому никаким образом к OrdersChanged не имеет. Если имеется ввиду ProcessWellknownDdeData, то сначала OrdersChanged, затем ProcessWellknownDdeData.
  3. Событие от разных таблиц не синхранизируются, кроме пунтка 4. Так что может и сначала по бумажке лимит обновиться, а затем по заявке, или наоборот.
  4. NewMyTrades вызывается только после получения информации по заявке. Тоесть, если заявка регистрируется асинхронно, то сначала придет NewOrders затем NewMyTrades.