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

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

smarthead

Member
NinjaTrader
Коллеги!
Помогите разобраться с BarsInProgress (в соответствии со справкой):

protected override void OnBarUpdate()
{

// Checks if OnBarUpdate() is called from an update on the primary Bars
if (BarsInProgress == 0)
{
if (Close[0] > Open[0])
// Do something
}


// Checks if OnBarUpdate() is called from an update on MSFT 3 minute Bars
if (BarsInProgress == 1)
{
if (Close[0] > Open[0])
// Do something
}


// Checks if OnBarUpdate() is called from an update on AAPL 1 minute Bars
if (BarsInProgress == 2)
{
if (Close[0] > Open[0])
// Do something
}
}


К чему обращается BarsInProgress ==0, BarsInProgress ==1, BarsInProgress ==2? Что такое 0,1,2?

Спасибо.
 
0, 1, 2 - индекс (порядковый номер) массива с барами на одном графике (или в одном роботе добавленных методом Add()). 0 - первый (главный) график, график добавляемый первым в чарт. 1 - второй график по инструменту MSFT (3-минутные бары). 2 - третий график по инструменту AAPL (1-минутные бары). Т.к. тики приходят к каждому инструменту в отдельности, а метод OnBarUpdate() срабатывает при любом тике независимо от инструмента, то на помощь приходит свойство BarsInProgress. BarsInProgress определяет по какому инструменту (по приведенному примеру) пришел тик и вызвал OnBarUpdate(). Если он пришел по главному графику (BarsInProgress ==0) сделать одно, если он пришел по второму графику инструмента MSFT (BarsInProgress ==1) сделать другое, если тик пришел по третьему графику инструмента AAPL (BarsInProgress == 2) сделать еще чего-нибудь
 
Назад
Верх Низ