3Qu
3Qu личный блог
24 марта 2020, 14:04

Алготрейдинг, Quik и Visual Studio 2017.

Делаю новую алгоритмическую торговую систему (АТС) под Quik. Базовой в системе является достаточно сложная многопоточная C++ DLL, связывающаяся с Quik через Lua. Для разработки с самого начала использовалась VS 2015. Т.к. в настоящее время перешел на х64 Quik занялся перекомпиляций всего своего х86 софта под Quik на платформу х64.
Все бы ничего, но при больших рыночных потоках данных Quik начинал подтормаживать, а при подключении DDL, Quik подтормаживал еще сильнее и через некоторое время падал вместе с DLL. Переход на х64 существенно улучшил ситуацию, Однако эпизодические падения, значительно реже, но продолжались.
Надо сказать, что все эти многопоточности и были ранее введены в DLL для снижения нагрузки на Quik, чтобы не грузить поток событий терминала. Вся обработка событий заключалась лишь в том, чтобы преобразовать данные получаемые из Lua и отдать их соответствующему потоку для дальнейшей обработки.
В общем, о стабильной АТС приходилось только мечтать, и думать что дальше с этим делать.
У меня на компе давно без дела пылилась Visual Studio 2017. Требований к железу она предъявляет больше чем VS 2015, и я ее использовал считанные разы, скорее, чтобы посмотреть что в ней нового и отличия от VS 2015. Существенных отличий не заметил, и продолжал работать на старой VS 2015.
Вчера уже поздно вечером с чего-то решил открыть проект DLL в VS 2017. Ну, уж коли открыл, заодно и скомпилировал.
Сегодня подключил скомпилированную на VS 2017 DLL к Lua Quik. Уже несколько часов все, и Quik и DLL, стабильно штатно работают, ничего не подвисает. Просто все на редкость здорово. А всего-то надо было...)).
В общем, те кто работает под Windows 10 со старыми VS, переходите на VS 2017. Наверняка многие проблемы уйдут сами.

PS Вчера залез на Microsoft, оказывается они уже выпустили VS 2019. Ставить не стал, лучшее — враг хорошему.)
51 Комментарий
  • Kapeks
    24 марта 2020, 14:11
    библиотеки. длл, потоки. романтика...
    помню тоже этим занимался.
    денех то хоть заработал?
  • Винни Пух
    24 марта 2020, 14:13
    Мне бы похожее, да на питоне, да уже готовое, чтобы только стратку вставить и пиу-пиу. Эх… лень. Сначала поток закажи, потом перенаправь, в удобоваримый формат переделай, проведи алгоритмические вычисления/операции, потом все обратно пакуй… буэээ 
    Нету в мире стабильности.
  • alexKa
    24 марта 2020, 14:27
    а разве с квиком нет связи напрямую, а не через это Lua?
  • iddqd3n
    24 марта 2020, 14:40
    ITI предлагает API для доступа к торгам без терминала вообще, по отдельному логину. В терминале можно параллельно смотреть за торгами.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн