NullReferenceException при вызове Strategy.Security.BestAsk.Price

NullReferenceException при вызове Strategy.Security.BestAsk.Price


В версии 4.0.23 при вызове Strategy.Security.BestAsk.Price получал нужную цену. Скачал самую последнюю версию 17334, с dev-ветки. Теперь Strategy.Security.BestAsk равно null и вылетает NullReferenceException


Теги:


Спасибо:


1 2  >
Alexander

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


Какой шлюз? Экспорт стакана запускается?

Спасибо:

Кот Матроскин

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


Alexander Mukhanchikov: Какой шлюз? Экспорт стакана запускается? Тестирую в EmulationTrader Экспорт стакана не запускал ни в 4.0.23, ни в текущей

Спасибо:

esper

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


Кот Матроскин: Тестирую в EmulationTrader Экспорт стакана не запускал ни в 4.0.23, ни в текущей Если нет сохраненных стаканов, то у EmulationTrader надо выставить UseMarketDepth = false

Спасибо: Кот Матроскин Yury Smykalov

Кот Матроскин

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


esper:

Кот Матроскин: Тестирую в EmulationTrader Экспорт стакана не запускал ни в 4.0.23, ни в текущей Если нет сохраненных стаканов, то у EmulationTrader надо выставить UseMarketDepth = false Спасибо, помогло, NullReferenceException больше не вылетает. В 4.0.23 не было такого свойства. А то, что мы создаем генератор стаканов: _trader.DepthGenerators[_security] = new TrendMarketDepthGenerator(_security) это что-то другое?

Спасибо:

esper

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


Если UseMarketDepth = false, то стаканы как раз генерируются, иначе читаются из БД.

Спасибо: Кот Матроскин

Кот Матроскин

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


esper: Если UseMarketDepth = false, то стаканы как раз генерируются, иначе читаются из БД. Спасибо, теперь полностью разобрался)))

Спасибо:

Кот Матроскин

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


Все-таки еще иногда вылазит NullReferenceException. Но не всегда:

Метка 3-1 MarketTime:2012.03.07 18:30:01, BestAsk = 97,42000, H = 97,56000, L = 97,36000 Метка 3-1 MarketTime:2012.03.07 18:40:00, BestAsk = 97,25000, H = 97,65000, L = 97,21000 Метка 3-1 MarketTime:2012.03.11 <mark>09:59:59</mark>, NullReferenceException Метка 3-1 MarketTime:2012.03.11 10:00:00, BestAsk = 99,60000, H = 99,60000, L = 99,60000 Метка 3-1 MarketTime:2012.03.11 10:10:00, BestAsk = 99,44000, H = 99,80000, L = 99,39000 Метка 3-1 MarketTime:2012.03.11 10:20:00, BestAsk = 99,51000, H = 99,57000, L = 99,35000 Сначала думал, что из-за корявого времени свечи, но в других случаях все нормально

Метка 3-1 MarketTime:2012.03.15 18:30:00, BestAsk = 100,86000, H = 100,89000, L = 100,65000 Метка 3-1 MarketTime:2012.03.15 18:40:00, BestAsk = 100,69000, H = 100,88000, L = 100,54000 Метка 3-1 MarketTime:2012.03.16 <mark>09:59:59</mark>, BestAsk = 100,67000, H = 100,70000, L = 100,54000 Метка 3-1 MarketTime:2012.03.16 10:00:00, BestAsk = 100,99000, H = 100,99000, L = 100,99000 Метка 3-1 MarketTime:2012.03.16 10:10:00, BestAsk = 100,75000, H = 100,97000, L = 100,35000

Спасибо:

Кот Матроскин

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


Опять полезло NullReferenceException при вызове Strategy.Security.BestBid.Price при этом UseMarketDepth = false

10:00:00.000 | Error | FDS_SBER@EQBR_test account | System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в SampleHistoryTesting.FDStrategy.OnCandlesFinished(Candle candle) в F:\S#\4.1.0\StockSharp_4.1\Samples\Testing\HistoryTesting\Strategy\FDStrategy.cs:строка 334 в SampleHistoryTesting.FDStrategy.<OnStarting>b__6(Candle newCandles) в F:\S#\4.1.0\StockSharp_4.1\Samples\Testing\HistoryTesting\Strategy\FDStrategy.cs:строка 96 в StockSharp.Algo.Strategies.StrategyRule1.#=qbKPfZP$sHNKewBoWTxOVIZWKc2RxMGQkOvMNrefS8FE=() в StockSharp.Algo.Strategies.Strategy.#=qYja9YukY0RAy8kUzPEwBAg==(IStrategyRule #=quLfxru5uzbPCCVRiCLmC0g==, Func1 #=qyw4EbBr3D$tMVupgMHmy2Q==, Object #=qayY1ai3QioJ7b725$BZRPA==, Boolean #=qUT7qwl2456HPh4xYvHuyMA==) Причем вылезает постоянно Версия stocksharp-17830 trunk

Спасибо:

pyhta4og

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


Вообще-то вы в своей стратегии случай BestBid=null должны сами обрабатывать отдельно потому что это вполне норм ситуация - в стакане нет бидов.

Почему так получается в вашем случае с генерироваными стаканами сложно сразу понять, но есть гипотеза Поставьте Emulator.Settings.DepthExpirationTime=TimeSpan.MaxValue

Дело в том, что эмулятор очищает стаканы которые старше чем 1 сутки.

Дйте знать, изменится ли поведение.

Спасибо:

Кот Матроскин

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


pyhta4og: Вообще-то вы в своей стратегии случай BestBid=null должны сами обрабатывать отдельно потому что это вполне норм ситуация - в стакане нет бидов. Мне кажется, что для Сбербанка отсутствие в стакане бидов все же не есть норма pyhta4og: Почему так получается в вашем случае с генерироваными стаканами сложно сразу понять, но есть гипотеза Поставьте Emulator.Settings.DepthExpirationTime=TimeSpan.MaxValue

Дело в том, что эмулятор очищает стаканы которые старше чем 1 сутки.

Дйте знать, изменится ли поведение. Поставил _trader.MarketEmulator.Settings.DepthExpirationTime = TimeSpan.MaxValue; Результат то же

Спасибо:
1 2  >

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

loading
clippy