• Demo счет NinjaTrader, регистрируется в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на демо счет NinjaTrader
    Фид на соединении Continuum/CQG.
    Для справки: Continuum - это брэнд CQG.
    Обратите внимание, что в настоящее время CQG не высылает логин и пароль на электронные адреса от mail.ru, bk.ru, list.ru, inbox.ru, поэтому необходимо повторить регистрацию с электронного адреса от другого домейна (yahoo, gmail, и тд).
  • NinjaTrader с зарекомендовавшим себя брокерским сервисом предоставляет наилучшие условия для фьючерсной торговли, включая:
    • Низкие комиссии: Экономьте на торгах через низкие и понятные комиссии
    • Низкая маржа: Всего $50 для микро контрактов
    • Низкие минимумы: Откройте счет от $400
    • Бесплатная платформа: Включает весь необходимый функционал для торговли в реале
  • Оформите карту Tinkoff Black по моей рекомендации до 31 октября и получите бесплатное обслуживание своей карты Tinkoff Black навсегда и другие плюшки
    Райффайзенбанк подарит 1 000 ₽, если открыть бесплатную Кэшбэк-карту и потратить по ней 500 ₽.
    Карта 🔥. По ней 1,5% кэшбэка за все покупки без условий и ограничений. Сработает, если оформить по ссылке
  • Уважаемые посетители форума!
    При регистрации на форуме отправляется письмо подтверждения на ваш почтовый ящик, если письмо не пришло, просьба проверить папку "спам" вашего почтового ящика, возможно письмо попало туда.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

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

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?
Мне по большому счету нужно точное время события чтобы сортировать их по мере прихода и получать правильные изменения объемов по времени.
 

broker_mirus

Administrator
Команда форума
Помогли тебе - помоги другим!
NinjaTrader
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?
 

zencoder

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

zencoder

New Member
NinjaTrader
но даже если не получать точное время возник другой вопрос: ночью во время почти нулевой активности глазками видно что данные в стакане обновляются а вот индикатор который вроде как должен работать синхронно - запаздывает.
В чем причина запаздывания?
- неправильно написан код индикатора и например он все отрабатывает но просто не отрисовывает вовремя?
- не все события стакана отдаются терминалу в виде события OnMarketDepth?
- еще чтото?
 

Вложения

  • SimpleDOM.tar.gz
    2,3 КБ · Просмотры: 50

zencoder

New Member
NinjaTrader
хм... занятная фишка обнаружилась: если нажать (просто нажать и держать нажатой) клавишу Alt то вывод индикатора начинает обновляется гооооораздо чаще :)
 

zencoder

New Member
NinjaTrader
да... "приятно побеседовать с умным человеком" ::biggrin24.gif::
пару дней самокопания - и все вопросы сняты. интересно: все так начинают? с набивания одних и тех же шишек ;)
 

nikon

Member
NinjaTrader
zencoder сказал(а):
хм... занятная фишка обнаружилась: если нажать (просто нажать и держать нажатой) клавишу Alt то вывод индикатора начинает обновляется гооооораздо чаще :)
Интересный момент.
Бага в коде наверно, хотя не программер. ::sad24.gif::
 

radsam

Active Member
NinjaTrader
zencoder сказал(а):
но даже если не получать точное время возник другой вопрос: ночью во время почти нулевой активности глазками видно что данные в стакане обновляются а вот индикатор который вроде как должен работать синхронно - запаздывает.
В чем причина запаздывания?
А какие настройки у индюка? Стакан обнавляется с каждым тиком, а индюки, как правило, вместе с графиком у которых дефолтные установки по обновлению состовляют 0,5 сек
 

Bik

New Member
NinjaTrader
Довольно часто во время гэпа "сбивается" стакан. В итоге получается полная абра-кадабра с бидами/асками , что я запечатлил на скрине. Помогает в этом случае только смена фьючерса на другой и обратно, но за это время рынок тю-тю и потенциально хороший скальп уже упущен :(
Кому нибудь удалось победить сей глюк?

 

radsam

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