Здравствуйте, коллеги.
Я поправил индикаторы DiPlus/DiMinus/ATR и перед заливкой изменений на CodePlex на свою беду обновил проект. В результате перестали выполняться тесты, которые прекрасно работали до обновления. Исследование показало, что метод GetCurrentValue() иногда возвращает неверные значения.
Что я делаю:
- В индикатор WilderMovingAverage с периодом 6 последовательно передаю значения 0, 0, 0, 0, 0, 1, 0.
- После передачи индикатору значения 1 на выходе метода Process() получаю значение 0.16.
- Следующий вызов GetCurrentValue<decimal>() возвращает 0. Я ожидаю, что он вернет 0.16.
Версия StockSharp.Algo - 4.1.5 changeset 20260.
Kommentare (8)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Да, есть такое дело, похоже на багу.
Можно обрабатывать новое значение так```csharp wma.Process(new DecimalIndicatorValue(val) );
Спасибо, помогло. :)
P.S.: А фикс когда можно ожидать? А то как я понимаю, индикаторы вообще перестали работать...
Проблема должна быть только с индикаторами, которые принимают DecimalIndicatorValue. Индикаторы принимающие CandleIndicatorValue должны работать нормально.
Да их немало. Банальное сглаживание много где используется. Подожду фикса.
P.S.: А исходники BaseComplexIndicator убрали из открытого доступа? Раньше были вроде бы, сейчас не нахожу...
Исправлено в последней версии на кодеплексе, просьба проверить индикаторы, которые перестали работать.
Спасибо, все заработало.🙂
Жаль, они здОрово помогали. Ну да хозяин - барин. 🙂