Добрый день! Отправляю ордер через trans2qiuk.dll в Квик-джуниор (демо Арка) ордер исполняется, а на боевом Квике (Открытие) нет. Кто-нибудь сталкивался с подобной ситуацией на валютной секции?
Пользователь
Сообщений: Регистрация: 30.01.2015
25.08.2022 17:46:43
Однако ответ системы на транзакцию почитать бы. Обычно там что то умное в случае отказа написано. Ну и код ошибки тоже не лишним будет.
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 29.07.2015
25.08.2022 18:06:44
К сожалению, я не дома и не могу проверить ответ системы, но сам ордер имеет вид: ACCOUNT=MB0ХХХХХ; CLIENT_CODE=ХХХХХ; TYPE=L; TRANS_ID=714080258; CLASSCODE=CETS; SECCODE=CNYRUB_TOM; ACTION=NEW_ORDER; OPERATION=B; PRICE=8.757; QUANTITY=1;
Пользователь
Сообщений: Регистрация: 30.01.2015
25.08.2022 18:16:32
Причин может быть миллион. От недостатка средств до недоступности класса cets. Берите коня и скачите домой!)
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 29.07.2015
25.08.2022 18:25:29
Сам асинхронный ордер точно отправляется, о чем есть запись в логе об успешной отправке. А как проверить что возвращает терминал?
Пользователь
Сообщений: Регистрация: 29.07.2015
25.08.2022 18:29:14
TRANS2QUIK_TRANSACTION_REPLY_CALLBACK ?
Пользователь
Сообщений: Регистрация: 30.01.2015
25.08.2022 19:16:59
Именно
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 29.07.2015
25.08.2022 20:31:31
Спасибо, а если будет ошибка, то где взять коды ошибок?
Пользователь
Сообщений: Регистрация: 30.01.2015
25.08.2022 22:31:17
Спросите здесь )
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 11:35:22
Нет никаких ошибок :(
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 11:40:41
//--- 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 сюда попадаем....
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 11:41:40
Сейчас еще раз проверил на Джуниор, все прекрасно работает
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 12:32:31
Добавил лог для просмотра ордера
//--- 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 А в Джуниор естественно есть ордер
Разработчики, что скажите?
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 12:35:39
Версия боевого Квик в Открытии 9,3,1,11 версия Джуниор 9,7,1,10
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 13:24:45
Видимо технари Открытия что-то напутали в моем * счете При ордере равном нулю, и успешной транзакции прилетает ошибка 26.08.2022 12:49:40.240 --> Ордер CNYRUB_TOM отправлен. Order: 0 Trans result:0 Rep Code:4 Ext Code:0 Message:ОШИБКА: (533) Неверно указан код клиента
Хотя этот код я указываю верно.
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 13:25:21
Что за * Единый Брокерский счет
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 13:56:21
Господа разработчики! У меня Единый брокерский счет в Открытии. Подскажите, пожалуйста, что нужно сделать технарям Открывашки, чтобы исправить эту проблему, а то они 2-3 месяца будут затылки чесать. Друких кодов клиента в своем квике я не вижу
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 14:06:55
Попробовал установить ордер ручками, вбил этот же код клиента, ордер исполнился.
Пользователь
Сообщений: Регистрация: 30.01.2015
26.08.2022 14:15:45
Если не получается прочесть ответ торговой системы (не терминала) на транзакцию то можно позвонить брокеру, назвать номер транзакции и выслушать причину отказа.
в этом вопросе брокер вам помогать обязан.
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 15:11:59
А Вы не читаете, что выше написано? 26.08.2022 12:49:40.240 --> Ордер CNYRUB_TOM отправлен. Order: 0 Trans result:0 Rep Code:4 Ext Code:0 Message:ОШИБКА: (533) Неверно указан код клиента
Пользователь
Сообщений: Регистрация: 30.01.2015
26.08.2022 19:57:51
Торговая система вам говорит, что код клиента неверен.
Зачем Д`Артаньяну помощь?
Пасхалочка для Алексея Иванникова:
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 23:49:50
От Вас точно не получишь. Руками с этим кодом клиента ордер исполняется.
Пользователь
Сообщений: Регистрация: 29.07.2015
26.08.2022 23:51:36
Господа разработчики! У меня Единый брокерский счет в Открытии. Подскажите, пожалуйста, что нужно сделать технарям Открывашки, чтобы исправить эту проблему, а то они 2-3 месяца будут затылки чесать. Других кодов клиента в своем квике я не вижу
Пользователь
Сообщений: Регистрация: 29.07.2015
29.08.2022 17:55:57
Как нибудь в Квик можно посмотреть транзакцию, которая посылается руками из окна «Новая заявка»?
Пользователь
Сообщений: Регистрация: 29.07.2015
29.08.2022 18:23:56
В Лжуниор, версии 9,7.... все нормально работает
Пользователь
Сообщений: Регистрация: 29.07.2015
30.08.2022 13:48:33
Господа разработчики! Что, так и будем молчать? Налицо ВАША ошибка
По совету брокера Открытие пробовал различные варианты (КОСТЫЛИ) введя поле COMMENT=ххххх/; :
Ошибка биржевая. Означает, что кода клиента нет на бирже. С данным вопросом Вам нужно обратиться к Вашему брокеру, в свою очередь брокер может построить отчет по транзакциям по данному коду клиента и проверить соответствие транзакций отправленных с помощью trans2quik(отвергнутые транзакции) и успешных попыток с рабочего терминала Quik. Также возможно, что на стороне брокера есть настройка, при которой для отправки транзакций к коду клиента необходимо добавлять слэш, попробуйте вот так: CLIENT_CODE=ххххх/
Пользователь
Сообщений: Регистрация: 29.07.2015
31.08.2022 14:09:28
Я, по совету брокера, уже все пробовал в том числе и добавлял слэш с конце кода клиента
Пользователь
Сообщений: Регистрация: 29.07.2015
31.08.2022 15:00:31
Кстати, у Вас в мануала по API написано, что CLIENT_CODE не обязательный параметр!!!
Пользователь
Сообщений: Регистрация: 29.07.2015
31.08.2022 15:03:34
CLIENT_CODE 20-ти символьное составное поле, может содержать код клиента и текстовый комментарий (поручение) с тем же разделителем, что и при вводе заявки вручную. Необязательный параметр
Пользователь
Сообщений: Регистрация: 08.04.2022
01.09.2022 10:53:55
Да, действительно, если к терминалу привязан один код клиента, то он автоматически подставляется в транзакцию. Однако для того, чтобы однозначно подать заявку по необходимому торговому счету и коду клиента, их следует явным образом указать в транзакции.
Как уже было сказано, с данным вопросом Вам нужно обратиться к Вашему брокеру.
Пользователь
Сообщений: Регистрация: 29.07.2015
06.09.2022 20:49:04
Цитата
Alexey Danin написал: Да, действительно, если к терминалу привязан один код клиента, то он автоматически подставляется в транзакцию. Однако для того, чтобы однозначно подать заявку по необходимому торговому счету и коду клиента, их следует явным образом указать в транзакции.
Как уже было сказано, с данным вопросом Вам нужно обратиться к Вашему брокеру.
К брокеру я обратился сражу же, получив ответ, что они обратились к разработчикам :) Похоже опять классический вариант кивания друг на друга с годовым (а может и более) решением очевидной ошибки!
Пользователь
Сообщений: Регистрация: 08.04.2022
08.09.2022 21:26:14
Здравствуйте.
Мы продолжаем изучение вопроса по обращению Вашего брокера. За резолюцией по данному вопросу Вам нужно будет обратиться к Вашему брокеру.
Повторимся, за резолюцией по данному вопросу Вам нужно обращаться к Вашему брокеру.
Пользователь
Сообщений: Регистрация: 29.07.2015
30.09.2022 22:31:11
Кто-нибудь торгует на Валютной секции на Едином брокерском счете в Открывашке через TRANS2QUIK API ?
Пользователь
Сообщений: Регистрация: 30.01.2015
01.10.2022 09:05:47
Цитата
Михаил Филимонов написал: Кто-нибудь торгует на Валютной секции на Едином брокерском счете в Открывашке через TRANS2QUIK API ?
Вы зря полезли в TRANS2QUIK API. это такое старье. появилось еще задолго до встраивания VMLua в QUIK. ------------------------ переходите на LUA - чем раньше сделаете, тем меньше будет проблем. --------------------------- "Ох, нелегкая это работа -Из болота тащить бегемота!"
написал: Кто-нибудь торгует на Валютной секции на Едином брокерском счете в Открывашке через TRANS2QUIK API ?
Вы зря полезли в TRANS2QUIK API. это такое старье. появилось еще задолго до встраивания VMLua в QUIK. ------------------------ переходите на LUA - чем раньше сделаете, тем меньше будет проблем. --------------------------- "Ох, нелегкая это работа -Из болота тащить бегемота!"
Я думал об этом,перед реализацией своего проекта, но как в LUA я буду синхронизировать 97 потоков, которые реализованы в моем приложении? Как в Квик (LUA )отладить такого робота?
Пользователь
Сообщений: Регистрация: 29.07.2015
02.10.2022 23:43:52
Неужели никто не торгует на Валютной секции через trans2quik?
Просто, когда устанавливаю ордер руками и переношу его в карман транзакций, там вообще нет поля CLIENT_CODE, а в примечании пишется COMMENT=Код клиента + / может быть Junior не проверяет код клиента, а Боевой квик смотрит это поле?
Пользователь
Сообщений: Регистрация: 29.07.2015
03.10.2022 21:32:53
Путем тупого подбора параметров, выяснилось, что на валютной секции команда должна выглядеть так: