Плагин AS_QuikTrade
ВНИМАНИЕ!!!
Чтобы плагин работал необходимо файл TRANS2QUIK.dll положить в папку Амиброкера (..\AmiBroker) обычно это C:\Program Files\AmiBroker Содержит 7 функций
- AS_QUIK_CONNECT("ПУТЬ ДО КВИКА")
- AS_QUIK_DISCONNECT()
- AS_QUIK_SEND_SYNC_NEWORDER("TRANS_ID", "ACCOUNT", "CLIENT_CODE", "TYPE", "CLASSCODE", "SECCODE", "OPERATION", ЦЕНА, РАЗМЕР ЗАЯВКИ)
- AS_QUIK_KILL_ORDER("TRANS_ID", "CLASSCODE", "SECCODE", "CLIENT_CODE", "ORDER_KEY")
- AS_QUIK_NEW_STOP_ORDER("TRANS_ID", "ACCOUNT", "CLIENT_CODE", "CLASSCODE", "SECCODE", "OPERATION", ЦЕНА ЛИМИТА, ЦЕНА АКТИВАЦИИ, РАЗМЕР ЗАЯВКИ)
- AS_QUIK_KILL_STOP_ORDER("TRANS_ID", "CLASSCODE", "STOP_ORDER_KEY")
- AS_STRING_ORDER("СТРОКА ЗАЯВКИ")
Проверяет наличие соединения с Квиком и если его нет, то устанавливает. Кроме того проверяет подсоединен ли Квик к торговому серверу
"ПУТЬ ДО КВИКА" задаётся с двойным обратным слэшем "//"
Возвращает
- 1 если есть соединение с Квиком а Квик соединен с сервером
- -1 если соединения с Квиком нет
- -2 если соединение с Квиком есть, но Квик не соединен с сервером
QUIK_CONNECT("C:\\QUIK");
Функция используется для подготовки к проведению операции и проверки возможности проведения операции.AS_QUIK_DISCONNECT()
Функция используется для разрыва соединения с Квиком
Пример.AS_QUIK_DISCONNECT();
Разорвет соединение с Квиком.
Откровенно говоря не очень то она и нужна, но раз есть CONNECT, то пусть будет и DISCONNECT
AS_QUIK_SEND_SYNC_NEWORDER("TRANS_ID", "ACCOUNT", "CLIENT_CODE", "TYPE", "CLASSCODE", "SECCODE", "OPERATION", ЦЕНА, РАЗМЕР ЗАЯВКИ)
Отравляет синхонную заявку на сервер. Синхронную, значит функция обязательно дождется и вернет ответ Квика на поданную заявку
В случае успешного исполнения заявки вернет номер заявки в ТЕКСТОВОМ формате. В случае ошибки вернет код ошибки- Не отправлена по неизвестной причине - "1"
- строка транзакции заполнена неверно - "5"
- отсутствует соединение между терминалом QUIK и сервером - "6"
- отсутствует соединение между библиотекой Trans2QUIK.dll и терминалом QUIK - "7"
- "TRANS_ID" - TransID транзакции, указанный пользователем
- "ACCOUNT" - Номер счета Трейдера
- "CLIENT_CODE" - Код клиента
- "TYPE" - Тип заявки. Значения: «L» – лимитированная (по умолчанию), «M» – рыночная
- "CLASSCODE" - Код класса, по которому выполняется транзакция, например EQBR
- "SECCODE" - Код инструмента, по которому выполняется транзакция, например SBER
- "OPERATION" - Направление заявки. Значения: «S» – продать, «B» – купить
- ЦЕНА - цена заявки
- РАЗМЕР ЗАЯВКИ - Количество лотов в заявке
AS_QUIK_SEND_SYNC_NEWORDER("222", "NL0011100000", "38000", "L", "EQBR", "LKOH", "B", 1650, 10);
Отправит лимитированную заявку на покупку 10ти лотов LKOH по цене не хуже 1650Если заявка установлена в стакан, то отследить момент её исполнения со 100% вероятностью невозможно.
AS_QUIK_NEW_STOP_ORDER("TRANS_ID", "ACCOUNT", "CLIENT_CODE", "CLASSCODE", "SECCODE", "OPERATION", ЦЕНА ЛИМИТА, ЦЕНА АКТИВАЦИИ, РАЗМЕР ЗАЯВКИ)
Отправляет заявку стоп-лимит на сервер брокера
В случае если заявка принята возвращает её номер в ТЕКСТОВОМ формате. В случае ошибки верет код ошибки аналогичный функции AS_QUIK_SEND_SYNC_NEWORDER()
Параметры функции- "TRANS_ID" - TransID транзакции, указанный пользователем
- "ACCOUNT" - Номер счета Трейдера
- "CLIENT_CODE" - Код клиента
- "CLASSCODE" - Код класса, по которому выполняется транзакция, например EQBR
- "SECCODE" - Код инструмента, по которому выполняется транзакция, например SBER
- "OPERATION" - Направление заявки. Значения: «S» – продать, «B» – купить
- ЦЕНА ЛИМИТА - цена заявки
- ЦЕНА АКТИВАЦИИ - цена активации стоп заявки
- РАЗМЕР ЗАЯВКИ - Количество лотов в заявке
Функция
AS_QUIK_NEW_STOP_ORDER("222", "NL0011100000", "38000", "EQBR", "LKOH", "S", 1550, 1600, 10);
Поставит на сервер брокера заявку на продажу 10 лотов LKOH которая при падении цены до 1600 уйдет на биржу
в виде лимитной заявки на продажу с лимитом 1550.При использование этой функции сложность представляет отслеживание момента её исполнения.
AS_QUIK_KILL_STOP_ORDER("TRANS_ID", "CLASSCODE", "НОМЕР СТОП ЗАЯВКИ")
Функция снимает стоп заявку с номером "НОМЕР СТОП ЗАЯВКИ"
В случае успешного снятия заявки вернет 0
Пример.Функция
AS_QUIK_KILL_STOP_ORDER("222", "EQBR", "999999999");
Снимет стоп зявку с номером 999999999
AS_STRING_ORDER("СТРОКА ЗАЯВКИ")
Функция отправляет синхронную заявку по строке формат которой аналогичен формату строки отправляемой в .tri подробно описанный в хелпере Квика
В случае успешной транзакции вернет 0
Пример.Функция
AS_STRING_ORDER("ACCOUNT=SPBFUT00009; CLIENT_CODE= SPBFUT00009; TYPE=M; TRANS_ID=8; CLASSCODE=SPBFUT; SECCODE=LKH0; ACTION=NEW_ORDER; OPERATION=S; PRICE=16231; QUANTITY=15;");
Заявка на продажу Фьючерс LKOH-3.10, рыночная, 15 контрактов