Господа алготрейдеры, подскажите кто реализовывал коннектор к QUIK на С++.
Примерную схему коннектора понимаю как реализовать, но нет навыка в LUA, а время терять не хочется, может кто проконсультирует. В идеале нужна консультация под ОС Linux, но можно и под Windows, главное на С++.
я настроил таблицу инструментов и выгрузку их по dde в простенький сервис который пишет в локальную базу. а уже прога которая занимается какими-то рассчетами отдельная просто дергает данные из базёнки раз в 15 минут. можно на линухе поднять какую-нибудь базу. настроить из таблички с инструментами выгрузку в эту базу через odbc. а в линухе уже дергать данные из базёнки. тут я не знаю есть ли там триггеры. тут тебе надо эксперта искать кто проделывал подобный фокус
Константин, не за что. но я так не делал. стараюсь не заморачиваться. уж если будет выхлоп то заморочусь или вообще куплю fix/fast и можно будет с линуха и принимать данные и отправлять заявки.
я кстати в свое время из lua кидал данные в приложение по сокету. Я думаю, в вашем примере, это одно из решений, здесь хоть какая то кроссплатформенность будет. То есть будет гораздо легче сразу стартануть и под Linux. Остальные возможные методы обмена информации привязываются все таки к Windows
стоит почитать про Lua
у неё есть возможность загружать dll
в dll соответственно можно работать с объектами, классами и функциями lua как с обычными С.
более того, можно в этой C-dll написать callback для всех Lua событий и зарегать его «как родной» lua, получив выигрыш в скорости. т.к. lua в quik — интерпретируемый язык, увы.
по своей структуре — Lua — это машинка по работе со стеком, автомат. в стек грузятся аргументы, даже названия функций.
в случае с объектами, туда же грузятся указатели «self»
для обмена данными IPC quik — робот, можно использовать pipe, он (pipe) используется и внутри trans2quik.dll.
при этом, даже если quik будет под linux, он будет использовать Win32API, т.е. и dll'ка будет обычной Win32API, та, которая загружается в quik.
стоит ли эта овчинка выделки — решать вам самим, т.к. задержка на получение данных через квик порядка 200мсек, примерно столько же идёт регистрация заявки на бирже.
это задержки самого квика, уменьшить которые не получится (только расположив его ближе к серверу брокера, и подключив к другому серверу брокера)
ПBМ, насчет библиотек в Linux все просто, исходник компилируется в winelib, а дальше обычная работа как с библиотеками в Linux
Вот насчет скорости не совсем понял, если расположить QUIK терминал на коло брокера, который в свою очередь находится на коло биржи, то задержки все равно будут более 200 мс? Мне в техподдержке Открытие сказали совершенно другие цифры, при этом пообещали тестовый доступ для пробы.
Константин, интересно насколько большой overhead при работе с квиком через wine
и вообще посравнивать квик под вин и под wine
дело в том что меня тут расстроили после перехода на Windows 10 — официальную OEM Proffessional лицензию нельзя использовать на «сервере» — т.е. машине, к которой только удалённый коннект. Бред какой-то, но так в лицензии написано.
На майкрософтовском форуме меня оскорбили прямо в лучших чувствах, назвав пиратом, за такое вот использование купленной Windows.
После чего захотелось перевести сервер на Linux. И может быть получить деньги обратно.
Чёрный Доктор, было бы чего нести, я допустим в депо а кто-то в валюту, с августа, за три месяца+17% а если $будет стоить 110рублей, это уже +30%, здесь как не крути инфляция седает ещё больше, есл...
Да, при последующих техдефолтах скорее всего котировки этой бумаги уже не будут испытывать серьезных колебаний, как на первом и втором. Для примера посмотрите РКК, там было уже 5 техдефолтов суммарно ...
сам не юзал, что и как не знаю, но скорее всего почитать стоит
у неё есть возможность загружать dll
в dll соответственно можно работать с объектами, классами и функциями lua как с обычными С.
более того, можно в этой C-dll написать callback для всех Lua событий и зарегать его «как родной» lua, получив выигрыш в скорости. т.к. lua в quik — интерпретируемый язык, увы.
по своей структуре — Lua — это машинка по работе со стеком, автомат. в стек грузятся аргументы, даже названия функций.
в случае с объектами, туда же грузятся указатели «self»
для обмена данными IPC quik — робот, можно использовать pipe, он (pipe) используется и внутри trans2quik.dll.
при этом, даже если quik будет под linux, он будет использовать Win32API, т.е. и dll'ка будет обычной Win32API, та, которая загружается в quik.
стоит ли эта овчинка выделки — решать вам самим, т.к. задержка на получение данных через квик порядка 200мсек, примерно столько же идёт регистрация заявки на бирже.
это задержки самого квика, уменьшить которые не получится (только расположив его ближе к серверу брокера, и подключив к другому серверу брокера)
ПBМ, насчет библиотек в Linux все просто, исходник компилируется в winelib, а дальше обычная работа как с библиотеками в Linux
Вот насчет скорости не совсем понял, если расположить QUIK терминал на коло брокера, который в свою очередь находится на коло биржи, то задержки все равно будут более 200 мс? Мне в техподдержке Открытие сказали совершенно другие цифры, при этом пообещали тестовый доступ для пробы.
и вообще посравнивать квик под вин и под wine
дело в том что меня тут расстроили после перехода на Windows 10 — официальную OEM Proffessional лицензию нельзя использовать на «сервере» — т.е. машине, к которой только удалённый коннект. Бред какой-то, но так в лицензии написано.
На майкрософтовском форуме меня оскорбили прямо в лучших чувствах, назвав пиратом, за такое вот использование купленной Windows.
После чего захотелось перевести сервер на Linux. И может быть получить деньги обратно.