Как использовать класс IndicatorManager?
Atom Ответить
29.02.2012




Фотография
Не пойму работу IndicatorManager. Хочу добавить в него индикатор и потом получить значение Индикатора.

Код
 
// Регистрирую индикатор в менеджере
 CandleToken token;
 IndM = new IndicatorManager(); 
 token = candleManager.RegisterTimeFrameCandles(SelectedSecurity, _timeFrame);
 var PriceSource = new CandleTokenIndicatorSource(token, BaseCandleIndicatorSource.ByClose);
 indTokenADX = IndM.RegisterIndicator(_Mystrategy.ADX, PriceSource);



Теперь вопрос: как получить последнее или любое значение индикатора

Теги:


Спасибо:




10 Ответов


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


Может кто-нибудь тогда ответит, как мне получить значение комплексного индикатора.. Например ADX?

Я вычисляю его так :
Код

 _strategy.indTokenADX.Indicator.Process(new StockSharp.Algo.Indicators.CandleIndicatorValue(candle));

Вижу, что вычисляются значения DX и EMA(составные части), а как получить итоговое значение??
Автор топика
Спасибо:



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


Ну может , в честь победы Путина мне кто-нибудь поможет?? )))
Автор топика
Спасибо:

Alexander

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


Если б данную задачу кто-то сделал - вопросов было бы меньше :)
Спасибо:



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


Вот как буду способен грамотно помочь, обязательно помогу.Если б я знал, то ответил бы на Вашем месте)), чтобы вдохновить меня.
Автор топика
Спасибо:

Alexander

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


Максим Пыж Перейти
Вот как буду способен грамотно помочь, обязательно помогу.Если б я знал, то ответил бы на Вашем месте)), чтобы вдохновить меня.


я с индикаторами ни разу не работал, я их только рефакторил порой.
знал бы - ответил
Спасибо:



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


А где можно прочитать историю развитию S# ??.Это разработка с нуля велась?? Или иностранная библиотека?? Я думал Вы Александр и Михаил все знаете)).
Автор топика
Спасибо:

Alexander

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


Максим Пыж Перейти
А где можно прочитать историю развитию S# ??.Это разработка с нуля велась?? Или иностранная библиотека?? Я думал Вы Александр и Михаил все знаете)).


Это полностью написанная Михаилом библиотека с 0, я подключился к разработке позже.

Индикаторы - совместная разработка, в ней принимали участие люди с форума. Лично я в индикаторах участия не принимал, особо не следил, потому не знаю.

Получить историю по индикаторам можно на codeplex, в истории изменений. удобнее либо через svn, либо через tfs.
Спасибо:



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


В продолжение темы, если кому интересно , я пробывал получить значение так :

Инициализация всех нужны объектов для работы с индикатором
Код

CandleToken token;
 IndM = new IndicatorManager(); 
 token = candleManager.RegisterTimeFrameCandles(SelectedSecurity, _timeFrame);
 var PriceSource = new CandleTokenIndicatorSource(token, BaseCandleIndicatorSource.ByClose);
 indTokenADX = IndM.RegisterIndicator(_Mystrategy.ADX, PriceSource);


Затем по обновлению свечек я делаю расчет индикатора ADX

Код
_strategy.indTokenADXProperty.Indicator.Process(new StockSharp.Algo.Indicators.CandleIndicatorValue(candle));


И затем , когда индикатор сформирован ( _strategy.ADX.IsFormed == true)(а он чудным образом формируется), я пытаюсь получить значение ADX :
Код

IEnumerable<RefPair<IIndicatorValue, IIndicatorValue>> MyADXValues = _strategy.IndM.Container.GetValues(_strategy.indTokenADXProperty)));



Но на этом шаге меня ждет разочарование - коллекция пуста. При этом значение составных индикаторов видно вычисляются.


О гуру Михаил , помогите же нам .
Автор топика
Спасибо:

Spiritschaser

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


Я сейчас мучительно изучаю ООП и исходники S#.
В описанной Вами проблеме по=пробуйте сначала создать контейнер, а потом с ним - менеджер:
IndC = new IndicatorContainer();
IndM = new IndicatorManager(IndC);

Я пока ещё не тестировал код, пока переделываю пример с SMA под свои нужды.
Спасибо:

Spiritschaser

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


Спасибо:


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

loading
clippy