Здравствуйте! Что означает данная ошибка? Произошла ошибка при расчете скрипта ... Error while function call SEND_TRANSACTION [ R = SEND_TRANSACTION(15, T) ]
Данное сообщение ошибки говорит о том, что при вызове функции SEND_TRANSACTION произошла ошибка. Чтобы уточнить возможные причины ошибки и способы их устранения - просьба предоставить скрипт, или его фрагмент, достаточный для понимания специфики вызова функции. В частности интересует порядок формирования параметров транзакции - T. Запрошенную часть кода можно привести здесь ответным сообщением, или написать нам по почте quiksupport@arqatech.com со ссылкой на данную ветку форума.
Данное сообщение ошибки говорит о том, что при вызове функции SEND_TRANSACTION произошла ошибка. Чтобы уточнить возможные причины ошибки и способы их устранения - просьба предоставить скрипт, или его фрагмент, достаточный для понимания специфики вызова функции. В частности интересует порядок формирования параметров транзакции - T. Запрошенную часть кода можно привести здесь ответным сообщением, или написать нам по почте quiksupport@arqatech.com со ссылкой на данную ветку форума.
Если отправить команду R = SEND_TRANSACTION(15, T) без задания массива T, то возникает другая ошибка Произошла ошибка при расчете скрипта ... Unknown identifier T [ R = SEND_TRANSACTION(15, T) ] А если отправить команду с пустым массивом T T = CREATE_MAP() R = SEND_TRANSACTION(15, T) то скрипт работает нормально, а только в ответе на транзакцию приходит RESULT=0;RESULT_EX=5;DESCRIPTION=Не указан идентификатор транзакции;
В моём случае массив T заполняется стандартно:
T = CREATE_MAP() TRANS_ID = TRANS_ID+1 T = SET_VALUE(T, "TRANS_ID", TRANS_ID) T = SET_VALUE(T, "ACTION", "MOVE_ORDERS") T = SET_VALUE(T, "MODE", "2") T = SET_VALUE(T, "CLASSCODE", CLASSCODE) T = SET_VALUE(T, "SECCODE", TICKER) T = SET_VALUE(T, "FIRST_ORDER_NUMBER", KEY) T = SET_VALUE(T, "FIRST_ORDER_NEW_QUANTITY", QUAN) T = SET_VALUE(T, "FIRST_ORDER_NEW_PRICE", PR)
здесь никаких ошибок быть не может.
Сама ошибка расчета скрипта Error while function call SEND_TRANSACTION возникает спонтанно и не каждый день после отправки до её возникновения тысяч транзакций с точно такими же параметрами. При работе до этого на 6 версии квика с 14 значными номерами заявок такой ошибки никогда не возникало. Есть мнение, что данная ошибка как то связана с 19 значными номерами заявок
Дмитрий, Благодарим за предоставленную информацию.
Просьба уточнить, данная проблема наблюдается только для заявок на срочном рынке, или всё же носит плавающий характер, и может воспроизводиться для разных рынков? Также уточните, пожалуйста, текущую версию рабочего места QUIK - указана в заголовке окна программы. Если возможно - предлагаем наладить логирование, по которому можно было бы отследить параметры транзакции, которая приводит к ошибке и сообщить их нам.
Просьба уточнить, данная проблема наблюдается только для заявок на срочном рынке, или всё же носит плавающий характер, и может воспроизводиться для разных рынков? Также уточните, пожалуйста, текущую версию рабочего места QUIK - указана в заголовке окна программы. Если возможно - предлагаем наладить логирование, по которому можно было бы отследить параметры транзакции, которая приводит к ошибке и сообщить их нам.
Заранее большое спасибо.
квик 7,27,2,1. На других рынках не известно, есть ли такая ошибка, так как работа идёт только на срочном рынке. Логирование сделаю - может действительно что то проявится
Andrey Bezrukov, кстати не может ли это быть из за конфликта транзакций? например в тоже самое время как в скрипте qpile идёт обращение к функции SEND_TRANSACTION происходит отправка транзакции через другой источник, в частности посредством импорта транзакций из файла tri
Язык QPILE не поддерживает полноценную работу с 19-значными номерами. Также, заметим, что он в целом является устаревшим и корректная работа скриптов, написанных на нем, не гарантируется. В виду чего настоятельно рекомендуем переходить на QLua.
Также, для корректной работы скриптов (QLua) при работе со срочным рынком, необходимо использовать терминал версии 8.5 или более новый.