Exception in GetTheoreticalTrades
Atom
25.10.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)


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

Теги:


Спасибо:


Den

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


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


Спасибо:

Alexander

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


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

первое с Portfolio исправил
Спасибо: Den

esper

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


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

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

Den

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


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

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


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

Alexander

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


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

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


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


стэк трэйс тогда киньте
Спасибо:

Den

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


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==(SynchronizedDictionary`2 #=qFEjqwWf__1uxLhF9cwZVBQ==)
at Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 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)
Спасибо:

Alexander

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


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

Den

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


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==(SynchronizedDictionary`2 #=qY0zXzTVLlks$L7O1c6JtaQ==)
at Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 action)
at StockSharp.Algo.Testing.MarketEmulator.#=qcn9deBXz5Gb49TtPGZKHGw==(Security #=qNu55WUxwTqnMXBQQfvjRAQ==, IEnumerable`1 #=qbmwQlHClTveyW24JHCOLZg==)
at StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(IEnumerable`1 marketDepths)
at StockSharp.Algo.TraderHelper.GetTheoreticalTrades(MarketDepth depth, Order order)
Спасибо:


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

loading
clippy