Exception in GetTheoreticalTrades

Exception in GetTheoreticalTrades
Atom
10/25/2011
Den


Уважаемые разработчики!

столкнулся с проблемой. При вызове


            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)

Буду благодарен за фикс!


Tags:


Thanks:


Den

Avatar
Date: 10/25/2011
Reply


А если этот же метод вызывать с ордером, то ругается на нулевой размер volume, хотя он явно не нулевой!

Thanks:

Alexander

Avatar
Date: 10/25/2011
Reply


а md какой? 0 объём приходит у вас из стакана. чтобы убедиться - можете скинуть стэктрэйс.

первое с Portfolio исправил

Thanks: Den

esper

Avatar
Date: 10/26/2011
Reply


А если этот же метод вызывать с ордером, то ругается на нулевой размер volume, хотя он явно не нулевой! Сталкивался с подобной проблемой, у меня дело было в том, что поле Security у стратегии не было задано и вываливался exception после совершения первой сделки при подсчете прибыли в PnlManager, и заявка при этом считалась неисполненной.

Thanks:

Den

Avatar
Date: 10/26/2011
Reply


Alexander Mukhanchikov: а md какой? 0 объём приходит у вас из стакана. чтобы убедиться - можете скинуть стэктрэйс.

первое с Portfolio исправил

ask: Оффер 148945 4 bid: Бид 148940 2 sec: RTS-12.11@RTS count: 100 У стратегии секурити задано в конструкторе равное RI.

Thanks:

Alexander

Avatar
Date: 10/26/2011
Reply


Den:

Alexander Mukhanchikov: а md какой? 0 объём приходит у вас из стакана. чтобы убедиться - можете скинуть стэктрэйс.

первое с Portfolio исправил

ask: Оффер 148945 4 bid: Бид 148940 2 sec: RTS-12.11@RTS count: 100 У стратегии секурити задано в конструктори равное RI.

стэк трэйс тогда киньте

Thanks:

Den

Avatar
Date: 10/26/2011
Reply


Alexander Mukhanchikov: стэк трэйс тогда киньте

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==(SynchronizedDictionary2 #=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)

Thanks:

Alexander

Avatar
Date: 10/27/2011
Reply


а order.balance чему равен? версия библиотеки у вас, вроде, не первой свежести :)

Thanks:

Den

Avatar
Date: 10/27/2011
Reply


Alexander Mukhanchikov: а 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==(SynchronizedDictionary2 #=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)

Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy