• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Программирование Отображение 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));

Но это не работает. Индикатор не отображается. Подскажите как правильно прописать, чтобы на текущем графике отобразить график другого таймфрейма.
 
попробуй его там же прописать где и датасерию создаешь

Дело в том, что в мануале чётко прописано:

Syntax
AddChartIndicator(IndicatorBase indicator)



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

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

Вопрос решается по-другому.
 
взял на примере SampleMACrossOver

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

                AddChartIndicator(sma);
            }
но не проверял.
 
взял на примере 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 ???
 
Назад
Верх Низ