Доброго дня Подскажите пожалуйста, как получить значение индикатора MACDS. Получаю элемент Item2 из коллекции значений индикатора (конечно после того, как индикатор сформирован) MACDS.Container.GetValue(0).Item2 Дальше на отладке вижу, что мне нужно свойство InnerValues, но такое свойство есть только у класса "ComplexIndicatorValue", понятно, что индикатор комплексный.
А MACDS.Container.GetValue(0).Item2 принадлежит классу "IIndicatorValue", преобразовать один тип к другому не получается, пишет, что "ComplexIndicatorValue" получен в результате расчетов. В общем что-то запутался.
Комментарии (4)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Работа со значения индикаторов должна быть единообразной. Если индикатор сложный, то у него есть вложенные значения. Можно посмотреть на ГитХаб внутреннее устройство индикатора.
Да, разобрался уже по хелпу вот MACDS.GetValue<ComplexIndicatorValue>(0).InnerValues[MACDS.Macd] может пригодится кому.
Вот еще что обнаружил, если для получения значения объектов списка MACDS.GetValue<ComplexIndicatorValue>(ИНДЕКС).InnerValues[MACDS.Macd] вызывать метод ToString(), то они получаются корректно, т.к. на каждый индекс свое значение. А если писать MACDS.GetValue<ComplexIndicatorValue>(ИНДЕКС).InnerValues[MACDS.Macd].Indicator.GetCurrentValue(), то выходит последнее значение индикатора, пример на картинке из отладки А если вызвать MACDS.GetValue<ComplexIndicatorValue>(ИНДЕКС).InnerValues[MACDS.Macd].Indicator.GetValue(ИНДЕКС), то опять выходит верное значение Как-то это странно, ведь элемент коллекции результатов мы выбираем на этапе MACDS.GetValue<ComplexIndicatorValue>(ИНДЕКС) Версия 4.3.14
Попробуйте на ГитХабе посмотреть исходники. Пока не совсем понятно, о чем вы пишите.
Конструкции очень сложные и большие. Подозреваю, вы усложнили задачу свою.