Здравствуйте.
При переходе с версии 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, прилагающемся к библиотеке. Тот же результат.
Kommentare (1)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Подтверждаю. На ранних версиях не было такого, потому что я только в 19 версии сделал новый (и ошибочный) расчет позы... Как это устранить сейчас. Создайте свой менеджер позиции, наследуемый от StrategyPositionManager и переопределите метод OnOrderChanged. Туда новую логику, которая обновляет StrategyPositionManager.Position. Думаю объяснять про логику расчета не нужно.
Кстати, в сам пример закралась ошибка. Работает только из под Debug режима. Если запускать с диска (Release), то пример выдает ошибку.