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

NinjaTrader 8 Не работает счет от начало торгового дня

alexmar12

New Member
NinjaTrader
Не могу понять по чему не идут данные от начало дня

Вот код
if (Bars.IsFirstBarOfSession) //Если бар начало сессии
{
iCumDelta = 0;
}
else
{
iCumDelta = iCumDelta + (BuySellVolume().Buys[0] - BuySellVolume().Sells[0] - BuySellVolume().Sells[0]);
}

Но почему-то считает от текущего бара как будто не загружает историю хотя я включил проигрывание тика

Моя цель была суммировать с каждый баром от начало дня общую дельту
 
Он включен
Могу выслать весь код. Может вы найдете мою ошибку
 

Вложения

  • VOLlevDelta.cs
    5,9 КБ · Просмотры: 7
Абсолютно точно у меня идикатор с подгрузкой стоит Дельта и BuySel Volume. Если б не стоял то они бы не показывали историю
 
В коде Text myTextDelta = Draw.Text(this, "myTextDelta", iCumDelta.ToString(), 0, High[0] + (5 * TickSize), TextDelta);
добавьте CurrentBar
Text myTextDelta = Draw.Text(this, "myTextDelta"+CurrentBar, iCumDelta.ToString(), 0, High[0] + (5 * TickSize), TextDelta);
 
Спасибо для проверки буду иметь сегодня с утра заработал может глюк какой был вчера..
 
Помогите понять у меня почему-то глюк

У меня стоит параметр
Calculate= Calculate.OnBarClose;

И поставил вычесление

Код:
// Начало кода
            if (Bars.IsFirstBarOfSession) //Если бар начало сессии
            {
                iCumDelta  = 0;
            }
            else
            {
                iCumDeltaOne =iCumDelta;

                if (VOL()[0] > MinVolume) // Если объем бара превышает параметр минимального объема
                {
                    iCumDelta  = iCumDelta + 1;//(-BuySellVolume().Sells[0]);
                } 

            }

            if (iCumDelta < 0)
            {
                TextDelta = Brushes.Red;
            } else
            {
                TextDelta = Brushes.Lime;
            }
            
            Text myTextDelta = Draw.Text(this, "myTextDelta" +CurrentBar, iCumDelta.ToString(), 0, High[0] + (5 * TickSize), TextDelta);
            
            // Конец кода

Тоесть если свеча с объемом более определенного значения должно увеличиваться на 1 а у меня увеличиваться аж на 14

http://dl3.joxi.net/drive/2017/05/23/0012/1159/824455/55/5e6813cf9f.jpg
 
Я разобрался спасибо писать не надо.. Суть в том что стоял Calculeta = On Each Tick
И поэтому функция выполнялась по каждому тику Это было нужно для BuySel Volume
В общем поставил выполнение на проверку CurrentBar и все стало на место
 
Назад
Верх Низ