Ошибка при вызове функции SEND_TRANSACTION

Страницы: 1
RSS
Ошибка при вызове функции SEND_TRANSACTION
 
Здравствуйте! Что означает данная ошибка?
Произошла ошибка при расчете скрипта ...  Error while function call SEND_TRANSACTION [ R = SEND_TRANSACTION(15, T) ]
 
Здравствуйте, Дмитрий.

Данное сообщение ошибки говорит о том, что при вызове функции SEND_TRANSACTION произошла ошибка.
Чтобы уточнить возможные причины ошибки и способы их устранения - просьба предоставить скрипт, или его фрагмент, достаточный для понимания специфики вызова функции. В частности интересует порядок формирования параметров транзакции - T.
Запрошенную часть кода можно привести здесь ответным сообщением, или написать нам по почте quiksupport@arqatech.com со ссылкой на данную ветку форума.
 
Цитата
Andrey Bezrukov написал:
Здравствуйте, Дмитрий.

Данное сообщение ошибки говорит о том, что при вызове функции 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 - указана в заголовке окна программы.
Если возможно - предлагаем наладить логирование, по которому можно было бы отследить параметры транзакции, которая приводит к ошибке и сообщить их нам.

Заранее большое спасибо.
 
Цитата
Andrey Bezrukov написал:
Дмитрий,
Благодарим за предоставленную информацию.

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

Заранее большое спасибо.
квик 7,27,2,1. На других рынках не известно, есть ли такая ошибка, так как работа идёт только на срочном рынке. Логирование сделаю - может действительно что то проявится
 
Andrey Bezrukov, кстати не может ли это быть из за конфликта транзакций? например в тоже самое время как в скрипте qpile идёт обращение к функции SEND_TRANSACTION происходит отправка транзакции через другой источник, в частности посредством импорта транзакций из файла tri
 
Дмитрий, добрый день!

Язык QPILE не поддерживает полноценную работу с 19-значными номерами.
Также, заметим, что он в целом является устаревшим и корректная работа скриптов, написанных на нем, не гарантируется. В виду чего настоятельно рекомендуем переходить на QLua.

Также, для корректной работы скриптов (QLua) при работе со срочным рынком, необходимо использовать терминал версии 8.5 или более новый.
Страницы: 1
Читают тему (гостей: 2)
Наверх