– Привет! В предыдущий раз, ты рассказывал про дата-сервис, про отдельный слой доступа к данным. Расскажи теперь про сами сущности и репозитории. При помощь чего ты вытягиваешь данные из таблиц?
– Ок. Если необходимо сохранять сделки и статистику, или откуда-то брать исторические котировки для тестов, то неплохо использовать БД. Но, как с ней общаться? Есть несколько способов. В C#, есть например традиционный ADO.NET, но речь пойдёт не о нём. В прошлый раз мы отделили работу с БД от бизнес-логики, это уже очень здорово, но можно пойти дальше! Есть способ общаться с самой БД на достаточно абстрактном уровне, инкапсулируя детали формирования самих запросов. Такой способ лучше вписывается в концепцию объектно-ориентированного проектирования, и называется он ORM (object relation mapping).
– Хм, я что-то слышал про ORM. У меня сложилось неоднозначное ощущение, вроде, есть целое сообщество, кто против них (OrmHate), и считает это антипаттерном. Все эти дополнительные уровни абстракции, и вообще, они наверно дико тормозные?
0:00 Куда я пропал со smart-lab.ru
01:09 Почему мне больше не интересна политика
01:58 Почему мне вообще были интересны политические темы
03:00 Как изменился Саратов за последний год
04:20 Почему меня потянуло на «высокое»
06:20 Для чего нужно учить стихи. Какая связь с трейдингом
07:50 Пушкин и золотой запас
09:00 О чем буду говорить дальше
За сегодняшний день фьючерс на доллар-рубль нарисовал красивую пилу с четырьмя зубцами. Во всяком случае именно так выглядел график этого инструмента на пятиминутках. Две недели сериала «Торговая система для новичка» пролетели быстро, и сегодня был последний день. Как закончили сериал торговая система «ТСН2» и Базы см. в прилагаемом видео.
Вчерашняя попытка роста фьючерса на доллар-рубль не удалась. Рынок сегодня открылся падением в этом инструменте, а к концу дневной сессии снижение цен фьючерса на доллар-рубль усилилось. ТС «ТСН2» продолжает держать длинную позицию, а Базы, каждая по-своему, реагируют на изменившуюся ситуацию. Подробности см. в видео.
Приветствую. В предыдущем посте описывался интерфейс для генерации тиковых данных – ITickGenerator. Его реализации могут быть разными: данные могут генерироваться на лету, или браться из БД. В случае с БД, возникает необходимость в организации ещё одного слоя приложения – слоя доступа к данным. TickGenerator, всё также будет оповещать подписчиков (стратегии, которые выставляют заявки), но по тем данным, которые он получит из БД.
Сейчас не важно, какая будет база данных, и где она будут храниться – на сервере, в файлах или в оперативной памяти. Не важно, также, какие специфические библиотеки и драйвера буду для этого использоваться. Сейчас, я просто приведу пример того, как можно разделить бизнес-логику приложения и слой доступа к данным.
Я создал отдельный модуль, и там и развернул всю архитектуру, связанную с БД, основные компоненты которой: сущности, репозитории и дата-сервис.
Хотя понятие сущности (Entity), само по себе, достаточно общее, здесь, буду применять его в узком смысле – это классы, представляющие таблицы БД, возможно, с какой-то дополнительной логикой. В простейшем случае, одна сущность – одна таблица. Между сущностями может быть связь (например, один ко многим), которая отражается и в связи между таблицами. Сущность описывается полями класса, которые отражают колонки таблиц.
Рынок фьючерса на доллар-рубль сегодня, как и вчера был достаточно волатильным, но при этом все же вырос. ТС «ТСН2» продолжает держать длинную позицию. Четыре моих Базы также работают, но по-своему. Каждая из них демонстрирует определенный подход к открытию и закрытию позиций. Подробности см. в видео.
Сегодняшний день на рынке фьючерса на доллар-рубль при всем желании скучным не назовешь. Фьючерс активно рос до 12.00, потом до 15.00 снижался, а затем рос с откатами практически до закрытия дневной сессии. ТС «ТСН2» на этом движении открыла длинную позицию, не отставали от нее и мои «заготовки» — Базы. Подробности см. в видео.
Фьючерс на доллар-рубль сегодня открылся свечкой вниз, но остальной день провел в боковом движении. По моим наблюдениям, волатильность на рынке фьючерса на доллар-рубль прилично снизилась, что может являться основанием для развития тренда.
Мои друзья из фейсбука продолжают давать свои предложения по модификации Базы. Предлагают дополнить ее индикатором ADX в качестве фильтра. Я последовал этому совету, и теперь есть третья версия Базы, где ADX служит не только фильтром, но и участвует в формировании сигнала на закрытие позиции. Подробности см. в видео.