• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Когда и как обновляются данные в стакане ?

zencoder

New Member
NinjaTrader
Я видел как в стакне "перераспредляются" объемы по разным ценам но цены аск и бид при этом остаются неизменными (т.е. нового тика еще нет). Написал проверочную стратежку в которой в событии OnMarketDepth получаю текущее время (с точностью до системных тиков!) и что изменялось:
Код:
DateTime CurTime = DateTime.Now;
string str =  CurTime.ToString ( "yyyyMMdd H:mm:ss ") + CurTime.Ticks.ToString ( "0") 
+ " " + e.Operation.ToString() 
+ " " + e.MarketDataType.ToString() 
+ " " + e.Price.ToString("0.0000") 
+ " " + e.Volume;
PrintMessage ( str );
и получил вот такой лог:
20110830 12:32:02 634503043221111965 Update Bid 1,4396 106
20110830 12:32:02 634503043226072248 Update Bid 1,4398 13
20110830 12:32:02 634503043226072248 Update Bid 1,4396 100
20110830 12:32:02 634503043226072248 Update Bid 1,4398 14
20110830 12:32:02 634503043226072248 Update Bid 1,4398 15

20110830 12:32:02 634503043226072248 Update Ask 1,4399 20
20110830 12:32:02 634503043226072248 Update Bid 1,4398 16
20110830 12:32:02 634503043226072248 Update Ask 1,4399 19
20110830 12:32:02 634503043226082249 Update Bid 1,4396 106
20110830 12:32:02 634503043229902467 Update Bid 1,4397 57
как видим во ОДНУ И ТУЖЕ микросекунду (тик=634503043226072248) несколько раз менялся объем на цене 1,4398 ::blink.gif::

кто знает в чем дело? либо я время неправильно получаю? либо нинзя както особенно с ним обходится при наступлении события OnMarketDepth?
Мне по большому счету нужно точное время события чтобы сортировать их по мере прихода и получать правильные изменения объемов по времени.
 
zencoder сказал(а):
Я видел как в стакне "перераспредляются" объемы по разным ценам но цены аск и бид при этом остаются неизменными (т.е. нового тика еще нет). Написал проверочную стратежку в которой в событии OnMarketDepth получаю текущее время (с точностью до системных тиков!) и что изменялось:
Код:
DateTime CurTime = DateTime.Now;
string str =  CurTime.ToString ( "yyyyMMdd H:mm:ss ") + CurTime.Ticks.ToString ( "0") 
+ " " + e.Operation.ToString() 
+ " " + e.MarketDataType.ToString() 
+ " " + e.Price.ToString("0.0000") 
+ " " + e.Volume;
PrintMessage ( str );
и получил вот такой лог:
20110830 12:32:02 634503043221111965 Update Bid 1,4396 106
20110830 12:32:02 634503043226072248 Update Bid 1,4398 13
20110830 12:32:02 634503043226072248 Update Bid 1,4396 100
20110830 12:32:02 634503043226072248 Update Bid 1,4398 14
20110830 12:32:02 634503043226072248 Update Bid 1,4398 15

20110830 12:32:02 634503043226072248 Update Ask 1,4399 20
20110830 12:32:02 634503043226072248 Update Bid 1,4398 16
20110830 12:32:02 634503043226072248 Update Ask 1,4399 19
20110830 12:32:02 634503043226082249 Update Bid 1,4396 106
20110830 12:32:02 634503043229902467 Update Bid 1,4397 57
как видим во ОДНУ И ТУЖЕ микросекунду (тик=634503043226072248) несколько раз менялся объем на цене 1,4398 ::blink.gif::

кто знает в чем дело? либо я время неправильно получаю? либо нинзя както особенно с ним обходится при наступлении события OnMarketDepth?
Мне по большому счету нужно точное время события чтобы сортировать их по мере прихода и получать правильные изменения объемов по времени.

Что конкретно в третьей колонке?..634503043226072248?
 
broker_mirus сказал(а):
Что конкретно в третьей колонке?..634503043226072248?
CurTime.Ticks.ToString - текущее время моего компьютера (не торгового сервера). вроде как должно быть в МИКРОсекундах и мне казалось что даже если торговый сервер пришлет мне ОДНОВРЕМЕННО/ОДНОМОМЕНТНО пакет из нескольких команд обновления стакана, они все равно должны выполнятся по очереди и каждый вызов OnMarketDepth ну хоть на одну микросекунду должен отличаться от времени предыдущего обращения.
 
но даже если не получать точное время возник другой вопрос: ночью во время почти нулевой активности глазками видно что данные в стакане обновляются а вот индикатор который вроде как должен работать синхронно - запаздывает.
В чем причина запаздывания?
- неправильно написан код индикатора и например он все отрабатывает но просто не отрисовывает вовремя?
- не все события стакана отдаются терминалу в виде события OnMarketDepth?
- еще чтото?
 

Вложения

  • SimpleDOM.tar.gz
    2,3 КБ · Просмотры: 50
хм... занятная фишка обнаружилась: если нажать (просто нажать и держать нажатой) клавишу Alt то вывод индикатора начинает обновляется гооооораздо чаще :)
 
да... "приятно побеседовать с умным человеком" ::biggrin24.gif::
пару дней самокопания - и все вопросы сняты. интересно: все так начинают? с набивания одних и тех же шишек ;)
 
zencoder сказал(а):
хм... занятная фишка обнаружилась: если нажать (просто нажать и держать нажатой) клавишу Alt то вывод индикатора начинает обновляется гооооораздо чаще :)
Интересный момент.
Бага в коде наверно, хотя не программер. ::sad24.gif::
 
zencoder сказал(а):
но даже если не получать точное время возник другой вопрос: ночью во время почти нулевой активности глазками видно что данные в стакане обновляются а вот индикатор который вроде как должен работать синхронно - запаздывает.
В чем причина запаздывания?
А какие настройки у индюка? Стакан обнавляется с каждым тиком, а индюки, как правило, вместе с графиком у которых дефолтные установки по обновлению состовляют 0,5 сек
 
Довольно часто во время гэпа "сбивается" стакан. В итоге получается полная абра-кадабра с бидами/асками , что я запечатлил на скрине. Помогает в этом случае только смена фьючерса на другой и обратно, но за это время рынок тю-тю и потенциально хороший скальп уже упущен :(
Кому нибудь удалось победить сей глюк?

 
Bik сказал(а):
Довольно часто во время гэпа "сбивается" стакан. В итоге получается полная абра-кадабра с бидами/асками
Меняйте провайдера. Это из-за того, что часть данных теряется на каком-то узле от биржы до вашего ПК.
 
Назад
Верх Низ