Постов с тегом "торговая система": 3479

торговая система


Торговая система своими руками. Часть 6. Работа с БД. Объектно-реляционное отображение.

    • 25 сентября 2017, 11:29
    • |
    • k100
  • Еще

– Привет! В предыдущий раз, ты рассказывал про дата-сервис, про отдельный слой доступа к данным. Расскажи теперь про сами сущности и репозитории. При помощь чего ты вытягиваешь данные из таблиц?

– Ок. Если необходимо сохранять сделки и статистику, или откуда-то брать исторические котировки для тестов, то неплохо использовать БД. Но, как с ней общаться? Есть несколько способов. В 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» и Базы см. в прилагаемом видео.


Торговая система для новичка 2. День девятый

Вчерашняя попытка роста фьючерса на доллар-рубль не удалась. Рынок сегодня открылся падением в этом инструменте, а к концу дневной сессии снижение цен фьючерса на доллар-рубль усилилось. ТС «ТСН2» продолжает держать длинную позицию, а Базы, каждая по-своему, реагируют на изменившуюся ситуацию. Подробности см. в видео.


Торговая система своими руками. Часть 5. Работа с БД. Дата-сервис, структура таблиц.

    • 14 сентября 2017, 12:49
    • |
    • k100
  • Еще

     Приветствую. В предыдущем посте описывался интерфейс  для генерации тиковых данных – ITickGenerator. Его реализации могут быть разными: данные могут генерироваться на лету, или браться из БД. В случае с БД, возникает необходимость в организации ещё одного слоя приложения – слоя доступа к данным. TickGenerator, всё также будет оповещать подписчиков (стратегии, которые выставляют заявки), но по тем данным, которые он получит из БД.

     Сейчас не важно, какая будет база данных, и где она будут храниться – на сервере, в файлах или в оперативной памяти. Не важно, также, какие специфические библиотеки и драйвера буду для этого использоваться. Сейчас, я просто приведу пример того, как можно разделить бизнес-логику приложения и слой доступа к данным.

     Я создал отдельный модуль, и там и развернул всю архитектуру, связанную с БД, основные компоненты которой: сущности, репозитории и дата-сервис.

     Хотя понятие сущности (Entity), само по себе, достаточно общее, здесь, буду применять его в узком смысле – это классы, представляющие таблицы БД, возможно, с какой-то дополнительной логикой. В простейшем случае, одна сущность – одна таблица. Между сущностями может быть связь (например, один ко многим), которая отражается и в связи между таблицами.  Сущность описывается полями класса, которые отражают колонки таблиц.



( Читать дальше )

Торговая система для новичка 2. День восьмой

Рынок фьючерса на доллар-рубль сегодня, как и вчера был достаточно волатильным, но при этом все же вырос. ТС «ТСН2» продолжает держать длинную позицию. Четыре моих Базы также работают, но по-своему. Каждая из них демонстрирует определенный подход к открытию и закрытию позиций. Подробности см. в видео.


Торговая система для новичка 2. День седьмой

Сегодняшний день на рынке фьючерса на доллар-рубль при всем желании скучным не назовешь. Фьючерс активно рос до 12.00, потом до 15.00 снижался, а затем рос с откатами практически до закрытия дневной сессии. ТС «ТСН2» на этом движении открыла длинную позицию, не отставали от нее и мои «заготовки» — Базы. Подробности см. в видео.


Торговая система для новичка 2. День шестой

Фьючерс на доллар-рубль сегодня открылся свечкой вниз, но остальной день провел в боковом движении. По моим наблюдениям, волатильность на рынке фьючерса на доллар-рубль прилично снизилась, что может являться основанием для развития тренда.
Мои друзья из фейсбука продолжают давать свои предложения по модификации Базы. Предлагают дополнить ее индикатором ADX в качестве фильтра. Я последовал этому совету, и теперь есть третья версия Базы, где ADX служит не только фильтром, но и участвует в формировании сигнала на закрытие позиции. Подробности см. в видео.


Торговая система своими руками. Часть 4. Локальная маркет-дата. Семафоры.

    • 11 сентября 2017, 14:23
    • |
    • k100
  • Еще

     Привет всем! В предыдущий раз я описал, как стратегии выставляют заявки. Сегодня будет ещё более интересная тема: получение маркет-даты. Для упрощения, под маркет-датой, буду иметь в виду тиковые данные (время, цена, объём).

     Я уже рассказывал про классы стратегий,  про то, что они используют интерфейс, который отвечает за получение маркет-даты – IMarketDataGate. Внутри себя, стратегии подписываются на событие AddTick из IMarketDataGate – т.е. на каждый тик стратегия проводит свой анализ данных, расчеты, и, при определённых условиях, выставляет заявки. Стратегии не важно, как генерируются тики – она просто реагирует на это событие. IMarketDataGate, имеет два варианта реализации. Первый – это обёрткой над COM библиотекой брокера (в моём случае – смартком). Тут всё просто – каждый день, кроме праздников и выходных, с 10 часов, магическим образом, начинают литься тики – их мне посылает система брокера. А вот для организации локальных бэктестов, нужен какой-то иной источник данных – некая имитация брокера по части генерации тиков. И тут-то и появляется наш герой – ITickGenerator.

interface ITickGenerator
{
   event EventHandler<StockTickEventArgs> OnTick;
   event Action OnEnd;
   void Start(string symbol);
}


( Читать дальше )

Торговая система для новичка 2. День пятый

Фьючерс на доллар-рубль сегодня вырос. Скорее всего, это — пятничная коррекция движению в этом активе, которое было в течение недели. Кто-то хочет спокойно спать в выходные.
На основании предложений от моих друзей из фейсбука я сделал несколько версий Базы, и они теперь своими различными подходами к открытию и закрытию позиций дают пищу для размышлений. А это, в свою очередь, делает мой сериал «Торговая система для новичка» интересней. Подробности см. в видео.


....все тэги
UPDONW
Новый дизайн