Я уже писал, что у меня сделана C++ DLL, которая получает данные из Lua и пишет их в БД SQLite. Уже писал также, что DLL под Lua делается на раз, и даже приводил коды и шаблон проекта простенькой C++ DLL. Посмотрело несколько тысяч, скачало, аж 12 человек, применят от силы двое. КПД постов, прямо скажем, оч низкий.)
В DLL реализована как связь с Lua, и будет реализована сама стратегия, вот только не решил какая из них. Повторять старые стратегии на новой для меня платформе Quik уже неинтересно, а новых моделей АТС отработано уже несколько. Все моделируется в Python. Часть стратегий не требует сложной математики, и могут быть легко перенесены непосредственно на С++. Другие непосредственно в DLL перенесены быть не могут, т.к. используют пакеты Python — всяческие регрессии и машинное обучение.
В общем, получилось, что DLL является шаблоном для любой стратегии. Все необходимые для АТС данные доступны АТС — реал-тайм данные поступают в DLL непосредственно из терминала, а необходимая история пишется DLL в БД SQLite и читается АТС из базы данных.
Импорт даннных из файла CSV в базу данных SQLite.
В связи с моим топиком "Беспроигрышная стратегия акции-фьючесы" занимался скачиванием истории по акциям и фьючерсам, записью их в базу данных (БД) SQLite, и анализом данных. Я занимаюсь моделированием и обработкой данных в Python, и все данные, будь то история или реал-тайм данные полученные из терминала, удобнее держать не в CSV-файлах или памяти программы, а в БД, и обращаться к ним по ходу пьесы. А данных часто десятки и более мегабайт и далеко не все они нужны единовременно, и держать все это в переменных в памяти не оч разумно.
Безусловно, если вы работаете с одним инструментом и линейной историей вам хватит CSV и массива памяти, но для более сложных задач обработки данных БД незаменима, и все решения оч упрощаются.
Все, что я написал очевидно и ничего нового не содержит, однако, если вы еще не используете БД — настоятельно рекомендую.
Но, к делу. Скачиваем с Финам историю.