Не удается автоматически подать заявку на SPB


Не удается автоматически подать заявку на SPB
Atom
03.12.2019


Добрый вечер!

Хочу подать автоматическую заявку на биржу СПБ через QUIK. Код , аналогичный тому же , как и подаю на МБ:
Order order = new Order
{
Portfolio = ordPortfolio,
Security = sec,
Volume = volume,
Direction = sides,
ClientCode = _clientCode,
Price = 267
};
Trader.RegisterOrder(order);

На МБ этот код работает. На СПБ заявка не выставляется. Пишет - Не указан код клиента.
Версия ПО - 4.4.16.

Вот что пишется в логах:

t["ACCOUNT"] = "VTBRM_CL"
t["CLASSCODE"] = "SPBXM"
t["SECCODE"] = "AAPL_SPB"
t["QUANTITY"] = "1"
t["EXPIRY_DATE"] = "GTC"
t["OPERATION"] = "S"
t["TYPE"] = "L"
t["ACTION"] = "NEW_ORDER"
t["PRICE"] = "267"
t["EXECUTION_CONDITION"] = "PUT_IN_QUEUE"
t["TRANS_ID"] = "85452835"
return sendTransaction(t)
' SecId='' OrdType='Limit' IsSubscribe='False' DataType='Level1' Arg='' From='' To=''
2019/12/02 23:45:03.444|Error |LuaServer |OnTransReply: trId=85452835, status=5, message='Не указан код клиента'.

Хотя код клиента я явно указал в заявке.
В чем может быть проблема?!

С уважением,
Лев



Спасибо:


1 2  >
LevNNN

Фотография
Дата: 23.12.2019
Ответить


Господа! Хоть какой - то ответ будет?! Все таки Вам деньги за техподдержку заплатил!
Спасибо:

Support

Фотография
Дата: 23.12.2019
Ответить


Добрый день

Видимо был сбой и мы не получили извещения. В качестве извинений мы продлим тех поддержку на 2 месяца.

Пожалуйста, попробуйте версию 4.4.17 которая доступна в ночных сборках.
Спасибо:

LevNNN

Фотография
Дата: 17.01.2020
Ответить


Попробовал версию 4.4.17 - никаких изменений по сравнению с версией 4.4.16 - не работает, проблема та же, описана выше
Спасибо:

Support

Фотография
Дата: 17.01.2020
Ответить


Пожалуйста, пришлите ваш лог.
Спасибо:

LevNNN

Фотография
Дата: 17.01.2020
Ответить


Лог приаттачил. Смотрите время - 2020/01/16 21:38:37.831
Спасибо:

Support

Фотография
Дата: 17.01.2020
Ответить


Пожалуйста, включите в луа скрипте логирование уровня Debug. И могли бы вы сделать скриншот окна регистрации заявки перед её отправкой чтобы видеть как именно вы заполняете форму.
Спасибо:

LevNNN

Фотография
Дата: 17.01.2020
Ответить


Включил уровень Debug. Вот строчки лога, относящиеся к этой заявке.

2020/01/16 23:13:37.264|Debug |FixServer |Session quik: TransId=83521649<->ReqId=83521649
2020/01/16 23:13:37.266|Debug |FixServer |In. OrderRegister,T(L)=0001.01.01 00:00:00.000,Sec=AAPL_SPB@SPBXM,SecType=Stock,TransId=83521649,OrdType=Market,Pf=VTBRM_CL(ClCode=327708),Cond=,UID=83521649,Price=0,Side=Sell,Vol=5/,Till=,TIF=PutInQueue,MM=,MR=,SLP=,MN=
2020/01/16 23:13:37.271| |LuaServer |Request: OrderRegister,T(L)=0001.01.01 00:00:00.000,Sec=AAPL_SPB@SPBXM,SecType=Stock,TransId=83521649,OrdType=Market,Pf=VTBRM_CL(ClCode=327708),Cond=,UID=83521649,Price=0,Side=Sell,Vol=5/,Till=,TIF=PutInQueue,MM=,MR=,SLP=,MN=
2020/01/16 23:13:37.361|Debug |LuaServer |OnQuote
2020/01/16 23:13:37.362|Debug |LuaServer |Out. QuoteChange,T(L)=0001.01.01 00:00:00.000,T(S)=2020.01.16 23:13:37.362
2020/01/16 23:13:37.362|Debug |LuaServer |OnQuote done
2020/01/16 23:13:37.364|Debug |LuaServer |OnQuote
2020/01/16 23:13:37.365|Debug |LuaServer |Out. QuoteChange,T(L)=0001.01.01 00:00:00.000,T(S)=2020.01.16 23:13:37.365
2020/01/16 23:13:37.365|Debug |LuaServer |OnQuote done
2020/01/16 23:13:37.465|Debug |LuaServer |OnTransReply
2020/01/16 23:13:37.465|Error |LuaServer |OnTransReply: trId=83521649, status=5, message='Не указан код клиента'.
2020/01/16 23:13:37.465|Debug |LuaServer |Out. Execution,T(L)=0001.01.01 00:00:00.000,T(S)=2020.01.16 23:13:37.465,(Transaction),Sec=@,O/T=True/False,Ord=/0/83521649,Fail=System.InvalidOperationException: Не указан код клиента,Price=0,OrdVol=,TrVol=,Bal=,TId=,Pf=,TPrice=,UId=,State=Failed,Cond=
2020/01/16 23:13:37.467|Debug |LuaServer |OnTransReplyF done

Не очень понял про окно регистрации заявки, так как посылаю я ее из своей программы. Вот кусок кода, в котором я формирую заявку.

decimal volume = GetOrderValueBySec(sec, orderValue);
Sides sides = (orderValue > 0) ? Sides.Buy : Sides.Sell;
Portfolio ordPortfolio = GetPortfolioBySec(sec);
if (ordPortfolio == null) return false;

Order order = new Order
{
Portfolio = ordPortfolio,
Security = sec,
Volume = volume,
Direction = sides,
ClientCode = _clientCode,
Price = 0
};
Trader.RegisterOrder(order);




Спасибо:

Support

Фотография
Дата: 17.01.2020
Ответить


Попробуйте передать код клиента как портфель. В последней версии коды должны приходить как объекты Portfolio.
Спасибо:

Support

Фотография
Дата: 17.01.2020
Ответить


Order.Portfolio = clientCodePortfolio;
Спасибо:

LevNNN

Фотография
Дата: 17.01.2020
Ответить


Попробовал , вот так код модифицировал:

ordPortfolio.ClientCode = _clientCode;

Order order = new Order
{
Portfolio = ordPortfolio,
Security = sec,
Volume = volume,
Direction = sides,
Price = 0
};
Trader.RegisterOrder(order);

Не помогло, ничего не поменялось. Идет та же ошибка.
Хочу обратить внимание, что тот же код работаем через MICEX, а ошибка появляется только при работе через SPB биржу. Например, при попытке купить акции Apple.
Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy