Не правильное значение лучшей цены в стакане

Не правильное значение лучшей цены в стакане
Atom
3/23/2015
RomSunZ


АПИ 4.2.72, коннектор Quik lua. Периодически получаю неверное значение лучшей цены в стакане, которая находится в середине противоположных котировок:

[code=csharp] var md = this.Connector.GetFilteredMarketDepth(this.Security); Sides? badside = null; //проверим, есть ли "плохая" лучшая цена if (md.Asks.Count() > 1 && md.Bids.Count() > 1) { if (md.Asks[0].Price<md.Bids[0].Price) { //есть попандос if (md.Asks[0].Price < md.Bids[1].Price) badside = Sides.Sell; else if (md.Bids[0].Price > md.Asks[1].Price) badside = Sides.Buy; } } if (badside != null) this.AddErrorLog("В стакане не верная лучшая цена по направлению {0}", badside); [/code]

Вместо Asks и Bids можно использовать GetQuotes, GetFilteredQuotes, вместо GetFilteredMarketDepth использовать GetMarketDepth - результат одинаковый. Закономерность появления "плохой" лучшей цены выявить не удалось. Может выскочить с утра, может к вечеру, а может и вообще несколько дней не появляться.


Tags:


Thanks:


< 1 2 3  >
Иван З.

Avatar
Date: 3/25/2015
Reply


Я как то обновился, с версии S# 4.2.61 на более высокую, именно коннектор обновлял. У меня появились проблемы со стаканом, похожие по описанию на ваши. Я сразу откатился назад. Я не утверждаю что проблема в коннекторе, возможно стратегия моя не столь требовательна к стаканам и я просто не замечаю косяки. Но на S# 4.2.61 проблемы не наблюдаю. В общем прорвете на 4.2.61.

Thanks:

Mikhail Sukhov

Avatar
Date: 3/25/2015
Reply


[quote=RomSunZ;32975]С чем связана такая секретность?[/quote]

Дело не в секретности. Сырцы на Гите. Точка останова и вперед. Или логи.

Thanks:

RomSunZ

Avatar
Date: 3/25/2015
Reply


[quote=Михаил Сухов;32977][quote=RomSunZ;32975]С чем связана такая секретность?[/quote]

Дело не в секретности. Сырцы на Гите. Точка останова и вперед. Или логи.[/quote]

Как сырцы помогут, если, по вашим словам, проблема в квике? Плюс к тому же я не разработчик и не имею доступа к исходникам коннектора. Я привел код, который позволяет поймать этот баг. Будьте добры, как разработчик и знаток платформы, заняться доработкой коннектора LUA (если проблема все же в нем).

Thanks:

Mikhail Sukhov

Avatar
Date: 3/25/2015
Reply


Вы же сами хотите интерактив.[biggrin]

Thanks:

RomSunZ

Avatar
Date: 3/25/2015
Reply


Не понял ваш ответ, что имеете в виду под я хотел интерактив? Или это типа троллинг?

Thanks:

RomSunZ

Avatar
Date: 3/30/2015
Reply


Михаил, внятно можете пояснить, было обращение в квик по поводу не верной трансляции данных по стакану или нет?

Thanks:

Mikhail Sukhov

Avatar
Date: 3/30/2015
Reply


[quote=RomSunZ;33029]Михаил, внятно можете пояснить, было обращение в квик по поводу не верной трансляции данных по стакану или нет?[/quote]

http://stocksharp.com/posts/m/32966/

Thanks:

merabn

Avatar
Date: 3/30/2015
Reply


[quote=RomSunZ;32940]Они не перепутаны. При формировании стакана в какой-то момент по одной из сторон стакана "зависает" старая цена, которая остается постоянной, пока не перезагрузишь робота. Если она находится "внутри" своей стороны - мы этого не видим, но как только цены сдвигаются на значительное расстояние, она всплывает как "лучшая". Это баг формирования стакана.

......

Вот сравнение лучших цен (приходится делать, чтобы избежать этого бага): [quote] 13:54:12.986|Error ||Рассинхронизация цен: MD best ask=6731, bid=6750, Security best ask=6731, bid=6729, newPrice=6729, best quote=6750 [/quote] MD - это стакан.[/quote]

Спасибо за информацию. Можно попробовать импорт через DDE. Если это действительно конфликт lua скрипта и Квика, то избавитесь от ошибки. Напишите, пожалуйста, о результате, если проведете такой эксперимент.

Thanks:

RomSunZ

Avatar
Date: 4/23/2015
Reply


Уважаемые разработчики, проверьте пожалуйста коннектор ЛУА, т.к. проблема скорее всего в коннекторе. Я подправил скрипт, который в приложении, он экспортирует лучшую цену в файл. Вот что у меня получилось при работе с SRM5@FORTS: лог робота: [quote] 14:35:34.736|Error |BS_SRM5@FORTS_SPBFUT|Рассинхронизация цен (2): MD best ask=7405, bid=7449, Security best ask=7405, bid=7449, quote[0]=7449, quote[1]=7448, Расчетная цена исполнения 7404 направление Sell 14:35:35.016|Error |BS_SRM5@FORTS_SPBFUT|Рассинхронизация цен (2): MD best ask=7405, bid=7449, Security best ask=7405, bid=7449, quote[0]=7405, quote[1]=7406, Расчетная цена исполнения 7450 направление Buy 14:35:35.022|Error |BS_SRM5@FORTS_SPBFUT|Рассинхронизация цен (2): MD best ask=7405, bid=7449, Security best ask=7405, bid=7449, quote[0]=7405, quote[1]=7406, Расчетная цена исполнения 7450 направление Buy 14:35:35.302|Error |BS_SRM5@FORTS_SPBFUT|Рассинхронизация цен (2): MD best ask=7404, bid=7449, Security best ask=7404, bid=7449, quote[0]=7404, quote[1]=7405, Расчетная цена исполнения 7450 направление Buy 14:35:35.304|Error |BS_SRM5@FORTS_SPBFUT|Рассинхронизация цен (2): MD best ask=7404, bid=7449, Security best ask=7404, bid=7449, quote[0]=7404, quote[1]=7405, Расчетная цена исполнения 7450 направление Buy [/quote]

Лог луа-скрипта, который экспортирует лучшие цены: [quote] DATE TIME BEST ASK BEST BID 23.04.2015 14:35:34.734 7405 7402 23.04.2015 14:35:35.015 7405 7402 23.04.2015 14:35:35.023 7404 7402 23.04.2015 14:35:35.304 7404 7403 23.04.2015 14:35:35.306 7404 7403 [/quote] Как видно в примерно одинаковое время котировки коннектора идут с неправильными бидами/асками, а ЛУА выводит их без ошибок.

stakan.lua.txt 13 KB (532)
Thanks:

Mikhail Sukhov

Avatar
Date: 4/23/2015
Reply


[quote=RomSunZ;33177]Уважаемые разработчики, проверьте пожалуйста коннектор ЛУА, т.к. проблема скорее всего в коннекторе.[/quote]

Надо проверку вот сюда воткнуть https://github.com/StockSharp/StockSharp/blob/master/Connectors/Quik/Lua/LuaFixServer.cs#L473 и напишите, что она даст.

Исходники лучше качать ДО https://github.com/StockSharp/StockSharp/commit/9cc21b7d6f3b89e8fd3ad9f495d7b32f43a8cff6 (включительно). Все что позднее сейчас нестабильно.

Thanks:
< 1 2 3  >

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

loading
clippy