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

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

smarthead

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

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

Arkadiy

Well-Known Member
NinjaTrader
попробуй его там же прописать где и датасерию создаешь
 

smarthead

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

Syntax
AddChartIndicator(IndicatorBase indicator)



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

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

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

Arkadiy

Well-Known Member
NinjaTrader
взял на примере SampleMACrossOver

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

                AddChartIndicator(sma);
            }
но не проверял.
 

smarthead

Member
NinjaTrader
взял на примере 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 ???
 

Arkadiy

Well-Known Member
NinjaTrader
а что такое sma2 ? вторая строка это присвоение цвета для sma.
 
Верх Низ