Получаем тиковые данные

Продолжаем знакомиться с тем, как получать рыночные данные с помощью API. В этой статье разберем как получить тиковые данные.

Тиковые данные — информация о всех совершаемых сделках с указанием времени, объема и цены сделки.

В терминале Global Zen Trader есть встроенный инструмент Tick Stream:

тиковые данные

В других терминалах он иногда называется «лента принтов» или «лента сделок».

Получаем тиковые данные через API

Не будем повторять как создать приложение, подключить библиотеки, все это можете посмотреть в предыдущих материалах.

Сразу к коду. Для начала подключаем обработчик получения тиков:

//подключаем обработчик получения тиков
 oecapi.OnTicksReceived += new OEC.API.OnTicksReceivedEvent(oecapi_OnTicksReceived);

Функция oecapi_OnTicksReceived будет вызываться каждый раз при получении очередных тиков (сделок).

Не забываемся подписаться на получение котировок по соответствующему контракту:

static void oecapi_OnSymbolLookupReceived(OEC.API.SymbolLookupCriteria symbolLookup, OEC.API.ContractList contracts)
 {
   if (esu6SymbolLookupRequest != null && symbolLookup.ID == esu6SymbolLookupRequest.ID)
 {
 Console.WriteLine("Symbol lookup request for ESU6 found {0} contracts", contracts.Count);
 foreach (var contract in contracts)
 {
   oecapi.SubscribeTicks(contract, DateTime.UtcNow);
 }
 }
 
 }

И теперь собственно пишем обработчик получения тиков:

static void oecapi_OnTicksReceived(OEC.API.Subscription subscription, OEC.API.Ticks ticks)
 {
 for (int i = 0; i < ticks.PriceList.Length; ++i)
    Console.WriteLine("{0} {1}@{2}\tBid:{3} Ask:{4}", ticks.TimestampList[i].ToLocalTime(), ticks.VolumeList[i], ticks.PriceList[i], ticks.BidPriceList[i], ticks.AskPriceList[i]);
 }

Самое интересное в массиве ticks

Ticks object — contains array of timestamps and array of prices — one price per one timestamp. See RequestTicks(Contract, DateTime, DateTime) and RequestTicks(Contract, DateTime, Int32)

Содержит следующую информацию:

 

NameDescription
AskPriceList
Ask prices as a list
BidPriceList
Bid prices as a list
ExchangeList
Exchanges as a list
PriceList
Prices as a list
TimestampList
Timestamps as a list
VolumeList
Volumes as a list

Посмотрим на результат работы нашей программы:

тиковые данные

И теперь в динамике:

Текст программы.

Надеюсь, что было полезно.
Закажите демоверсию торгового терминала Global Zen Trader
Как открыть реальный счет
Мы в соцсетях:
Наша группа в фейсбук Следите за нами в Твиттере Наша группа в Вконтакте