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


esper Перейти
Выложили 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)

Теги:


Спасибо:


< 1 2 3 4  >
VirKato

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


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

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


Код

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)
Спасибо:

esper

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


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

VirKato

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


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

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);

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

vsnoopy83

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


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

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


Код

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 стал поддерживать ререгистер? может с этим связана ошибка.
Спасибо:

Mikhail Sukhov

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


vsnoopy83 Перейти

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


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

vsnoopy83 Перейти

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


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

esper

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


VirKato Перейти
Код

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 чему равно?
Спасибо:

vsnoopy83

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


Михаил Сухов Перейти
vsnoopy83 Перейти

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


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

vsnoopy83 Перейти

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


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



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

VirKato

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


esper Перейти

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


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

StockSharp.Messages.SecurityTypes.Index
на null


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

 ticker.type = StockSharp.Messages.SecurityTypes.Index

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

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

Все так же:
Код

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 эти коды совпадают только при постановке зявки. При снятии там какое то другое значение большее чем то, что я вижу в дебагере в свойстве ордера.
Спасибо:

esper

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


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

VirKato

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


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

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

loading
clippy