← Atrás

AlfaTrader выкидывает ошибку при работе с SampleRealTimeTesting

Эксепшн вылетает при первой попытки создания заявки: var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume); значение base.Security не null

Stack Trace:

Value cannot be null. Parameter name: security

at Ecng.Trading.Algo.TraderHelper.ShrinkPrice(Security security, Decimal price, ShrinkRules rule) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepthPair bestPair, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepth depth, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(Security security, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at SampleRealTimeTesting.SmaStrategy.OnProcess() in E:\Projects\StockSharp\SampleRealTimeTesting\SmaStrategy.cs:line 100 at Ecng.Trading.Algo.Strategies.Strategy.#=qZIvlEwumCnLOHChv0nHsiE2DmvMiBjA27jwCfRBG6Ng=.#=qjSTDqQrm5VigoeELaU6R4g==()

¿Le resultó útil este tema?

Compartir tema

Comentarios (4)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Sergey Masyura
Sergey Masyura

maze9a: Эксепшн вылетает при первой попытки создания заявки: var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume); значение base.Security не null

Stack Trace:

Value cannot be null. Parameter name: security

at Ecng.Trading.Algo.TraderHelper.ShrinkPrice(Security security, Decimal price, ShrinkRules rule) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepthPair bestPair, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepth depth, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(Security security, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at SampleRealTimeTesting.SmaStrategy.OnProcess() in E:\Projects\StockSharp\SampleRealTimeTesting\SmaStrategy.cs:line 100 at Ecng.Trading.Algo.Strategies.Strategy.#=qZIvlEwumCnLOHChv0nHsiE2DmvMiBjA27jwCfRBG6Ng=.#=qjSTDqQrm5VigoeELaU6R4g==()

Спасибо. Посмотрю.

Sergey Masyura
Sergey Masyura

sergey.masyura:

maze9a: Эксепшн вылетает при первой попытки создания заявки: var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume); значение base.Security не null

Stack Trace:

Value cannot be null. Parameter name: security

at Ecng.Trading.Algo.TraderHelper.ShrinkPrice(Security security, Decimal price, ShrinkRules rule) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepthPair bestPair, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(MarketDepth depth, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at Ecng.Trading.Algo.TraderHelper.GetMarketPrice(Security security, OrderDirections direction, Unit priceDelta, MarketPriceTypes priceType) at SampleRealTimeTesting.SmaStrategy.OnProcess() in E:\Projects\StockSharp\SampleRealTimeTesting\SmaStrategy.cs:line 100 at Ecng.Trading.Algo.Strategies.Strategy.#=qZIvlEwumCnLOHChv0nHsiE2DmvMiBjA27jwCfRBG6Ng=.#=qjSTDqQrm5VigoeELaU6R4g==()

Спасибо. Посмотрю.

Исправлено в версии http://stocksharpconnectors.codeplex.com/SourceControl/changeset/changes/2711#

maze9a
maze9a Autor

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

[MQS] System.ArgumentException: Объем заявки не может быть нулевым. Parameter name: order at Ecng.Trading.Algo.TraderHelper.#=qGYgPbZslosywch_VZAk3GA==(Order #=qrAcGdM4jLZdvzVeINPqexQ==) at Ecng.Trading.Algo.Testing.RealTimeEmulationTrader`1.ReRegisterOrder(Order oldOrder, Order newOrder) at Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder) at Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess() at Ecng.Trading.Algo.Strategies.Strategy.#=qZIvlEwumCnLOHChv0nHsiE2DmvMiBjA27jwCfRBG6Ng=.#=qjSTDqQrm5VigoeELaU6R4g==()

Sergey Masyura
Sergey Masyura

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

[MQS] System.ArgumentException: Объем заявки не может быть нулевым. Parameter name: order at Ecng.Trading.Algo.TraderHelper.#=qGYgPbZslosywch_VZAk3GA==(Order #=qrAcGdM4jLZdvzVeINPqexQ==) at Ecng.Trading.Algo.Testing.RealTimeEmulationTrader`1.ReRegisterOrder(Order oldOrder, Order newOrder) at Ecng.Trading.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder) at Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess() at Ecng.Trading.Algo.Strategies.Strategy.#=qZIvlEwumCnLOHChv0nHsiE2DmvMiBjA27jwCfRBG6Ng=.#=qjSTDqQrm5VigoeELaU6R4g==()

Пока такого не встречал при запусках. Если встречу - поправлю. Видимо ReRegisterOrder в AlfaTrader неккоректно работает. Если будет время, можешь сам посмотреть в этом направлении.