Тема: Помогите научиться пользоваться API

Программирование только начал осваивать, уже третий год торгую руками.
Решил наконец автоматизировать немного эту деятельность.
Разобрался с импортом в Квик транзакций с помощью .tri  файлов. Все работает.

То есть,  использую этот вариант , записывая скриптом Питона в файл параметры для заявки, и потом считываю Квиком этот файл.

Попытался разобраться с АПИ, чтоб прикрутить прямо в скрипт питона, копаю и гуглю уже несколько дней, вообще не сдвинулся с мертвой точки.
Для всех это видимо настолько элементарно, что даже нет никакого FAQ.

Не понимаю простейших вещей.
вот строка из описания API
long __stdcall TRANS2QUIK_CONNECT(LPCSTR lpcstrConnectionParamsString, long* pnExtendedErrorCode, LPSTR lpstrErrorMessage, DWORD dwErrorMessageSize)

я в питоне сначала импортирую модуль
import ctypes

потом импортирую библиотеку
mydll = cdll.LoadLibrary("./trans2quik.dll")

файл .dll лежит в том же каталоге

дальше что делать, не понятно.

Вроде должно быть что то типа

result = mydll.TRANS2QUIK_CONNECT ("C:\QUIK_VTB24", long* pnExtendedErrorCode, LPSTR lpstrErrorMessage, DWORD dwErrorMessageSize)

где в result должен записаться результат выполнения - произошло соединение или нет.

но не понятно как прописать атрибуты long* pnExtendedErrorCode, LPSTR lpstrErrorMessage, DWORD dwErrorMessageSize

так же не понятно что значит long __stdcall в описании.

помогите пожалуйста разобраться

2

Re: Помогите научиться пользоваться API

А может пока на Lua? зачем питон?
Ну просто потому, что Lua уже встроено.

Моё предложение базируется на том, что не совсем понятно мне зачем тратить усилия на прикручивание питона, учитывая не очень большой опыт во всех этих компьютерных заморочках.

В роботе главное что? верно, стратегия. А это совершенно без разницы на каком языке её реализовывать.

Впрочем, я вот попробовал - по слову pyquik гуглятся готовые наработки по сращиванию. Будет, думаю, проще сразу их взять.

3

Re: Помогите научиться пользоваться API

Вопрос возник, потому что есть уже готовый алгоритм на питоне.
Суть алгоритма, как и везде, анализируется история инструмента, предсказывается цена.

То есть скрипт питона считывает из файла, сформированного Квиком, данные по инструменту, далее скрипт делает расчет(предсказание цены) и пишет с определенной периодичностю в .tri файл на основании предсказания торговые приказы
Квик в свою очередь с заданной ранее периодичностью читает файл, и исполняет.
Это все работает.
Можно просто в самом квике вручную заявки поставить (без .tri файла).

Ньюанс в алгоритме. Почему Питон? Нашел примеры готовых реализаций на питоне определенных алгоритмов, использующих в свою очередь внешние математические, статистические библиотеки, написанные на питоне, для  этих предсказаний (ведь самое главное в торговле, мат ожидание в положительную сторону сдвинуть от варианта с подбрасыванием монетки).
То есть, я с этими алгоритмами долго разбирался, построил работающую (пока вроде нормально) систему.

Чтоб это все перенести на lua -это надо массу времени потратить на прикручивание этого алгоритма (учитывая, что lua мне не знаком,а в питоне уже успел каких то базовых знаний набраться ).

Просто хотел попробовать вариант не через файлы, и не руками чтобы.
На другом форуме года полтора назад человек один вроде прикрутил АПИ к питону.

4

Re: Помогите научиться пользоваться API

PyQuik
[url]https://github.com/ermakus/pyquik[/url]
обновлялся 8 лет назад, но можно посмотреть, как реализован интерфейс к trans2quik.dll
Альтернатива - связь с qlua через сокеты.  Тут есть темы в ветке qlua.