Рыночные данные из источника BotTabSimple можно получать, запрашивая их напрямую, не дожидаясь, когда сработает какое-то событие. Кроме того, напрямую можно получать довольно много другой нужной информации вроде статуса сервера и т.д.
В данном посте разбираемся с тем, как это делать.

Свойства, обсуждаемые сегодня, внутри источника BotTabSimple находятся здесь:

public List<Candle> CandlesAll
Свойство даёт доступ к массиву всех свечек, имеющихся у источника.
Пример доступа к данным:
- Запрашиваем все свечи у источника вместе с формирующейся. Т.е. всё, что есть.
- Последняя свеча вызывается так. Это самая новая свеча по времени, та что вы видите в терминалах в правой части графика.
- Самая старая свеча вызывается так. Та, что в терминале слева.
public List<Candle> CandlesFinishedOnly
Свойство даёт доступ к массиву всех свечек, имеющихся у источника, но только к завершённым.
Пример доступа к данным:

- Запрашиваем свечи у источника. Только завершившиеся.
- ВАЖНО!!! Если в этот момент происходят торги, и есть свеча, которая ещё «строится», то в этот массив такая свеча включена не будет.
public List<Trade> Trades
Свойство даёт доступ к массиву всех трейдов (лента сделок), имеющихся у источника.
Пример доступа к данным:

- Запрашиваем у источника трейды.
- Если в массиве есть данные, так можно получить самый последний (новый) трейд.
public DateTime TimeServerCurrent
Свойство даёт доступ к текущему времени сервера. Не забывайте, что биржи транслируют время в разных часовых поясах. Чтобы им пользоваться правильно, Вы должны знать, в каком часовом поясе транслирует данные Ваше подключение.
Пример доступа к данным:

- Запрашиваем данные.
- Как-то применяем эти знания. Например, можно не торговать до 11 часов утра.
- ВАЖНО!!! В тестере это свойство выдаёт последнее время свечи / трейда / стакана, которые на данный момент загрузились и были отправлены в роботов в рамках эмуляции торговли.
public MarketDepth marketDepth
Свойство даёт доступ к стакану котировок по инструменту, к которому подключен источник.
Пример доступа к данным:

- Запрашиваем у источника актуальный стакан котировок.
- Проверка наличия и уровней покупок и продаж. Надо проверять то, чем Вы будете пользоваться. Т.к. стакан может приходить и с каким-то одним уровнем, если ликвидности на рынке нет.
- Лучшая покупка. Цена.
- Лучшая покупка. Объём.
- Лучшая продажа. Цена.
- Лучшая продажа. Объём.
public decimal PriceBestBid
public decimal PriceBestAsk
public decimal PriceCenterMarkeDepth
Все три свойства, что выше, дают данные по стакану, но в упрощённом виде, без «шаманства» с самим объектом «стакан».
Пример доступа к данным:
- Лучшая цена покупки запрашивается так.
- Лучшая цена продажи запрашивается так.
- Центр стакана можно запросить так.
Удачных алгоритмов!
Комментарии открыты для друзей!

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support