Здравствуйте.
При переходе с версии 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, прилагающемся к библиотеке. Тот же результат.
Comentarios (1)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Подтверждаю. На ранних версиях не было такого, потому что я только в 19 версии сделал новый (и ошибочный) расчет позы... Как это устранить сейчас. Создайте свой менеджер позиции, наследуемый от StrategyPositionManager и переопределите метод OnOrderChanged. Туда новую логику, которая обновляет StrategyPositionManager.Position. Думаю объяснять про логику расчета не нужно.
Кстати, в сам пример закралась ошибка. Работает только из под Debug режима. Если запускать с диска (Release), то пример выдает ошибку.