Ошибка перерегистрации заявки

Ошибка перерегистрации заявки
Atom
01.03.2013
VassilSanych


Код
2013/03/01 12:45:10.146|       |SS_RIH3@RTS_SPBFUT00066|* Исправление стопа: Объём 3 Профит 151370 Стоп 151620 Направление Buy
2013/03/01 12:45:10.146|       |SS_RIH3@RTS_SPBFUT00066|Перерегистрация заявки 43708531 с ценой 151540 на цену 151520. 
2013/03/01 12:45:10.146|       |SS_RIH3@RTS_SPBFUT00066|Перерегистрация проскальзывания заявки 43708531 (0x3773D8C) на заявку (0x2CD720E).
2013/03/01 12:45:10.146|       |SS_RIH3@RTS_SPBFUT00066|* Исправление стопа: Объём 3 Профит 151370 Стоп 151620 Направление Buy
2013/03/01 12:45:10.146|       |SS_RIH3@RTS_SPBFUT00066|Перерегистрация заявки 43708531 с ценой 151540 на цену 151520. 
2013/03/01 12:45:10.146|       |SS_RIH3@RTS_SPBFUT00066|Перерегистрация проскальзывания заявки 43708531 (0x3773D8C) на заявку (0xF70278).
2013/03/01 12:45:10.288|       |StrategyManager|Status:Started, PnL:-540, Slippage:0, Position:-3, Latency:00:00:07.9382259, ErrorCount
2013/03/01 12:45:10.302|       |SS_RIH3@RTS_SPBFUT00066|Заявка 43708531 больше не активна.
2013/03/01 12:45:10.302|       |StrategyManager|Status:Started, PnL:-540, Slippage:0, Position:-3, Latency:00:00:08.0946776, Latency
2013/03/01 12:45:10.423|       |StrategyManager|Status:Started, PnL:-540, Slippage:0, Position:-3, Latency:00:00:08.0946776, ErrorState
2013/03/01 12:45:10.423|Error  |SS_RIH3@RTS_SPBFUT00066|System.ArgumentException: Заявка 43708531 уже была ранее отправлена на перерегистрацию через заявку 43708533, и не может быть перерегистрирована заявкой 0.
Имя параметра: value
   в StockSharp.Algo.Slippage.SlippageManager.SlippageInfo.set_NextOrder(Order value) в e:\Projects\C_Projects\StockSharp\Sources\Algo\Slippage\SlippageManager.cs:строка 65
   в StockSharp.Algo.Slippage.SlippageManager.ReRegistering(Order oldOrder, Order newOrder) в e:\Projects\C_Projects\StockSharp\Sources\Algo\Slippage\SlippageManager.cs:строка 168
   в StockSharp.Algo.Strategies.Strategy.ReRegisterSlippage(Order oldOrder, Order newOrder) в e:\Projects\C_Projects\StockSharp\Sources\Algo\Strategies\Strategy.cs:строка 1493
   в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder) в e:\Projects\C_Projects\StockSharp\Sources\Algo\Strategies\Strategy.cs:строка 1379
   в StrategySampleSma.SmaStrategy.CheckStops() в e:\Projects\VGnRobot1\StrategySampleSma\SmaStrategy.cs:строка 419
   в StrategySampleSma.SmaStrategy.ProcessCandle(Candle candle) в e:\Projects\VGnRobot1\StrategySampleSma\SmaStrategy.cs:строка 351
   в StockSharp.Algo.MarketRule`2.ProcessRuleVoid() в e:\Projects\C_Projects\StockSharp\Sources\Algo\IMarketRule.cs:строка 423
   в StockSharp.Algo.MarketRuleHelper.ActiveRule(IMarketRuleContainer container, IMarketRule rule, Func`1 process) в e:\Projects\C_Projects\StockSharp\Sources\Algo\MarketRuleHelper.cs:строка 2531
   в StockSharp.Algo.Strategies.Strategy.StockSharp.Algo.IMarketRuleContainer.ActivateRule(IMarketRule rule, Func`1 process) в e:\Projects\C_Projects\StockSharp\Sources\Algo\Strategies\Strategy.cs:строка 1847
2013/03/01 12:45:10.423|       |SS_RIH3@RTS_SPBFUT00066|Стратегия останавливается. [0,-1]. Позиция при старте -3.

Больше всего огорчает последняя строчка

Теги:


Спасибо:


Mikhail Sukhov

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


Это ошибка в логике, а не в S#.
Спасибо:

VassilSanych

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


Возможно.
Но это не отменяет того, что внутренняя ошибка метода перерегистрации заявки роняет стратегию.
Спасибо:

Mikhail Sukhov

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


VassilSanych
Возможно.
Но это не отменяет того, что внутренняя ошибка метода перерегистрации заявки роняет стратегию.


Там есть настройки.
Спасибо:

VassilSanych

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


Mikhail Sukhov
Там есть настройки.

Рад за вас.
Только это очень странное поведение, когда ошибки регистрации заявок сыплются в события, а ошибка перерегистрации пишет стектрейс и роняет стратегию.

Спасибо:

Mikhail Sukhov

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


VassilSanych
когда ошибки регистрации заявок сыплются в события, а ошибка перерегистрации пишет стектрейс и роняет стратегию.


Это не ошибка регистрации заявки. Это ошибка логики стратегии. То что ее ошибка привела к исключению в методе регистрации чистая случайность. Стратегию с глюками нужно останавливать сразу же.
Спасибо:

VassilSanych

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


Mikhail Sukhov
Это не ошибка регистрации заявки. Это ошибка логики стратегии. То что ее ошибка привела к исключению в методе регистрации чистая случайность. Стратегию с глюками нужно останавливать сразу же.

Не знаю чьей логики это ошибка. У меня эта "случайность" имеет закономерный характер:
пересекается регистрация заявок даже не смотря на Sync(_locker) в правилах и такие же локи в основной линии стратегии.
Совет ваш не принимаю - эта логика касается "защитных" стопов и ничего страшного, если она отработает на следующей свечке.
Так что обошёлся обычным try с логированием, а вы уж там разбирайтесь у себя, почему SlippageManager в нутрях асинхронен и на локи не реагирует.

Спасибо:


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

loading
clippy