Блог им. SergeyEgorov

Где робот хранит свои данные?

Класс, представляющий основную структуру данных торгующего робота, называется TradingDataContext (контекст торговых данных). Внутри этого контекста содержится вся необходимая для торговли информация, описания и настройки торговых алгоритмов, сигналы, заявки, сделки. Следующее видео представляет собой двадцатиминутную шпаргалку, демонстрирующую способы получения доступа к коллекциям объектов, помещенных в контексте торговых данных, в зависимости от того, какие манипуляции вы собираетесь производить с этими данными.


Контекст торговых данных реализует интерфейс:

public interface DataContext
{
    T Get<T>();
}

Поэтому у вас есть по-меньшей мере три способа обращения к коллекциям и наборам, содержащимся в контексте торговых данных:

/// Получите ссылку на контекст торговых данных
DataContext tradingDataContext = TradingData.Instance;

/// Если вам нужно только читать данные из коллекции, используйте такой вызов
IEnumerable<Tick> ticks = tradingDataContext.Get<IEnumerable<Tick>>();

/// Если вы хотите изменять содержимое коллекции, добавляя или удаляя ее элементы
/// но чтобы при этом не срабатывали алгоритмы, наблюдающие изменение коллекции
/// используйте следующий вызов
ICollection<Bar> bars = tradingDataContext.Get<ICollection<Bar>>();

/// Если вы хотите изменять содержимое коллекции, заставляя при этом срабатывать
/// алгоритмы, наблюдающие за ее содержимым, используйте такой вызов
ObservableCollection<Trade> trades = tradingDataContext.Get<ObservableCollection<Trade>>();

160 | ★6
7 комментариев
Я один видео по программированию никогда не смотрю? Как и по настройке всяких программ…
avatar
Spekyl, :-) Наверное не один, статью просмотрели 143 раза, а видео всего 7 раз. :-)
avatar
что это за фреймворк? чем отличается, например, от s#?
видео не смотрел…
avatar
Качнул исходники, судя по качеству кода s# даже и рядом не стоял. По функционалу пока разбираюсь, но первое впечатление крайне положительное.
avatar
denbkh, Качество кода нас самих не очень устраивает и мы его каждый день стараемся рефакторить, устраняя даже небольшие дублирования и некрасивости.

Вообще, как поклонники дядюшки Боба Мартина и процесса гибкой разработки agilemanifesto.org/iso/ru/, мы всегда сначала пишем тесты, потом код. Поэтому весь наш код покрыт модульными тестами и аналогом приемочных тестов, написанных с использованием техники модульного тестирования. Так что даже там, где наш код не выглядит красиво, его работоспособность все равно гарантирована тестами.

В части функциональности мы пытаемся разработать конструкцию, с небольшим количеством основных, повторно используемых, коротких фрагментов кода, реализующих повседневно необходимый трейдеру набор возможностей. При этом мы все еще пробуем разные подходы, пытаясь найти-вывести органичный для предметной области API, который был бы пусть не интуитивно, но понятен и удобен большинству трейдеров, практикующих программирование.
avatar
Вы наверно меня не так поняли, я имел ввиду что у вас как раз с кодом все очень даже ок, на мой взгляд, по сравнению с вышеупомянутой библиотекой. Юнит тесты, нормальная связность компонентов. Когда я последний раз смотрел S# у них даже в библиотеку подключения к SmartCom'у было притянуто столько всего включая XAML, что без кучи ихних зависимостей поюзать ее невозможно.
Ну и надо не забывать что у s# исходники за бабло или для особо приближенных. А отладка ихнего обфусцированного кода то еще удовольствие, да :)
avatar
denbkh, :-) Я вас правильно понял. Спасибо за то, что похвалили, просто сами мы еще не вполне довольны своим кодом, поэтому я написал что мы продолжаем работать над качеством даже уже существующего и работающего кода.

На стокшарпе я ничего не писал, поэтому не могу объективно ничего про него сказать. В их учебных видео, тех, которые мне довелось посмотреть, меня поразило обилие анонимных делегатов, которые мы не практикуем никогда, потому что их невозможно тестировать.
avatar

Читайте на SMART-LAB:
Фото
Татнефть отчиталась по МСФО за 2025 год: всё по прогнозу, но главный вопрос — что дальше при текущих ценах на нефть.
Татнефть отчиталась по МСФО — в целом без сюрпризов и ровненько по прогнозу (я оказался ближе всех). Прогноз публиковал в нефтяном срезе...
Фото
📃 Как изменилось «лицо» российского рынка за 10 лет
Пока инвесторы пристально вглядываются в новости о нефти, мы решили посмотреть, насколько сильно от неё зависит индекс Мосбиржи, и почему он уже...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 12 марта 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  RuTube,   Smart-lab ,  ВКонтакте ,  Сайт
Фото
Сбер РПБУ февраль 2026 г. - снижение резервов помогло удержать рекордную прибыль
Сбер опубликовал результаты за 2 месяца работы в 2026 году по РСБУ. Чистая прибыль за 2 месяца составила 325 млрд руб. (+21,4%). За февраль...

теги блога SergeyEgorov

....все тэги



UPDONW
Новый дизайн