• Demo счет NinjaTrader, регистрируется в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на демо счет NinjaTrader
    Фид на соединении Continuum/CQG.
    Для справки: Continuum - это брэнд CQG, и ни чем они не отличаются друг от друга.
    Обратите внимание, что в настоящее время CQG не высылает логин и пароль на электронные адреса от mail.ru, bk.ru, list.ru, inbox.ru, поэтому необходимо повторить регистрацию с электронного адреса от другого домейна (yahoo, gmail, и тд).
  • Уважаемые посетители форума!
    При регистрации на форуме отправляется письмо подтверждения на ваш почтовый ящик, если письмо не пришло, просьба проверить папку "спам" вашего почтового ящика, возможно письмо попало туда.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

Программирование Отображение AddChartIndicator() старшего ТФ

smarthead

Member
NinjaTrader
#1
На текущем ТФ, например М5, при включении стратегии хочу видеть SMA M60. Для этого сначала добавляю серию данных:

Код:
else if (State == State.Configure)
{
       AddDataSeries(Data.BarsPeriodType.Minute, 60);
}
, а потом добавляю индикатор в else if (State == State.DataLoaded)
Код:
AddChartIndicator(SMA(BarsArray[1], 14));
Но это не работает. Индикатор не отображается. Подскажите как правильно прописать, чтобы на текущем графике отобразить график другого таймфрейма.
 

smarthead

Member
NinjaTrader
#3
попробуй его там же прописать где и датасерию создаешь
Дело в том, что в мануале чётко прописано:

Syntax
AddChartIndicator(IndicatorBase indicator)



Warning: This method should ONLY be called from the OnStateChange() method during State.DataLoaded

т.е. индикаторы добавляем в State.DataLoaded. Не хотелось бы противоречить рекомендациям разработчиков.

Вопрос решается по-другому.
 

smarthead

Member
NinjaTrader
#5
взял на примере SampleMACrossOver

Код:
else if (State == State.DataLoaded)
            {
                sma = SMA(BarsArray[1], 14);
                sma.Plots[0].Brush = Brushes.SeaGreen;

                AddChartIndicator(sma);
            }
но не проверял.
Так я и делал - через переменную типа SMA. Вторая строка это доступ к Plots индикатора SMA для установки цвета линии. Получается стратегия видит такой индикатор в списке, но на график не выводит. Должно быть что-то типа
sma = SMA(BarsArray[1], 14).sma2;
где sma2 ???
 
Вверх Снизу