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

Программирование Где тут ошибка?

S.t.e.a.m.

New Member
NinjaTrader
#1
Всем привет!
Впервые пишу индикатор для ниндзи, столкнулся с неведомой ошибкой которую не могу найти но компилятор ругается.
Привожу по кусочкам код, с описанием:
foreach (IDrawObject draw in DrawObjects)
{
if (draw.Tag != "Point1 Complect№"+Complect) DrawDot("Point1 Complect№"+Complect, false, Time[fplace], (High[fplace]+Low[fplace])/2, points_col);
}​
Тут ищем точку с определенным тегом, и если ее нет, то добавляем её, и таким же образом еще 2 точки на графике.

foreach (IDrawObject draw in DrawObjects)
{
if (draw is IDot && draw.Tag == "Point1 Complect№"+Complect)
{
Date1 = ((IDot) draw).Time;
break;
}
Здесь я пытаюсь извлечь время из нанесенной на графике точки для дальнейших расчетов. присвоить время нужно в переменную Date1, и тоже самое делаю еще с 2 точками.

nP1= CurrentBar - Bars.GetBar(Date1);​
Теперь этой строчкой я пытаюсь присвоить переменной nP1 индекс бара на котором стоит точка, для того чтобы затем между двумя точками найти наибольшие хай и лоу в диапазоне между точками.

Но компилятор твердит что переменно Date1 не присвоено значение. С указанием на строку
nP1= CurrentBar - Bars.GetBar(Date1);
и аналогичные строки для остальных точек.

если кто-то сталкивался с подобными ошибками, подскажите в чем может быть ошибка и где искать пути решения.

Заранее большое спасибо.
 

S.t.e.a.m.

New Member
NinjaTrader
#3
интересно. объявлена переменная в самом начале почти. Попробую как-то вытащить присвоение оттуда.
 

S.t.e.a.m.

New Member
NinjaTrader
#5
покажите строчку объявления Date1
Вот так это выглядит:
DateTime Date1;
DateTime Date2;
DateTime Date3;​

Объявлены они не в блоке "Variables" а непосредственно перед расчетной частью внутри "OnBarUpdate" вместе с еще многими переменными которые работают нормально.
 

S.t.e.a.m.

New Member
NinjaTrader
#7
В этом и ошибка. Переменная объявлена но ей не присвоено никакого значения.
Правильно так:
DateTime date1 = new DateTime();
или:
DateTime date1 =DateTime.Now;
Большое спасибо. Действительно в этом была причина.
А я искал сложнее.
 
Вверх Снизу