Блог им. 3Qu

Брошенная стратегия. Дневник разработчика.

    • 06 февраля 2020, 16:47
    • |
    • 3Qu
  • Еще
Сегодня окончательно сделал и протестировал DLL. DLL через Lua получает из Quik реал-тайм данные о истории, состоянии текущей свечи, стакане, ленте сделок и пр., и поставляет все эти данные в ТС. Также DLL считает (пока не все) необходимые данные для оценки вектора текущего состояния инструмента, и также передает их ТС. Сама ТС еще не написана, только данные получает. DLL также пишет все получаемые данные в БД Sqlite, где они, при необходимости, доступны ТС.
И, чтобы не быть голословным, картинки.
История, последние 15 записей:
Брошенная стратегия. Дневник разработчика.

Лента сделок, последние 15 сделок.
Брошенная стратегия. Дневник разработчика.

Стакан, последние 15 изменений.
Брошенная стратегия. Дневник разработчика.

А вы говорите, какие-то коннекторы под Quik нужны. Только желание нужно, и немного времени.
★10
19 комментариев
А если без DLL, прямо в файл, что это меняет?  QLua с этим справляется, а  ТС уже приводит данные к нужному виду.
avatar
Vladimir Diaditchev, Можно и так, если вас устраивает.
Что меняет? — только скорость обмена. Если скорость не критична — добро пожаловать в файловый обмен.
avatar
Vladimir Diaditchev, с DLL больше гибкости, например можно добавить общение со стратегией по сети. Так одна страта может управлять несколькими квиками да и не только квиками. Делать распределённую систему с обменом через файлики так себе идея )))
Пафос Респектыч, что мешает сразу в базу писать допустим?
avatar
привет. а у тебя случаем sqlite3 нет под квик 8 64битный?
avatar
Eldar Shaymardanov, качайте любую — SQlite.
На всяк случай - SQLiteStudio
avatar
3Qu, мне нужна lua sqlite3. без обертки сам sqlite у меня есть.
нет Lua-Sqlite3 (lsqlite3)
avatar
Eldar Shaymardanov, сорри. Тогда ничем не могу. У меня своя DLL в БД пишет.
avatar
Eldar Shaymardanov, вот LuaSQLLite3 lua.sqlite.org/index.cgi/doc/tip/doc/lsqlite3.wiki
avatar
Sergeyka, видел. При компиляции DLL в luarock ошибки идут. Поставил визуал студию, там попробую собрать
avatar
Eldar Shaymardanov, но лучше взять LuaSQL ODBC и писать в любую базу данных, например в SQLLite3 через SQLLite3 ODBC драйвер. keplerproject.github.io/luasql/manual.html
avatar
Sergeyka, неудобно odbc.
В индикаторе создаю базу ипишу значения, при открытии считываю историю. 
В данном случае работает с любым инструментом, могу передавать файлы истории.
avatar
Британские учены доказали, что в торговом роботе главное — не технологическая изощренность и не удобство интерфейса, а логика торговли.
avatar
Не пойму, зачем из Quik'а через Qlua передавать куда-то данные, чтобы оттуда получать указания, когда совершать сделки в Quik'е? Почему бы не совершать эти сделки прямо в QLua?
Как говорили древние, «не надо  умножать сущности».
avatar
Rostislav Kudryashov, затем, что у вас терминал повиснет. Все события QLua выполняются в очереди в одном потоке терминала. Любая сколь нибудь длительная обработка событий подвесит терминал.
avatar
3Qu, это не так. В одном потоке выполняются обработчики событий — функции обратных вызовов типа OnTransReply, OnTrade и индикаторы.
Каждый скрипт QLua, зачинаемый function main(), работает в своём отдельном потоке. Дело обработчиков не обрабатывать события, а регистрировать их для последующей обработки в скриптовых функциях main() в каком угодно числе скриптов-потоков.
Я заметил, что OnTrade срабатывает не только по сделкам из скриптов, но и поданным интерактивно.
avatar
Rostislav Kudryashov, Это так. Говорим о событиях терминала. Про main() я в курсе. Мне обработка в main() неинтересна — опять уходим в один поток и очередь.
avatar

теги блога 3Qu

....все тэги



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