Проблема с заявками


Проблема с заявками
Atom
8/18/2014


esper Go to
Выложили 4.2.16.0

Фичи:
  • Transaq. Версия библиотек обновлена до v2.10.
  • Connector. Добавлен метод GetFilteredMarketDepth для получения стакана без своих заявок.
  • Connector. При выключенных UpdateSecurityLastQuotes и UpdateSecurityByLevel1 значения полей инструментов не изменяются.
  • Emulator. Изменены примеры тестирования (передача level1 данных для инструмента).
  • OrderGrid. Добавлена ссылка для копирования текста ошибки.
  • OrderWindow. Добавлены предопределенные значения цен и объема.
  • SciChart. Контекстное меню для добавления элементов показывается только в интерактивном режиме.
  • Security. Изменены значения по умолчанию для MinPrice и MaxPrice.
  • Security. Добавлено поле BinaryOptionType.

Баги:
  • Connector. Ошибка обработки OrderFail.
  • Emulator. Ошибка с неверным временем при тестировании на тиках.
  • QuotingStrategy. Ошибка перестановки заявок.
  • MarketDepthControl. Не показывается дробная часть для цены.


Добрый день, у меня перестали отправляться заявки по LUA, в логе:

t["ACCOUNT"] = "SPBFUT00866"
t["CLASSCODE"] = "FORTS"
t["SECCODE"] = "SPU4"
t["QUANTITY"] = "3"
t["EXPIRY_DATE"] = "GTC"
t["OPERATION"] = "B"
t["TYPE"] = "L"
t["ACTION"] = "NEW_ORDER"
t["PRICE"] = "5762"
t["EXECUTION_CONDITION"] = "PUT_IN_QUEUE"
t["TRANS_ID"] = "45414414"
sendTransaction(t)

2014/08/18 12:37:59.377| |FixServer |From client quik: TestRequest
2014/08/18 12:38:00.969| |FixServer |From client quik: TestRequest

более ничего не происходит, ордер висит в статусе Pending, подскажите где копать? В DDE режиме все работает. Ордера отправляются только в версии 4.2.8.0, в версиях 4.2.14.0 и 4.2.16.0 наблюдается вышеуказанная ошибка. Робот полностью один и тот же.

Также в версии 4.2.8.0 в файле StockSharp.QuikLua.FatalError.log выдается постоянно ошибка:

[18.08.2014 12:51:45] StockSharp.Fix.resources, Version=4.2.8.0, Culture=ru, PublicKeyToken=null: System.IO.FileNotFoundException: Не удается найти указанный файл. (Исключение из HRESULT: 0x80070002)
в System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
в System.Reflection.Assembly.LoadFile(String path)
в CurrentDomain_AssemblyResolve(Object sender, ResolveEventArgs args)

Tags:


Thanks:


< 1 2 3 4  >
VirKato

Avatar
Date: 8/20/2014
Reply


Нашел update 4.2.18 который был вчера днем (до перезаливки), там ничего не изменилось все так же не могу снять заявку:
Code

Robot_SBER@TQBR_Client 20.08.2014 17:29:35 Error Заявка 62915876 (0x2EA9DE4) не была принята по причине System.InvalidOperationException: Ошибка снятия заявки 0. Текст 'vy ne mozhete snyat' dannuyu zayavku'..


Code

2014/08/20 17:29:34.998|       |FixServer |From client quik: OrderCancelRequest
2014/08/20 17:29:35.011|       |None      |SendTransaction: t = {}
t["CLASSCODE"] = "TQBR"
t["SECCODE"] = "SBER"
t["ORDER_KEY"] = "0"
t["ACTION"] = "KILL_ORDER"
t["TRANS_ID"] = "62915877"
sendTransaction(t)
Thanks:

esper

Avatar
Date: 8/20/2014
Reply


Заявка ставится, в таблице в квике она есть? Какое состояние у заявки в роботе? Это Sample?
Thanks:

VirKato

Avatar
Date: 8/20/2014
Reply


Для вчерашнего дневного обновления заявка в Квике выставляется, статус остается Pending (это на боевом Квике). На тестовом - статус обновляется до активного и все нормально снимается.
Для вчерашнего вечернего обновления - вылетает error при попытке выставить заявку и в логи Lua эта заявка уже не попадает. В Квик тем паче.
Это был когда то Sample, но я его обновлял. Заявка ставится из стратегии:
Code

strategy = new MyStrat() { Volume = 1, Security = ticker, Portfolio = _portfolio, Connector = this._trader, }; 
var newBuy = this.CreateOrder(StockSharp.Messages.Sides.Buy, ibid, qbuy);
this.RegisterOrder(newBuy);

Спасибо за быстрое реагирование! Что еще я могу проверить?
Thanks:

vsnoopy83

Avatar
Date: 8/20/2014
Reply


VirKato Go to
Нашел update 4.2.18 который был вчера днем (до перезаливки), там ничего не изменилось все так же не могу снять заявку:
Code

Robot_SBER@TQBR_Client 20.08.2014 17:29:35 Error Заявка 62915876 (0x2EA9DE4) не была принята по причине System.InvalidOperationException: Ошибка снятия заявки 0. Текст 'vy ne mozhete snyat' dannuyu zayavku'..


Code

2014/08/20 17:29:34.998|       |FixServer |From client quik: OrderCancelRequest
2014/08/20 17:29:35.011|       |None      |SendTransaction: t = {}
t["CLASSCODE"] = "TQBR"
t["SECCODE"] = "SBER"
t["ORDER_KEY"] = "0"
t["ACTION"] = "KILL_ORDER"
t["TRANS_ID"] = "62915877"
sendTransaction(t)


Ради интереса попробовал на бумагах (не на фотсе) выставить заявку, у меня ставится и снимается по LUA.

Вообще ошибка 'vy ne mozhete snyat' dannuyu zayavku'.. обычно появляется при ReRegister операциях, раньше они применялись только на фортсе, в последних изменениях была фича: Для торговых площадок MICEX изменено значение IsSupportAtomicReRegister на true. не совсем понятно MICEX стал поддерживать ререгистер? может с этим связана ошибка.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/20/2014
Reply


vsnoopy83 Go to

Вообще ошибка 'vy ne mozhete snyat' dannuyu zayavku'..


Это не наша ошибка. Это вообще даже не ошибка.

vsnoopy83 Go to

обычно появляется при ReRegister операциях, раньше они применялись только на фортсе, в последних изменениях была фича: Для торговых площадок MICEX изменено значение IsSupportAtomicReRegister на true. не совсем понятно MICEX стал поддерживать ререгистер? может с этим связана ошибка.


С т.з. Квика не знаю, а шлюз ММВБ давно поддерживает.
Thanks:

esper

Avatar
Date: 8/20/2014
Reply


VirKato Go to
Code

Robot_SBER@TQBR_Client 20.08.2014 17:07:58 Error Заявка 61647829 (0x32DEFB3) не была принята по причине System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в QuickFix.FieldMap.SetField(IField field)
   в QuickFix.FIX44.NewOrderSingle.set_SecurityType(SecurityType value)
   в StockSharp.Fix.FixMessageAdapter.#=qyC$rb1ME$5D8fHjjzLcDQ5sXhsIfDopfy3EzTHl9Oak=(OrderRegisterMessage #=q$sYF1wcBtdkPHN$_4cxULw==)
   в StockSharp.Fix.FixMessageAdapter.OnSendInMessage(Message message)
   в StockSharp.Messages.MessageAdapter`1.OnInMessageProcessor(Message message, IMessageAdapter adapter).

Security.Type чему равно?
Thanks:

vsnoopy83

Avatar
Date: 8/20/2014
Reply


Михаил Сухов Go to
vsnoopy83 Go to

Вообще ошибка 'vy ne mozhete snyat' dannuyu zayavku'..


Это не наша ошибка. Это вообще даже не ошибка.

vsnoopy83 Go to

обычно появляется при ReRegister операциях, раньше они применялись только на фортсе, в последних изменениях была фича: Для торговых площадок MICEX изменено значение IsSupportAtomicReRegister на true. не совсем понятно MICEX стал поддерживать ререгистер? может с этим связана ошибка.


С т.з. Квика не знаю, а шлюз ММВБ давно поддерживает.



Такая ошибка может возникнуть, когда мы пытаемся двинуть заявку, которая уже исполнилась, мы шлем транзакцию и в ответ получаем ошибку, вы не можете снять данную заявку в луа версии и не найдена активная заявка для перестановки в dde версии. Или второй вариант, если пытаться снять уже исполненную заявку, такие ошибки обычно при резких движухах рынка бывают. Ну и правда это не ошибка, просто сервер дает ответ, что данную заявку уже не снять, т.к. она исполнена или уже была снята ранее.
Thanks:

VirKato

Avatar
Date: 8/21/2014
Reply


esper Go to

Security.Type чему равно?


После перехода на 4.2.18 type изменился с
Code

StockSharp.Messages.SecurityTypes.Index
на null


В коде указал
Code

 ticker.type = StockSharp.Messages.SecurityTypes.Index

Заявки начали проходить, в квике появляются. В роботе статус остается pending и id = null.
При попытках:
Code

this.ReRegisterOrder(newBuy);
или
this.CancelOrder(CurrBuy) ;

Все так же:
Code

2014/08/21 16:42:37.207|       |FixServer |From client quik: OrderCancelRequest
2014/08/21 16:42:37.227|       |None      |SendTransaction: t = {}
t["CLASSCODE"] = "TQBR"
t["SECCODE"] = "SBER"
t["ORDER_KEY"] = "0"
t["ACTION"] = "KILL_ORDER"
t["TRANS_ID"] = "59960745"
sendTransaction(t)

И ошибка снятия заявки. Кстати, а "TRANS_ID" должен совпадать с номером заявки? В деббагере я вижу тот же номер что и в таблице квика, а в Lua эти коды совпадают только при постановке зявки. При снятии там какое то другое значение большее чем то, что я вижу в дебагере в свойстве ордера.
Thanks:

esper

Avatar
Date: 8/21/2014
Reply


Для FORTS-а это работает? Скрипт точно загружен последней версии? Какой версии сам квик?
Thanks:

VirKato

Avatar
Date: 8/21/2014
Reply


Версия QUIK 6.12.0.31;
Перепроверил, что везде используется версия 4.2.18 с датой изменения 19.08 21:54.
Thanks:
< 1 2 3 4  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy