Котирование

Котирование
Atom
1/16/2015
Иван З.


Как я понимаю есть 2 варианта запустить котирования

  1. из документации http://stocksharp.com/doc/?topic=html/24250c24-029c-4dbc-bc8b-4afde645e483.htm [code=csharp]var strategy = new MarketQuotingStrategy(order, new Unit()); base.ChildStrategies.Add(strategy);[/code] Работает нормально, по крайней мере позиции набирает.

  2. из одного из обновления http://stocksharp.com/forum/2285/Stock--4-0-Release/ [code=csharp] this.OpenPositionByQuoting(10); [/code] Работает не нормально, либо не правильно использую В стратегии просто набираю позицию [SPOILER][code=csharp] using MoreLinq; using StockSharp.Algo.Strategies.Quoting; using StockSharp.BusinessEntities;

namespace Sample { using StockSharp.Algo; using StockSharp.Algo.Candles; using StockSharp.Algo.Indicators; using StockSharp.Algo.Strategies; using StockSharp.Messages;

class MyStrategy : Strategy
{
    public MyStrategy(){}
    protected override void OnStarted()
    {
        Process();
        base.OnStarted();
    }


    private void Process()
    {
        // если наша стратегия в процессе остановки
        if (ProcessState == ProcessStates.Stopping)
        {
            // отменяем активные заявки
            CancelActiveOrders();
            return;
        }
        if (Position == 0)
        {
           //var strat = new MarketQuotingStrategy(Sides.Buy, 10);
           //base.ChildStrategies.Add(strat);
           this.OpenPositionByQuoting(10);
        }

    }
}

} [/code][/SPOILER] В тестовом КВИКе выдает ошибку [img]http://clickscreen.ru/screens/2/a04e66b2.png [/img] Лог приложу Еще раз повторю, что 1й работает а 2й не работает Вопрос: это я не правильно использую или это баг?

log.txt 72 KB (762)

Tags:


Thanks:


1 2 3  > >>
Иван З.

Avatar
Date: 1/16/2015
Reply


В общем соврал я. Оба не работают, просто 2 вариант несколько раз без ошибок отработал. Прикрепляю лог в него писал и Trader и Stratagy В логе есть такая строка [quote]85487309/ Покупка Цена=9615 [h]Объем=0[/h] Сост=Failed Бал=0 System.InvalidOperationException: kolichestvo v zayavke dolzhno byt' polozhitel'no[/quote]

log.txt 531 KB (649)
Thanks:

Иван З.

Avatar
Date: 1/18/2015
Reply


Проблема появляется при перерегистрации заявки. Если написать так

[code=csharp] var strat = new MarketQuotingStrategy(Sides.Buy, 10) { IsSupportAtomicReRegister = false, //Поддерживается ли перерегистрация заявок через метод ReRegisterOrder(Order,Order) в виде одной транзакции. По-умолчанию включено. }; base.ChildStrategies.Add(strat); [/code]

то работает нормально.

По какой то причине через метод ReRegisterOrder работать не хочет, это проблема в Квике? где то настраивается? в S#? Где то читал, что перетаскивать только на срочке можно, так ли это? Подскажите пожалуйста.

Thanks:

Mikhail Sukhov

Avatar
Date: 1/18/2015
Reply


Луа?

Thanks:

Иван З.

Avatar
Date: 1/19/2015
Reply


Да

Thanks:

Иван З.

Avatar
Date: 1/19/2015
Reply


И еще заметил, что при котировании заявка не откатывается на лучшую цену. [img]http://clickscreen.ru/screens/1/491f7457.png [/img] на рисунке видно, что заявка стоит по 9518 а должна бы передвинутся на 9516. Пробовал уже всяко, все параметры по переставлял не откатывает. Если перед заявкой появляется другая то передвигает как положено, а если после заявки уходят, то на лучшую цену не откатывает. Как быть?

Thanks:

Mikhail Sukhov

Avatar
Date: 1/19/2015
Reply


В кратце - мув для ММВБ не реализован в Квике.

Thanks:

Иван З.

Avatar
Date: 1/20/2015
Reply


Спасибо! А можно еще кратенько прокоментировать ситуацию, про то что котирование не откатывается на лучшую цену. На форуме этот вопрос уже поднимался, а ответа нет. На мой взгляд очень важное замечание.

  1. это баг
  2. это можно настроить в MQS
  3. не понятно о чем речь
  4. надо больше информации [biggrin]
Thanks:

Mikhail Sukhov

Avatar
Date: 1/20/2015
Reply


[quote=Иван З.;32431]Спасибо! А можно еще кратенько прокоментировать ситуацию, про то что котирование не откатывается на лучшую цену. На форуме этот вопрос уже поднимался, а ответа нет. На мой взгляд очень важное замечание.

  1. это баг
  2. это можно настроить в MQS
  3. не понятно о чем речь
  4. надо больше информации [biggrin] [/quote]

По логам вам нужно понять причину и нам сообщить ее.[biggrin]

Thanks:

Иван З.

Avatar
Date: 1/21/2015
Reply


Вот поведение MQS при перекотировании заявки, когда перед ней встала другая заявка. Перекотировалась на новую цену. [SPOILER]2015/01/21 23:40:20.639|Debug [h]|QuikTrader|BP:Level1Change,T(L)=2015.01.21 23:40:20.661,T(S)=2015.01.21 16:40:20.659,Sec=S#:LNZL@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 10],[BestBidPrice, 4750],[BestBidVolume, 1],[BestAskPrice, 4858],[BestAskVolume, 1],[BidsCount, 20],[AsksCount, 19],[BidsVolume, 47],[AsksVolume, 60],[OpenPrice, 4760],[LowPrice, 4609],[HighPrice, 4950],[ClosePrice, 3660],[LastTradePrice, 4858],[LastTradeVolume, 1],[VWAP, 4763],[TradesCount, 151],[Volume, 341][/h] 2015/01/21 23:40:20.667|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=18635=834=13049=quik52=20150121-13:40:20.66656=StockSharpTS1=8331211=014=037=126680986438=139=040=241=044=475054=155=LNZL59=160=20150121-13:40:30.000150=0151=1207=QJSIM10=043' 2015/01/21 23:40:20.667|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=71035=X34=1049=quik52=20150121-13:40:20.66656=StockSharpMD262=85159581268=10279=1269=0270=4682271=2272=20150121273=13:40:20.662290=0279=1269=0270=4689271=3272=20150121273=13:40:20.662290=1279=1269=0270=4690271=5272=20150121273=13:40:20.662290=2279=1269=0270=4691271=1272=20150121273=13:40:20.662290=3279=1269=0270=4695271=1272=20150121273=13:40:20.662290=4279=1269=0270=4698271=2272=20150121273=13:40:20.662290=5279=1269=0270=4700271=1272=20150121273=13:40:20.662290=6279=1269=0270=4719271=1272=20150121273=13:40:20.662290=7279=1269=0270=4720271=2272=20150121273=13:40:20.662290=8279=1269=0270=4750271=1272=20150121273=13:40:20.662290=910=210' 2015/01/21 23:40:20.661|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.01.21 23:40:20.667,T(S)=2015.01.21 16:40:20.666 [h]2015/01/21 23:40:20.667|Debug |MQS_LNZL@QJSIM_83312|Правило 'Изменение стакана инструмента LNZL@QJSIM (0x31E27EC)'. Активация.[/h] [h]2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Цена текущей 4720 и лучшей 4750. 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Лучший бид 4750 и лучший аск 4858. 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Котирование заявки 85159582 (0x3E12596) на Buy с ценой 4720 объемом 1. 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Отмена заявки 85159582 (0x3E12596). 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Отмена заявки 85159582 (0x3E12596).[/h] 2015/01/21 23:40:20.667| |QuikTrader|CancelOrder: 85159582/1266809102 Покупка Цена=4720 Объем=1 Сост=Active Бал=1 2015/01/21 23:40:20.672|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=18635=834=13149=quik52=20150121-13:40:20.67156=StockSharpTS1=8331211=014=037=126680986438=139=040=241=044=475054=155=LNZL59=160=20150121-13:40:30.000150=0151=1207=QJSIM10=040' 2015/01/21 23:40:20.673|Debug |Quik |Sending to 127.0.0.1:5001: 8=FIX.4.49=17535=F34=549=quik52=20150121-13:40:20.67256=StockSharpTS1=8331211=8515958337=126680910238=141=8515958255=LNZL58=Limit60=20150121-23:40:20.672167=CS207=QJSIM461=E10=080 2015/01/21 23:40:21.697|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=97735=X34=1149=quik52=20150121-13:40:21.69556=StockSharpMD262=85159577268=18279=1269=#270=10272=20150121273=23:40:21.692279=1269=b270=4750272=20150121273=23:40:21.692279=1269=n270=1272=20150121273=23:40:21.692279=1269=c270=4858272=20150121273=23:40:21.692279=1269=m270=1272=20150121273=23:40:21.692279=1269=q270=19272=20150121273=23:40:21.692279=1269=r270=19272=20150121273=23:40:21.692279=1269=w270=46272=20150121273=23:40:21.692279=1269=e270=60272=20150121273=23:40:21.692279=1269=4270=4760272=20150121273=23:40:21.692279=1269=8270=4609272=20150121273=23:40:21.692279=1269=7270=4950272=20150121273=23:40:21.692279=1269=5270=3660272=20150121273=23:40:21.692279=1269=p270=4858272=20150121273=23:40:21.692279=1269=v270=1272=20150121273=23:40:21.692279=1269=9270=4763272=20150121273=23:40:21.692279=1269=d270=151272=20150121273=23:40:21.692279=1269=B270=341272=20150121273=23:40:21.69210=061' 2015/01/21 23:40:21.685|Debug |QuikTrader|BP:Level1Change,T(L)=2015.01.21 23:40:21.698,T(S)=2015.01.21 16:40:21.695,Sec=S#:LNZL@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 10],[BestBidPrice, 4750],[BestBidVolume, 1],[BestAskPrice, 4858],[BestAskVolume, 1],[BidsCount, 19],[AsksCount, 19],[BidsVolume, 46],[AsksVolume, 60],[OpenPrice, 4760],[LowPrice, 4609],[HighPrice, 4950],[ClosePrice, 3660],[LastTradePrice, 4858],[LastTradeVolume, 1],[VWAP, 4763],[TradesCount, 151],[Volume, 341] 2015/01/21 23:40:21.701|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=14235=X34=1249=quik52=20150121-13:40:21.70056=StockSharpMD262=85159581268=1279=1269=0270=4720271=1272=20150121273=13:40:21.696290=810=184' 2015/01/21 23:40:21.698|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.01.21 23:40:21.701,T(S)=2015.01.21 16:40:21.700 2015/01/21 23:40:21.701|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=19335=834=13249=quik52=20150121-13:40:21.70056=StockSharpTS1=8331211=014=037=126680910238=139=440=241=8515958244=472054=155=LNZL59=160=20150121-13:39:57.000150=4151=1207=QJSIM10=163' 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Изменение стакана инструмента LNZL@QJSIM (0x31E27EC)'. Активация. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Заявка 85159582 (0x3E12596) в процессе снятия. 2015/01/21 23:40:21.701|Debug |QuikTrader|BP:Execution,T(L)=2015.01.21 23:40:21.701,T(S)=2015.01.21 16:39:57.000,(Order),Sec=S#:LNZL@QJSIM, Native:,Type:,Ord=1266809102/0/85159582,Fail=,TId=0,Pf=83312,TPrice=0,UId= 2015/01/21 23:40:21.701| |QuikTrader|Order changed: 85159582/1266809102 Покупка Цена=4720 Объем=1 Сост=Done Бал=1 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Активация. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Заявка 85159582 (0x3E12596) больше не активна. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159582/1266809102 (0x10D5FB2)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Удалено. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Удаление. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Удаление. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Активация. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Заявка 85159582 (0x3E12596) была снята. Время снятия 21.01.2015 23:40:21 +10:00. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159582/1266809102 (0x167CEC8)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159582/1266809102 (0x167CEC8)'. Освободило ресурсы. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Цена текущей NULL и лучшей 4750. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Лучший бид 4750 и лучший аск 4858. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Регистрация новой Limit (0x283B9E6) заявки на Buy с ценой 4750 и объемом 1. 2015/01/21 23:40:21.701| |QuikTrader|RegisterOrder: 0/ Покупка Цена=4750 Объем=1 Сост=None Бал=0 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Регистрация заявки 85159585/ (0x90D914)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка регистрации заявки 85159585/ (0x1634BE2)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159585/ (0xA914DB)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159585/ (0x230DF28)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159585/ (0x1480B08)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка регистрации заявки 85159585/ (0x16C5A70)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159585/ (0x1A0309A)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Удаление.[/SPOILER] А это поведение, когда заявки после нее убрали, если не считать мою заявку, ей есть куда передвигаться. На картинке видно, что [BestBidPrice, 4750],[BestBidVolume, 1] это моя заявка выставленная MQS, а лучшая цена [BestBidPrice, 4721],[BestBidVolume, 14] [SPOILER]2015/01/21 23:40:39.129|Debug |QuikTrader|[h]BP:Level1Change,T(L)=2015.01.21 23:40:39.134,T(S)=2015.01.21 16:40:39.132,Sec=S#:LNZL@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 10],[BestBidPrice, 4750],[BestBidVolume, 1],[BestAskPrice, 4858],[BestAskVolume, 1],[BidsCount, 18],[AsksCount, 19],[BidsVolume, 45],[AsksVolume, 60],[OpenPrice, 4760],[LowPrice, 4609],[HighPrice, 4950],[ClosePrice, 3660],[LastTradePrice, 4858],[LastTradeVolume, 1],[VWAP, 4763],[TradesCount, 151],[Volume, 341][/h] 2015/01/21 23:40:39.142|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=14235=X34=1949=quik52=20150121-13:40:39.14156=StockSharpMD262=85159581268=1279=1269=0270=4750271=1272=20150121273=13:40:39.137290=910=202' 2015/01/21 23:40:39.140|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.01.21 23:40:39.142,T(S)=2015.01.21 16:40:39.141 [h]2015/01/21 23:40:39.142|Debug |MQS_LNZL@QJSIM_83312|Правило 'Изменение стакана инструмента LNZL@QJSIM (0x31E27EC)'. Активация.[/h] 2015/01/21 23:40:39.240|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=18635=834=15549=quik52=20150121-13:40:39.23856=StockSharpTS1=8331211=014=037=126680986438=139=440=241=044=475054=155=LNZL59=160=20150121-13:40:30.000150=4151=1207=QJSIM10=063' 2015/01/21 23:40:39.249|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=15335=AP34=15649=quik52=20150121-13:40:39.24856=StockSharpTS1=8331255=StockSharpMoney581=3728=0753=2707=SMTM708=297137.13707=CRES708=296915.4610=008' 2015/01/21 23:40:39.239|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.01.21 23:40:39.249,T(S)=2015.01.21 16:40:39.248,P=83312,Changes=[BeginValue, 297137,13],[CurrentValue, 296915,46][/SPOILER] [img]http://clickscreen.ru/screens/4/b173c2a7.png [/img]

В следствии чего можно предположить, что причиной такого поведения MQS, является то, что MQS лучшей ценой считает свою же заявку. Возможно данные о стакане по какой то причине не доходят до MQS. И она работает по последним сделкам. Такое поведение MQS нельзя считать удовлетворительной. Пробовал делать параметр UseLastTradePrice = false. Не помогает. Стакан зарегистрирован. Это все, что я могу по логам предположить.

Thanks:

Mikhail Sukhov

Avatar
Date: 1/24/2015
Reply


По логам мало что понятно. Нужны логи стратегии, а не коннектора.

Thanks:
1 2 3  > >>

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

loading
clippy