Уважаемые разработчики!
столкнулся с проблемой. При вызове
MarketDepth md = Trader.GetMarketDepth(RI);
md.GetTheoreticalTrades(OrderDirections.Buy, 5);
вылетает исключение:
System.ArgumentException was unhandled
Message=Портфель не был найден.
Parameter name: order
Source=StockSharp.Algo
ParamName=order
StackTrace:
at StockSharp.Algo.TraderHelper.#=q0Nqd_EYKUm_qSUT3KX_XPe01U$tp1RZ3oGIfSQxpens=(Order #=qob1Cy8VdI6c2Xz9lAJh2_Q==)
at StockSharp.Algo.Testing.MarketEmulator.#=qWdg4lAUxdmq5XUmbYi0Zrw==(Order #=qgtz9uuueTianlRNGoA_UHg==)
at StockSharp.Algo.Testing.MarketEmulator.RegisterOrder(Order order)
at StockSharp.Algo.TraderHelper.GetTheoreticalTrades(MarketDepth depth, Order order)
at StockSharp.Algo.TraderHelper.GetTheoreticalTrades(MarketDepth depth, OrderDirections orderDirection, Int32 volume, Decimal price)
at StockSharp.Algo.TraderHelper.GetTheoreticalTrades(MarketDepth depth, OrderDirections orderDirection, Int32 volume)
Буду благодарен за фикс!
Kommentare (8)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
А если этот же метод вызывать с ордером, то ругается на нулевой размер volume, хотя он явно не нулевой!
а md какой? 0 объём приходит у вас из стакана. чтобы убедиться - можете скинуть стэктрэйс.
первое с Portfolio исправил
ask: Оффер 148945 4 bid: Бид 148940 2 sec: RTS-12.11@RTS count: 100 У стратегии секурити задано в конструкторе равное RI.
стэк трэйс тогда киньте
System.ArgumentOutOfRangeException was unhandled Message=Объем заявки не правильный. Parameter name: volume Actual value was 0. Source=StockSharp.Algo ParamName=volume StackTrace: at StockSharp.Algo.Testing.MarketEmulator.#=qcrPHtE$YdeNEHdB1EUG5yw==(Order #=qPqfVRnec6ayfNzK08nWyTg==, Int32 #=q4F10lmZ6q7IhD0bqYdV1_A==, Decimal #=q23Tme2q2X$DkZF62hMCOsA==) at StockSharp.Algo.Testing.MarketEmulator.#=q44PEbtva2A7Q5Dj9i1vClgxJ1f_uQ0IgHenWFrPT8D0=(MarketDepth #=qCydwZ2s4jl4x7xjYQnmAqw==, Order #=qBLU3cKyzzand1rLsftF9ow==, Quote #=qY4en6thpoQC8ILZ8A6VZTA==, Boolean #=q8tuVZpzVVQ5$8Bkke0kEsl8_O06H0dtnIq$RH6JVbOk=) at StockSharp.Algo.Testing.MarketEmulator.#=qCnNUlJlhqiejt_l1Na0tfxN55VpcwEuhIHbBmoYGUDI=(Order #=qdPBWyUclbn55fbHJ5ZM5lg==, MarketDepth #=q9JHe2VxG43_oJ1jRvqfuyw==) at StockSharp.Algo.Testing.MarketEmulator.#=qJlRCk4$RbdJMITLwh3ijcQ==(SynchronizedDictionary
2 #=qFEjqwWf__1uxLhF9cwZVBQ==) at Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action1 action) at StockSharp.Algo.Testing.MarketEmulator.#=qlKjbfjEAeAUGcPu0nXkl6w==() at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(IEnumerable`1 marketDepths) at StockSharp.Algo.TraderHelper.GetTheoreticalTrades(MarketDepth depth, Order order)а order.balance чему равен? версия библиотеки у вас, вроде, не первой свежести :)
Order.Balance равен дефолтному (по факту нулю). В комменте #2 есть код. Попробовал явно присваивать ненулевое значение все равно такой же эксепшен летит.
StackTrace на 4.0.3:
System.ArgumentOutOfRangeException was unhandled Message=Объем заявки не правильный. Parameter name: volume Actual value was 0. Source=StockSharp.Algo ParamName=volume StackTrace: at StockSharp.Algo.Testing.MarketEmulator.#=qtI_i5H_te1gY_oyG4BvLrg==(Order #=qZn3kSxtavZ876oTZ3s7DtQ==, Decimal #=qglCHp42CbSGYnnyjGbIb3w==, Decimal #=q5hmYmudWyisVhj_9vVtcvw==) at StockSharp.Algo.Testing.MarketEmulator.#=qyaG1ACgQCfUuMfXwoTfryaWiHDNxwoPTAs3q4HwBPkg=(MarketDepth #=q616zzHJpau19a2f1AXEexQ==, Order #=qeMGgr0l8RSsSS3tNl6$b3w==, Quote #=qhN7NenHHFIfV49xPsfpLrA==) at StockSharp.Algo.Testing.MarketEmulator.#=qXWkpOcTodlWAHo1ZAgSlejf3ahnkMYLe0l95SfAQ_XM=(Order #=qbdHMMgG30uCrjAUx54yrzg==, MarketDepth #=qiaDjikrGpCxmhqeiJqC3JA==) at StockSharp.Algo.Testing.MarketEmulator.#=qJxC2bOGc2MwFseUOAG9wJ3rMCUB8oQ6Z38NyehbRCjQ=.#=qurM5e6S8h5eqOy_B1Ks1NQ==(SynchronizedDictionary
2 #=qY0zXzTVLlks$L7O1c6JtaQ==) at Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action1 action) at StockSharp.Algo.Testing.MarketEmulator.#=qcn9deBXz5Gb49TtPGZKHGw==(Security #=qNu55WUxwTqnMXBQQfvjRAQ==, IEnumerable1 #=qbmwQlHClTveyW24JHCOLZg==) at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(IEnumerable1 marketDepths) at StockSharp.Algo.TraderHelper.GetTheoreticalTrades(MarketDepth depth, Order order)