[3.0.19] Неправильно считается Position в PositionManager
Atom Ответить
23.03.2011


Здравствуйте.

При переходе с версии 3.0.15 на 3.0.19 у меня стала неправильно считаться текущая позиция (_strategy.PositionManager.Position).

Более подробное описание проблемы:

Я написал примитивное приложение для тестирования стратегии на исторических данных (скопировал код из примеров и документации).

При запуске этого кода с использованием Stock# 3.0.15 выражение _strategy.PositionManager.Position возвращало текущую позицию, например -1 или 0 или 1 (SmaStrategy, все сделки с Volume=1).

Сейчас, при переходе на Stock# 3.0.19 мое то же самое примитивное приложение выдает вместо текущей позиции общее количество сделок (все сделки с Volume=1).

Что происходит на версиях 3.0.16, 3.0.17, 3.0.18 не знаю, не проверял.

Из-за этого пока не могу использовать Stock# 3.0.19, так не хочется самостоятельно реализовывать параллельный самописный механизм контроля текущей позиции. Это же будет код на выброс.

Иван К.

UPD:
Проверил в стандартном примере SampleHistoryTesting, прилагающемся к библиотеке. Тот же результат.

Теги:


Спасибо:




1 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 23.03.2011
Ответить


IvanK Перейти
UPD:
Проверил в стандартном примере SampleHistoryTesting, прилагающемся к библиотеке. Тот же результат.


Подтверждаю. На ранних версиях не было такого, потому что я только в 19 версии сделал новый (и ошибочный) расчет позы... Как это устранить сейчас. Создайте свой менеджер позиции, наследуемый от StrategyPositionManager и переопределите метод OnOrderChanged. Туда новую логику, которая обновляет StrategyPositionManager.Position. Думаю объяснять про логику расчета не нужно.

Кстати, в сам пример закралась ошибка. Работает только из под Debug режима. Если запускать с диска (Release), то пример выдает ошибку.
Спасибо:


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

loading
clippy