Индикатор MovingAverageConvergenceDivergenceSignal
Atom
19.12.2016


Доброго дня
Подскажите пожалуйста, как получить значение индикатора MACDS.
Получаю элемент Item2 из коллекции значений индикатора (конечно после того, как индикатор сформирован)
MACDS.Container.GetValue(0).Item2
Дальше на отладке вижу, что мне нужно свойство InnerValues, но такое свойство есть только у класса "ComplexIndicatorValue", понятно, что индикатор комплексный.

А MACDS.Container.GetValue(0).Item2 принадлежит классу "IIndicatorValue", преобразовать один тип к другому не получается, пишет, что "ComplexIndicatorValue" получен в результате расчетов.
В общем что-то запутался.
image5428.png 13 KB (159)



Спасибо:


Mikhail Sukhov

Фотография
Дата: 20.12.2016
Ответить


Работа со значения индикаторов должна быть единообразной. Если индикатор сложный, то у него есть вложенные значения. Можно посмотреть на ГитХаб внутреннее устройство индикатора.
Спасибо:

roman001

Фотография
Дата: 21.12.2016
Ответить


Да, разобрался уже по хелпу вот
MACDS.GetValue<ComplexIndicatorValue>(0).InnerValues[MACDS.Macd]
может пригодится кому.
Спасибо: Mikhail Sukhov gem81

roman001

Фотография
Дата: 23.12.2016
Ответить


Вот еще что обнаружил, если для получения значения объектов списка
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
Спасибо:

Mikhail Sukhov

Фотография
Дата: 24.12.2016
Ответить


Попробуйте на ГитХабе посмотреть исходники. Пока не совсем понятно, о чем вы пишите.

Конструкции очень сложные и большие. Подозреваю, вы усложнили задачу свою.
Спасибо:


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

loading
clippy