API 4.2.2.15. Странная ошибка
Atom
26.02.2014
vk37


2014-02-26 15:52:07,988 [30] ERROR - 15:52:07.722 | MMQS_RIH4@FORTS_C000000 | System.InvalidOperationException: Правило Отмена заявки  OR Полное исполнение  OR Все сделки заявки  OR Ошибка регистрации заявки  не зарегистрировано в контейнере MMQS_RIH4@FORTS_C000000.
   at #=qp3zGpbG2i9SNLszeVqQkh5gr0jJzhz8gssj8Z_YsC1I=.OnRemoving(IMarketRule #=qcXUGxUvZVFIjUqYOd67LyA==)
   at Ecng.Collections.BaseCollection`2.Remove(TItem item)
   at Ecng.Collections.SynchronizedCollection`2.Remove(TItem item)
   at StockSharp.Algo.MarketRuleHelper.TryRemoveRule(IMarketRuleContainer container, IMarketRule rule, Boolean checkCanFinish)
   at StockSharp.Algo.MarketRuleHelper.#=q3EeiaeijfmQbeIQRGvTsjg==(IMarketRuleContainer #=qbRQ$Y3dVhOpDKdqtmvmjcg==, IMarketRule #=qYXorncce4w_la5GM_6wnQw==, Func`1 #=qd4LLFDhF4BCGlnf9hEnzEw==)
   at StockSharp.Algo.Strategies.Strategy.#=qu2TAw4TnR$myDdVQl8exKApC0CwzKAsZGUj1n9060PATEpRxTSLTm$kIXYz7FZNc89hH4tRu1n_mlYoap_JHyg==(IMarketRule #=qiOWsnM6F7jmhMMncF0Kz_Q==, Func`1 #=q6AJzFxiDQNtGQg2Zz_OD1w==)
            var quotingStrategy = new MyMarketQuotingStrategy(direction, absVolume)
            {
                DisposeOnStop = true,
                WaitAllTrades = true,
                Volume = absVolume,
                BestPriceOffset = new Unit(3, UnitTypes.Step, Security),
            };

            quotingStrategy.WhenStarted().Do(() => Log.InfoFormat("Мое котирование {0} запущено Started", quotingStrategy.Guid)).Once().Sync(_syncObject).Apply(quotingStrategy);
            quotingStrategy.WhenStopped().Do(() => Log.InfoFormat("Мое котирование {0} остановлено Stopped", quotingStrategy.Guid)).Once().Sync(_syncObject).Apply(quotingStrategy);
            quotingStrategy.WhenNewMyTrades().Do(trades =>
            {
                foreach (var myTrade in trades)
                    quotingStrategy.TradesVolume += myTrade.Trade.Volume;

                if (quotingStrategy.TradesVolume == quotingStrategy.Volume)
                {
                    var volumeSum = 0m;
                    var volumedPriceSum = 0m;

                    foreach (var theTrade in quotingStrategy.MyTrades.Select(myTrade => myTrade.Trade))
                    {
                        volumeSum += theTrade.Volume;
                        volumedPriceSum += theTrade.Volume * theTrade.Price;
                    }

                    var transactionAveragePrice = volumedPriceSum / volumeSum;
                    Log.InfoFormat("Мое котирование {0} остановлено по сделкам", quotingStrategy.Guid);
                }
            }).Sync(_syncObject).Apply(quotingStrategy);
            quotingStrategy.WhenOrderChanged().Do(order =>
            {
                Log.DebugFormat("Мое котирование {0}. OnOrderChanged State: {1}, Order: {2}",
                    quotingStrategy.Guid, order.State, order);

                if (order.State == OrderStates.Done || order.State == OrderStates.Failed)
                {
                    Log.InfoFormat("Мое котирование {0}. Заявка {1} исполнена", quotingStrategy.Guid, order);
                }
            }).Sync(_syncObject).Apply(quotingStrategy);

            ChildStrategies.Add(quotingStrategy);

Теги:


Спасибо:


esper

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


vk37: quotingStrategy.WhenStopped() не срабатывает никогда. Котирование останавливается не по завершению процесса котирования, а при остановке родительской стратегии.

.Apply(quotingStrategy)


2. Ошибка из под спойлера появляется стабильно? Можете привести S# дебаг лог?
Спасибо:

vk37

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


для правила остановки скорее всего и не будет работать, т.к. правило должно сработать когда стратегия остановится, но для остановленной стратегии все правила удаляются.Бог с ним, с правилом. Просто стратегия котирования не останавливается по окончании работы. В версиях 4.1 останавливалась. Более подробный лог::::spoiler

2014-02-26 16:54:00,346 [Default processor PlazaTransactionMessageAdapter (Transaction, Out). Messages thread.] INFO  - Мое котирование 4f9a25d4-a9d4-4d72-97bb-08c369b2a5b3 запущено Started
2014-02-26 16:54:00,346 [Default processor PlazaTransactionMessageAdapter (Transaction, Out). Messages thread.] INFO  - Запущено котирование на объем 1 направление Buy для стратегий 0
2014-02-26 16:54:00,364 [Default processor PlazaTransactionMessageAdapter (Transaction, Out). Messages thread.] DEBUG - Мое котирование 4f9a25d4-a9d4-4d72-97bb-08c369b2a5b3. OnOrderChanged State: Active, Order: 59843696/12208677675 Покупка Цена=128110 Объем=1 Сост=Active Бал=1
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | MMQS_RIH4@FORTS_C00 | Стратегия запущена. [0,12]. Позиция при старте 0.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | MMQS_RIH4@FORTS_C00 | Котирование на Buy объема 1.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | MMQS_RIH4@FORTS_C00 | Приостановка правил. _rulesSuspendCount 1.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | MMQS_RIH4@FORTS_C00 | Возобновление правил. _rulesSuspendCount 0.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | MMQS_RIH4@FORTS_C00 | Цена текущей NULL и лучшей 128110.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | MMQS_RIH4@FORTS_C00 | Лучший бид 128110 и лучший аск 128120.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | MMQS_RIH4@FORTS_C00 | Регистрация новой Limit (0x21D786B) заявки на Buy с ценой 128110 и объемом 1. 
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | PlazaTrader     | RegisterOrder: 0/0 Покупка Цена=128110 Объем=1 Сост=None Бал=0 
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.343 | PlazaTrader     | New order: 59843696/0 Покупка Цена=128110 Объем=1 Сост=Pending Бал=1 
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.346 | PlazaTrader     | Order changed: 59843696/12208677675 Покупка Цена=128110 Объем=1 Сост=Active Бал=1 
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.346 | MMQS_RIH4@FORTS_C00 | Заявка 59843696 принята биржей.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.346 | MMQS_RIH4@FORTS_C00 | Сброс счетчика ошибок регистрации с 0 до нуля.
2014-02-26 16:54:00,724 [30] INFO  - 16:54:00.364 | PlazaTrader     | Order changed: 59843696/12208677675 Покупка Цена=128110 Объем=1 Сост=Active Бал=1 
2014-02-26 16:54:01,897 [Default processor PlazaTransactionMessageAdapter (Transaction, Out). Messages thread.] INFO  - Завершено котирование для стратегий 0 по цене 128110
2014-02-26 16:54:01,897 [Default processor PlazaTransactionMessageAdapter (Transaction, Out). Messages thread.] INFO  - Мое котирование 4f9a25d4-a9d4-4d72-97bb-08c369b2a5b3 остановлено по сделкам
2014-02-26 16:54:01,899 [Default processor PlazaTransactionMessageAdapter (Transaction, Out). Messages thread.] DEBUG - Мое котирование 4f9a25d4-a9d4-4d72-97bb-08c369b2a5b3. OnOrderChanged State: Done, Order: 59843696/12208677675 Покупка Цена=128110 Объем=1 Сост=Done Бал=0
2014-02-26 16:54:01,899 [Default processor PlazaTransactionMessageAdapter (Transaction, Out). Messages thread.] INFO  - Мое котирование 4f9a25d4-a9d4-4d72-97bb-08c369b2a5b3. Заявка 59843696/12208677675 Покупка Цена=128110 Объем=1 Сост=Done Бал=0 исполнена
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | MMQS_RIH4@FORTS_C00 | Цена текущей 128110 и лучшей 128100.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | MMQS_RIH4@FORTS_C00 | Лучший бид 128110 и лучший аск 128120.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | MMQS_RIH4@FORTS_C00 | Котирование заявки 59843696 на Buy с ценой 128110 объемом 1.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | MMQS_RIH4@FORTS_C00 | Перерегистрация заявки 59843696 с ценой 128110 на цену 128100. 
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | MMQS_RIH4@FORTS_C00 | Перерегистрация проскальзывания заявки 59843696 (0x21D786B) на заявку (0x2983BDE).
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | RS_RIH4@FORTS_C00 | Перерегистрация проскальзывания заявки 59843696 (0x21D786B) на заявку (0x2983BDE).
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | PlazaTrader     | New order: 59843697/0 Покупка Цена=128100 Объем=0 Сост=Pending Бал=0 
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.896 | MMQS_RIH4@FORTS_C00 | Перекотирование зарегистрировано для заявки 59843697 на Buy с ценой 128100.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.898 | RS_RIH4@FORTS_C00 | Новая Buy сделка 849110424 по цене 128110 на 1 заявки 59843696.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.898 | MMQS_RIH4@FORTS_C00 | Новая Buy сделка 849110424 по цене 128110 на 1 заявки 59843696.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | PlazaTrader     | Order changed: 59843696/12208677675 Покупка Цена=128110 Объем=1 Сост=Done Бал=0 
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | RS_RIH4@FORTS_C00 | Новая позиция: C00-RIH4@FORTS=1.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | MMQS_RIH4@FORTS_C00 | Новая позиция: C00-RIH4@FORTS=1.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | MMQS_RIH4@FORTS_C00 | Позиция изменилась на 1. Оставшийся объем 0.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | MMQS_RIH4@FORTS_C00 | Заканчиваем котирование.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | MMQS_RIH4@FORTS_C00 | Стратегия останавливается. [0,12]. Позиция при старте 1.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | MMQS_RIH4@FORTS_C00 | Правило 'Изменение стакана инструмента RIH4@FORTS (0x2AEDFD6)'. Приостановлено.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.899 | MMQS_RIH4@FORTS_C00 | Ожидание снятия всех активных заявок.
2014-02-26 16:54:02,249 [30] INFO  - 16:54:01.897 | PlazaTrader     | OrderFailed: 59843697/0 Покупка Цена=128100 Объем=0 Сост=Failed Бал=0 
StockSharp.Plaza.PlazaException: Произошла ошибка. Код 50, описание 'Не найдена заявка для перестановки.'.
2014-02-26 16:54:02,249 [30] ERROR - 16:54:01.897 | MMQS_RIH4@FORTS_C00 | Заявка 59843697 (0x2983BDE) не была принята по причине StockSharp.Plaza.PlazaException: Произошла ошибка. Код 50, описание 'Не найдена заявка для перестановки.'..
2014-02-26 16:54:02,250 [30] INFO  - 16:54:01.897 | MMQS_RIH4@FORTS_C00 | Заявка 59843697 больше не активна.
2014-02-26 16:54:02,250 [30] INFO  - 16:54:01.912 | PlazaTrader     | OrderCancelFailed: 59843696/12208677675 Покупка Цена=128110 Объем=1 Сост=Failed Бал=0 
StockSharp.Plaza.PlazaException: Произошла ошибка. Код 50, описание 'Не найдена заявка для перестановки.'.
2014-02-26 16:54:02,250 [30] ERROR - 16:54:01.912 | MMQS_RIH4@FORTS_C00 | Заявка 59843696 не была отменена по причине StockSharp.Plaza.PlazaException: Произошла ошибка. Код 50, описание 'Не найдена заявка для перестановки.'..
2014-02-26 16:54:02,250 [30] INFO  - 16:54:01.912 | MMQS_RIH4@FORTS_C00 | Ошибка отмены заявки 59843696 при остановке стратегии.
2014-02-26 16:54:02,250 [30] ERROR - 16:54:01.912 | MMQS_RIH4@FORTS_C00 | System.InvalidOperationException: Правило Отмена заявки  OR Полное исполнение  OR Все сделки заявки  OR Ошибка регистрации заявки  не зарегистрировано в контейнере MMQS_RIH4@FORTS_C00.
   at #=qp3zGpbG2i9SNLszeVqQkh5gr0jJzhz8gssj8Z_YsC1I=.OnRemoving(IMarketRule #=qcXUGxUvZVFIjUqYOd67LyA==)
   at Ecng.Collections.BaseCollection`2.Remove(TItem item)
   at Ecng.Collections.SynchronizedCollection`2.Remove(TItem item)
   at StockSharp.Algo.MarketRuleHelper.TryRemoveRule(IMarketRuleContainer container, IMarketRule rule, Boolean checkCanFinish)
   at StockSharp.Algo.MarketRuleHelper.#=q3EeiaeijfmQbeIQRGvTsjg==(IMarketRuleContainer #=qbRQ$Y3dVhOpDKdqtmvmjcg==, IMarketRule #=qYXorncce4w_la5GM_6wnQw==, Func`1 #=qd4LLFDhF4BCGlnf9hEnzEw==)
   at StockSharp.Algo.Strategies.Strategy.#=qu2TAw4TnR$myDdVQl8exKApC0CwzKAsZGUj1n9060PATEpRxTSLTm$kIXYz7FZNc89hH4tRu1n_mlYoap_JHyg==(IMarketRule #=qiOWsnM6F7jmhMMncF0Kz_Q==, Func`1 #=q6AJzFxiDQNtGQg2Zz_OD1w==)
2014-02-26 16:54:02,250 [30] INFO  - 16:54:01.912 | MMQS_RIH4@FORTS_C00 | Стратегия остановлена. [0,12]. Позиция при старте 1.
Спасибо:

vk37

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


Правильнее сделать Apply(this).В этом случая ошибка из спойлера тоже возникает. Котирование по завершению процесса котирования в некоторых случаях останавливается, а в некоторых нет. Когда останавливается, то правило WhenStopped тоже срабатывает.

Ошибка из под спойлера появляется стабильно?Не всегда. Иногда.

Спасибо:


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

loading
clippy