Ошибка при перерегистрации заявки
Что делаю: пытаюсь перерегистрировать заявку ( все происходит в дочерней стратегии: заявка ставится и перерегистрируется):
Code
var old = this.Orders.FirstOrDefault(o => o.State == OrderStates.Active && o.Security.Code==this.Security.Code); // find active orders to replace
if (old == null)
{
return;
}
var order = old.Clone();
new_price = this.Security.ShrinkPrice(new_price, ShrinkRules.Auto);
order.Price = new_price;
this.ReRegisterOrder(old,order); // does not work: заявка уже была отправлена на перерегистрацию (???)
Падает с Exception (заявка не снимается, остается висеть). Все на реальном счете
Quote:System.ArgumentException was unhandled by user code
Message=Заявка 61398764 уже была ранее отправлена на перерегистрацию.
Source=StockSharp.Algo
StackTrace:
at StockSharp.Algo.Strategies.Strategy.ReRegisterSlippage(Order oldOrder, Order newOrder)
at Ecng.Common.DelegateHelper.SafeInvoke[T1,T2](Action`2 handler, T1 arg1, T2 arg2)
at StockSharp.Algo.Strategies.Strategy.ReRegisterSlippage(Order oldOrder, Order newOrder)
at StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
at PairTrader.Quoter.reQuote(Decimal new_price) in c:\tmp\AlgoTrading\4.1.5 release\Quoter.cs:line 109
at StockSharp.Algo.MarketRule`2.#=qJosTH3NFz_dcWSPiM7XRb8E01zkTBRDf2J5OpVK4CCI=.#=qwyWH$eyQ6ZRsBqWtHmTA3g==(#=qfT6nhcPlWvPESNDaPlDNUA== #=qVC4KKDTVuqQN9mouEFe_Vg==)
at StockSharp.Algo.MarketRule`2.#=qBjnGFJa1m5qQH6CuH1aPVQ74KEj7u9_ilH$bifqKbFU=()
at StockSharp.Algo.MarketRuleHelper.#=q0QtmL$Whdq5Ef_hlxo3fLQ==(IMarketRuleContainer #=qcDKynrfqezsQMQ9Em$W32g==, IMarketRule #=qI8cPty2Plfgh$z$5zoAE8g==, Func`1 #=qBJAXpb1jsBrSqQhfiBxj5w==)
at StockSharp.Algo.Strategies.Strategy.#=qsC6ROunpHiT3pAtp0VNrFQMvX4wJPEjtGHuDEfse_ziQgZR1haqPZeokHoIFKH5NvZY6dUIk594BjXpQElTWBA==(IMarketRule #=qXriMoAVA_BsqiZi_vFjOXA==, Func`1 #=qFZW_5i_y2kXkGSTnIvmATQ==)
InnerException:
Это баг или я косячу где то?