Не могу зарегистрировать заявку на срочной секции Пишет "не найден инструмент" - подскажите в чём проблема
trans = CREATE_MAP() trans = SET_VALUE(trans, "CLASSCODE", "SPBFUT") trans = SET_VALUE(trans, "SECCODE", "SiH6") trans = SET_VALUE(trans, "ACTION", "new_order") trans = SET_VALUE(trans, "ACCOUNT", "L01-00000F00") trans = SET_VALUE(trans, "TYPE", "L") trans = SET_VALUE(trans, "OPERATION", "B") trans = SET_VALUE(trans, "QUANTITY", "1") trans = SET_VALUE(trans, "PRICE", b) trans = set_value(trans, "CLIENT_CODE", "SPBFUT.....") trans = SET_VALUE(trans, "TRANS_ID", 1) res = SEND_TRANSACTION(60, trans)
Добрый день! Я тоже не могу зарегистрировать заявку на срочной секции по рынку, только мне КВИК вообще ни чего не пишет, просто не исполняет! SecCode="SRH6" ' код инструмента CLASSCODE="SPBFUT" ' код группы LOT=1 ' лот в сделке ACCOUNT="L01-00000F00" CLIENTCODE="мой код" LOT=1 ACTION="" ' стираем тип транзакции ACTION="NEW_ORDER" ORDER(0, LOT, "B", "M", SecCode, CLASSCODE, ACCOUNT, CLIENTCODE) ' выставляем заявку
' ФУНКЦИЯ ОТПРАВКИ ТРАНЗАКЦИЙ FUNC ORDER(PRICE,LOT,DIRECTION,TYPE, SecCode, CLASSCODE, ACCOUNT, CLIENTCODE) NEW_GLOBAL("TRANS_PARAMS", "") NEW_GLOBAL("TRANS_RESULT", "") TRANS_PARAMS = "" TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "ACCOUNT", ACCOUNT) ' наш счёт на ММВБ TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "CLIENT_CODE", CLIENTCODE) ' клиентский код TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "CLASSCODE", CLASSCODE) ' код класса TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "SECCODE", SECCODE) ' инструмент TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "ACTION", ACTION) ' вид заявки (обычная, стоп, условная) TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "PRICE", PRICE) ' цена TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "QUANTITY", LOT) ' лот TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "OPERATION", DIRECTION) ' направление TRANS_PARAMS = SET_VALUE (TRANS_PARAMS, "TYPE", TYPE) ' тип заявки (лимитированная или "по рынку")
TRANS_RESULT = SEND_TRANSACTION (30, TRANS_PARAMS) ' отправляем заявку в систему END FUNC
Я совсем новичок! Своего первого робота уже написал, он в таблицу выводит лучшую цену и счетчик о покупке или продаже (переворачивает позицию), но не совершает сделок (тогда я написал второго робота, чтобы робот хотя бы одну сделку совершил, но он и этого не делает). В вашем примере мне не понятно: как подать не лимитированную заявку, как подать заявку по рынку, почему в массиве отсутствует код клиента, как подать заявку не на покупку а не на продажу и самое главное как активировать эту заявку?
В вашем примере мне не понятно: как подать не лимитированную заявку, как подать заявку по рынку, почему в массиве отсутствует код клиента, как подать заявку не на покупку а не на продажу и самое главное как активировать эту заявку?
Добрый день,
Тип заявки задается параметром TYPE, где L - лимитированная, М- рыночная. Код клиента задается параметром CLIENTS_LIST. Направление заявки задается параметром OPERATION, где B - на покупку, S - на продажу. Подать заявку Вы можете загрузив файл скрипта .qpl из меню "Сервисы/QPILE скрипты/ нажав "Добавить" затем "Загрузить локально/Создать таблицу". Параметры заявки заполняются по правилам создания *.tri файлов (Более подробно см. Руководство пользователя(F1) Раздел 6 - Совместная работа с другими приложениями/Импорт транзакций/Примеры строк, которые могут содержаться в файле). Описание работы с QPILE приведено в Разделе 8. Алгоритмический язык QPILE.
Да это все я делаю правильно. Нашел в квике таблицу транзакций так вот в ней указана ошибка - 4 (нехватка денежных средств) хотя денежных средств хватает, да и при входе в позицию по рынку через стакан исполняет нормально!
Да это все я делаю правильно. Нашел в квике таблицу транзакций так вот в ней указана ошибка - 4 (нехватка денежных средств) хотя денежных средств хватает,
Данная ошибка не относится к ошибке в коде QPILE. Для ее диагностики рекомендуем обратиться к Вашему брокеру.
Цитата
да и при входе в позицию по рынку через стакан исполняет нормально!
Вероятно, условия выставления заявки из стакана отличаются от условий выставления заявки через скрипт. Рекомендуем проверить этот момент.
Вова Самойлов написал: Сегодня попробовал другие инструменты! Сбер, газпром и брент исполняется. Не исполняется только РТС?!
Добрый день,
Если ошибка прежняя - (нехватка денежных средств), то вероятно, установленных лимитов недостаточно для выполнения заявки с указанными Вами условиями. При наличии другой ошибки просьба сообщить ее текст.
Квик не выдает ошибок, а в таблице транзакций он их по порядку записывает. Если из кода - то цифра 4, транзакция не выполнена, ошибка создания заявки (FORTS 332) нехватка средств по лимитам. Если из стакана - то 3, транзакция выполнена, заявка с биржевым номером успешно зарегистрирована.
Вова Самойлов написал: Квик не выдает ошибок, а в таблице транзакций он их по порядку записывает. Если из кода - то цифра 4, транзакция не выполнена, ошибка создания заявки (FORTS 332) нехватка средств по лимитам. Если из стакана - то 3, транзакция выполнена, заявка с биржевым номером успешно зарегистрирована.
Добрый день,
Ошибка "(FORTS 332) нехватка средств по лимитам" говорит о том, что заявка с данными параметрами не может быть выставлена в Торговую Систему. Необходимо проверить условия выставления заявки через скрипт. Вероятно, они отличаются от тех, которые Вы используете в стакане. Для диагностики ошибки просьба обратиться к Вашему брокеру.
возможно Вы неправильно указываете цену (точность либо формат) кроме того, res содержит сообщение об ошибке. Надо его (res) вывести на экран либо в файл либо посмотреть в отладке.
Цена стоит - 0 - без кавычек, с другими инструментами работает. В режиме отладки - RES RESULT=1; RESULT_EX=4; ORDER_NUMBER=0.00000000; DESCRIPTION= ошибка создания заявки (FORTS 332) нехватка средств по лимитам клиета
Вова Самойлов написал: (FORTS 332) нехватка средств по лимитам клиета
До увеличения средств вы наталкивались на биржевую ошибку. Со стороны сервера транзакция проходила. Возможно и правда средств не хватало и биржа отклоняла транзакцию.
Всем привет, у меня еще одна проблемка - хочу сделать робота основанного на арбитраже, как можно реализовать покупку/продажу разных активов (фьючерсов) в одном роботе. При реализации в формуле необходимо прописывать две функции транзакции и если да то как это сделать? и как быть с количеством лот - QUANTITY?
Вова Самойлов написал: Всем привет, у меня еще одна проблемка - хочу сделать робота основанного на арбитраже, как можно реализовать покупку/продажу разных активов (фьючерсов) в одном роботе. При реализации в формуле необходимо прописывать две функции транзакции и если да то как это сделать? и как быть с количеством лот - QUANTITY?
Добрый день.
Да, две функции sendtransaction Т.е пишите один текст транзакции и ниже еще один.
Это понятно, не понятно как отличить эти функции при выставлении заявок и как прописывать такие параметры как: QUANTITY, SECCODE, CLASSCODE - они же будут разные?
Пример. И таких записей должно быть две (на две транзакции). Если транзакции из одного класса, то CLASSCODE будет одинаковый, QUANTITY - кол-во сами решаете какое поставить. SECCODE - для одного и тогоже инструмента одинаковый.