Не исполняется ордер на валютной секции

Страницы: 1
RSS
Не исполняется ордер на валютной секции
 
Добрый день!
Отправляю ордер через trans2qiuk.dll в Квик-джуниор (демо Арка) ордер исполняется, а на боевом Квике (Открытие) нет.
Кто-нибудь сталкивался с подобной ситуацией на валютной секции?
 
Однако ответ системы на транзакцию почитать бы. Обычно там что то умное в случае отказа написано. Ну и код ошибки тоже не лишним будет.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
К сожалению, я не дома и не могу проверить ответ системы, но сам ордер имеет вид:
ACCOUNT=MB0ХХХХХ; CLIENT_CODE=ХХХХХ; TYPE=L; TRANS_ID=714080258; CLASSCODE=CETS; SECCODE=CNYRUB_TOM; ACTION=NEW_ORDER; OPERATION=B; PRICE=8.757; QUANTITY=1;
 
Причин может быть миллион. От недостатка средств до недоступности класса cets. Берите коня и скачите домой!)  
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Сам асинхронный ордер точно отправляется, о чем есть запись в логе об успешной отправке.
А как проверить что возвращает терминал?
 
TRANS2QUIK_TRANSACTION_REPLY_CALLBACK ?
 
Именно
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Спасибо, а если будет ошибка, то где взять коды ошибок?
 
Спросите здесь )
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Нет никаких ошибок :(
 
//--- Transaction callback -----
procedure pfTransReplyCB;
var
 i: integer;
 Child: TMDIChild;
begin
 Mutex.Lock;
 try
   for i:= 0 to MainForm.MDIChildCount - 1 do
   begin
     Child:= TMDIChild(MainForm.MDIChildren[i]);
     if(Child <> nil) then
     begin
       if(dwTransId = Child.Expert.TransID) then
       begin
         if(nTransactionResult = TRANS2QUIK_SUCCESS) then
           Child.Expert.FOrder:= nOrderNum else                //Get order done
         begin
           Child.Expert.FTransBusy:= false;                  //Get order fail
           Child.Expert.FTrRes:= nTransactionResult;
           Child.Expert.FExCode:= nTransactionExtendedErrorCode;
           Child.Expert.FTCode:= nTransactionReplyCode;
           Child.Expert.FRepMess:= lpcstrTransactionReplyMessage;
           PostMessage(Child.Expert.Handle, WM_ON_ERROR,
                                           NativeUint(Child.Expert.Handle), 0);
         end;
         break;
       end;
     end;
   end;
 finally
   Mutex.UnLock;
 end;
end;

if(nTransactionResult = TRANS2QUIK_SUCCESS) then
           Child.Expert.FOrder:= nOrderNum else                //Get order done сюда попадаем....
 
Сейчас еще раз проверил на Джуниор, все прекрасно работает
 
Добавил лог для просмотра ордера

//--- Transaction callback -----
procedure pfTransReplyCB;
var
 i: integer;
 Child: TMDIChild;
begin
 Mutex.Lock;
 try
   for i:= 0 to MainForm.MDIChildCount - 1 do
   begin
     Child:= TMDIChild(MainForm.MDIChildren[i]);
     if(Child <> nil) then
     begin
       if(dwTransId = Child.Expert.TransID) then
       begin
         if(nTransactionResult = TRANS2QUIK_SUCCESS) then
         begin
           Child.Expert.FOrder:= nOrderNum;
           Child.Expert.FResOrder:= nOrderNum;
           PostMessage(Child.Expert.Handle, WM_ON_ORDER,
                                           NativeUint(Child.Expert.Handle), 0);

         end else                //Get order done
         begin
           Child.Expert.FTransBusy:= false;                  //Get order fail
           Child.Expert.FTrRes:= nTransactionResult;
           Child.Expert.FExCode:= nTransactionExtendedErrorCode;
           Child.Expert.FTCode:= nTransactionReplyCode;
           Child.Expert.FRepMess:= lpcstrTransactionReplyMessage;
           PostMessage(Child.Expert.Handle, WM_ON_ERROR,
                                           NativeUint(Child.Expert.Handle), 0);
         end;
         break;
       end;
     end;
   end;
 finally
   Mutex.UnLock;
 end;
end;

Результат
26.08.2022 12:24:36.002 --> Ордер CNYRUB_TOM отправлен.
Order: 0
А в Джуниор естественно есть ордер

Разработчики, что скажите?
 
Версия боевого Квик в Открытии 9,3,1,11
версия Джуниор 9,7,1,10
 
Видимо технари Открытия что-то напутали в моем  *  счете
При ордере равном нулю, и успешной транзакции
прилетает ошибка
26.08.2022 12:49:40.240 --> Ордер CNYRUB_TOM отправлен.
Order: 0
Trans result:0
Rep Code:4
Ext Code:0
Message:ОШИБКА: (533) Неверно указан код клиента

Хотя этот код я указываю верно.
 
Что за * Единый Брокерский счет
 
Господа разработчики!
У меня Единый брокерский счет в Открытии.
Подскажите, пожалуйста, что нужно сделать технарям Открывашки, чтобы исправить эту проблему,
а то они 2-3 месяца будут затылки чесать.
Друких кодов клиента в своем квике я не вижу
 
Попробовал установить ордер ручками, вбил этот же код клиента, ордер исполнился.
 
Если не получается  прочесть ответ торговой системы (не терминала) на транзакцию то можно позвонить брокеру, назвать номер транзакции и выслушать причину отказа.

в этом вопросе брокер вам помогать обязан.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
А Вы не читаете, что выше написано?
26.08.2022 12:49:40.240 --> Ордер CNYRUB_TOM отправлен.
Order: 0
Trans result:0
Rep Code:4
Ext Code:0
Message:ОШИБКА: (533) Неверно указан код клиента
 
Торговая система вам говорит, что код клиента неверен.

Зачем Д`Артаньяну помощь?
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
От Вас точно не получишь.
Руками с этим кодом клиента ордер исполняется.
 
Господа разработчики!
У меня Единый брокерский счет в Открытии.
Подскажите, пожалуйста, что нужно сделать технарям Открывашки, чтобы исправить эту проблему,
а то они 2-3 месяца будут затылки чесать.
Других кодов клиента в своем квике я не вижу
 
Как нибудь в Квик можно посмотреть транзакцию, которая посылается руками
из окна «Новая заявка»?
 
В Лжуниор, версии 9,7.... все нормально работает
 
Господа разработчики!
Что, так и будем молчать?
Налицо ВАША ошибка

По совету брокера Открытие пробовал различные варианты (КОСТЫЛИ) введя поле COMMENT=ххххх/; :

30.08.2022 13:09:27.209 --> Ордер CRU2 отправлен.
Order: 2022426136054617309
30.08.2022 13:09:27.289 --> Ордер CNYRUB_TOM отправлен.
ACCOUNT=MB0252хххххх; CLIENT_CODE=ххххх; TYPE=L; TRANS_ID=714080258; CLASSCODE=CETS; SECCODE=CNYRUB_TOM; ACTION=NEW_ORDER; OPERATION=B; PRICE=8.747; QUANTITY=1;COMMENT=ххххх/;
Order: 0
Trans result:0
Rep Code:4
Ext Code:0
Message:ОШИБКА: (533) Неверно указан код клиента
===
30.08.2022 13:23:12.801 --> Ордер CRU2 отправлен.
Order: 2022426136054618755
30.08.2022 13:23:12.926 --> Ордер CNYRUB_TOM отправлен.
ACCOUNT=MB0252хххххх; CLIENT_CODE=; TYPE=L; TRANS_ID=714080258; CLASSCODE=CETS; SECCODE=CNYRUB_TOM; ACTION=NEW_ORDER; OPERATION=B; PRICE=8.751; QUANTITY=1;COMMENT=ххххх/;
Order: 0
Trans result:0
Rep Code:5
Ext Code:0
Message:Не указан код клиента
=====
30.08.2022 13:34:25.618 --> Ордер CRU2 отправлен.
Order: 2022426136054619559
30.08.2022 13:34:25.685 --> Ордер CNYRUB_TOM отправлен.
ACCOUNT=MB0252хххххх; TYPE=L; TRANS_ID=714080258; CLASSCODE=CETS; SECCODE=CNYRUB_TOM; ACTION=NEW_ORDER; OPERATION=B; PRICE=8.753; QUANTITY=1;COMMENT=ххххх/;
Order: 0
Trans result:0
Rep Code:5
Ext Code:0
Message:Не указан код клиента

Неужели Вы сами не можете воспроизвести ошибку?
 
Напомню, что в Джуниор все работает
 
Здравствуйте.

Ошибка биржевая. Означает, что кода клиента нет на бирже.
С данным вопросом Вам нужно обратиться к Вашему брокеру, в свою очередь брокер может построить отчет по транзакциям по данному коду клиента и проверить соответствие транзакций отправленных с помощью trans2quik(отвергнутые транзакции) и успешных попыток с рабочего терминала Quik.
Также возможно, что на стороне брокера есть настройка, при которой для отправки транзакций к коду клиента необходимо добавлять слэш, попробуйте вот так: CLIENT_CODE=ххххх/
 
Я, по совету брокера, уже все пробовал в том числе и добавлял слэш с конце кода клиента
 
Кстати, у Вас в мануала по API написано, что CLIENT_CODE не обязательный параметр!!!
 
CLIENT_CODE 20-ти символьное составное поле, может содержать код клиента и текстовый
комментарий (поручение) с тем же разделителем, что и при вводе заявки
вручную. Необязательный параметр
 
Да, действительно, если к терминалу привязан один код клиента, то он автоматически подставляется в транзакцию.
Однако для того, чтобы однозначно подать заявку по необходимому торговому счету и коду клиента, их следует явным образом указать в транзакции.

Как уже было сказано, с данным вопросом Вам нужно обратиться к Вашему брокеру.
 
Цитата
Alexey Danin написал:
Да, действительно, если к терминалу привязан один код клиента, то он автоматически подставляется в транзакцию.
Однако для того, чтобы однозначно подать заявку по необходимому торговому счету и коду клиента, их следует явным образом указать в транзакции.

Как уже было сказано, с данным вопросом Вам нужно обратиться к Вашему брокеру.
К брокеру я обратился сражу же, получив ответ, что они обратились к разработчикам :)
Похоже опять классический вариант кивания друг на друга с годовым (а может и более) решением очевидной ошибки!
 
Здравствуйте.

Мы продолжаем изучение вопроса по обращению Вашего брокера. За резолюцией по данному вопросу Вам нужно будет обратиться к Вашему брокеру.
 
Цитата
Alexey Danin написал:
Здравствуйте.

Мы продолжаем изучение вопроса по обращению Вашего брокера. За резолюцией по данному вопросу Вам нужно будет обратиться к Вашему брокеру.
Понятно, спасибо.
Есть ли надежда, что в этом году решите проблему?
 
Михаил Филимонов, добрый день.

Повторимся, за резолюцией по данному вопросу Вам нужно обращаться к Вашему брокеру.
 
Кто-нибудь торгует на Валютной секции на Едином брокерском счете в Открывашке через TRANS2QUIK  API ?  
 
Цитата
Михаил Филимонов написал:
Кто-нибудь торгует на Валютной секции на Едином брокерском счете в Открывашке через TRANS2QUIK  API ?  
Вы зря полезли в  TRANS2QUIK API. это такое старье.
появилось еще задолго до встраивания VMLua в QUIK.
------------------------
переходите на LUA - чем раньше сделаете, тем меньше будет проблем.
---------------------------
"Ох, нелегкая это работа -Из болота тащить бегемота!"
 
Цитата
nikolz написал:
Цитата
Михаил Филимонов написал:
Кто-нибудь торгует на Валютной секции на Едином брокерском счете в Открывашке через TRANS2QUIK  API ?  
Вы зря полезли в  TRANS2QUIK API. это такое старье.
появилось еще задолго до встраивания VMLua в QUIK.
------------------------
переходите на LUA - чем раньше сделаете, тем меньше будет проблем.
---------------------------
"Ох, нелегкая это работа -Из болота тащить бегемота!"
Я думал об этом,перед реализацией своего проекта, но как в LUA я буду синхронизировать 97 потоков, которые реализованы в моем приложении?
Как в Квик (LUA )отладить такого робота?
 
Неужели никто не торгует на Валютной секции через trans2quik?

Просто, когда  устанавливаю ордер руками и переношу его в карман транзакций, там вообще нет поля CLIENT_CODE, а в примечании пишется COMMENT=Код клиента + /
может быть Junior не проверяет код клиента, а Боевой квик смотрит это поле?
 
Путем тупого подбора параметров, выяснилось, что на валютной секции команда должна выглядеть так:

ACCOUNT=MB0ХХХХХ; CLIENT_CODE=12345/; TYPE=L; TRANS_ID=714080258; CLASSCODE=CETS; SECCODE=CNYRUB_TOM; ACTION=NEW_ORDER; OPERATION=B; PRICE=8.757; QUANTITY=1;COMMENT=12345/;

CLIENT_CODE=12345/  
COMMENT=12345/
Страницы: 1
Читают тему
Наверх