S#

Как использовать класс IndicatorManager?


Как использовать класс IndicatorManager?
Atom Reply
2/29/2012




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

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



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

Tags:


Thanks:




10 Answers


Avatar
Date: 3/1/2012
Reply


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

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

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

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



Avatar
Date: 3/5/2012
Reply


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

Alexander

Avatar
Date: 3/5/2012
Reply


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



Avatar
Date: 3/5/2012
Reply


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

Alexander

Avatar
Date: 3/5/2012
Reply


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


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



Avatar
Date: 3/5/2012
Reply


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

Alexander

Avatar
Date: 3/5/2012
Reply


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


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

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

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



Avatar
Date: 3/6/2012
Reply


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

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

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)));



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


О гуру Михаил , помогите же нам .
Topic starter
Thanks:

Spiritschaser

Avatar
Date: 3/6/2012
Reply


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

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

Spiritschaser

Avatar
Date: 3/11/2012
Reply


Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy