• Demo счет NinjaTrader, регистрируется через личный кабинет в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на личный кабинет NinjaTrader
    Не открывается ссылка - используйте любой локальный VPN или дополнение для браузера.
    Google поиск VPN
    Яндекс поиск VPN
  • Уважаемые посетители форума!
    При регистрации на форуме отправляется письмо подтверждения на ваш почтовый ящик, если письмо не пришло, просьба проверить папку "спам" вашего почтового ящика, возможно письмо попало туда.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

Программирование BarsRequired - помогите понять

smarthead

Member
NinjaTrader
Друзья!
Помогите разобраться. При создании мультитаймфреймного индикатора нужно провести проверку:

protected override void OnBarUpdate()
{
// Checks to ensure all Bars objects contain enough bars before beginning

if (CurrentBars[0] <= BarsRequired || CurrentBars[1] <= BarsRequired || CurrentBars[2] <= BarsRequired)
return;
}


Прочитав справку, не могу понять логику этой проверки. Помогите растолковать что происходит в этом коде? Что делает BarsRequired?
Спасибо.
 

thinarthrill

Well-Known Member
NinjaTrader
BarsRequired - требуемое минимальное количество исторических баров для тестирования стратегии. Но стратегия может использовать несколько таймфреймов или инструментов. Поэтому в данном коде проверяется, чтобы добавленных на график (или программно методом Add()) дополнительных баров было не менее установленному количеству в свойстве BarsRequired
 

smarthead

Member
NinjaTrader
... было не менее установленному количеству в свойстве BarsRequired

А как правильно определить минимальное количество баров для этого свойства? По периоду индикатора т.е. для SMA(20) соответствующего таймфрейма устанавливать BarsRequired минимум 20?
 

CustomTradingSystem

Member
NinjaTrader
Да, для каждой серии (символ + таймфрейм) вы, исходя из логики вашей стратегии, определяете минимально необходимое кол-во баров. Если у вас индикаторы ATR(15) и SMA(5), то берете максимальный - т.е. 15.

Обратите внимание, что в нек. случаях также необходима синхронизация серий, т.е. мы работаем с AAPL, 5-min, но при этом мы хотим знать значения AAPL, 1-min. Код выше есть в том числе еще и попытка достичь этой цели.
 
Верх Низ