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

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


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)


Tags:


Thanks:


< 1 2 3 4  >
VirKato

Avatar
Date: 8/20/2014
Reply


Нашел 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)

Thanks:

esper

Avatar
Date: 8/20/2014
Reply


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

Thanks:

VirKato

Avatar
Date: 8/20/2014
Reply


Для вчерашнего дневного обновления заявка в Квике выставляется, статус остается 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);

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

Thanks:

vsnoopy83

Avatar
Date: 8/20/2014
Reply


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'..

> 
> ```plain

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: Вообще ошибка 'vy ne mozhete snyat' dannuyu zayavku'..

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

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

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

Thanks:

esper

Avatar
Date: 8/20/2014
Reply


VirKato: ODE0� Security.Type чему равно?

Thanks:

vsnoopy83

Avatar
Date: 8/20/2014
Reply


Михаил Сухов:

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

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

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

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

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

Thanks:

VirKato

Avatar
Date: 8/21/2014
Reply


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

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