NullReferenceException в TimeFrameStrategy
Atom
26.10.2011


Есть 2 стратегии, унаследованные от TimeFrameStrategy. Одна из них создает другую, передавая в конструкторе Trader, Security и Portfolio и затем вызывает ее как дочернюю через ChildStrategies.Add(). В Strategy2 переопределен метод OnStarting(), в конце которого вызывается базовый метод. Проблема в том, что наверное в половине случаев вызов базового OnStarting() кидает исключение NullReferenceException, и в отладчике видно, что свойство Trader равно null, хотя в конструкторе оно было проинициализировано. S# 4.0.3.

Теги:


Спасибо:


Alter

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


Выяснилось, что это проделки вызываемого из другого потока Stop().
Спасибо:

lesser

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


У меня тоже на base.OnStarting(); ругается NullReferenceException но уже в другой стратегии причем нигде в коде не делаю стоп для этой стратегии,
может это все таки бага версии 4.0.3 ?

error.bmp 1 MB (204)
Спасибо:

lesser

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


Причем если эту стратегию я запускаю как чилдстратежи другой, ошибки нет
Спасибо:

Mikhail Sukhov

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


lesser Перейти
У меня тоже на base.OnStarting(); ругается NullReferenceException но уже в другой стратегии причем нигде в коде не делаю стоп для этой стратегии,
может это все таки бага версии 4.0.3 ?



Trader обнуляется у стратегии в методе Dispose (вызывается при остановке у дочерней стратегии). У вас такая ситуация? Получается, вы перезапускаете ранее отработавшую стратегию, так?
Спасибо:

lesser

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


Нет я стартую стратегию первый раз , и трейдер у меня не нулевой , я пока что не понял от чего такая ошибка.
Спасибо:

Mikhail Sukhov

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


lesser Перейти
Нет я стартую стратегию первый раз , и трейдер у меня не нулевой , я пока что не понял от чего такая ошибка.


Стратегия дочерняя?
Спасибо:

lesser

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


Если делаю ее дочерней тогда такой ошибки нет, если хочу стартануть ее как отдельную стратегию тогда возникает ошибка.
Спасибо:


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

loading
clippy