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

Программирование Помогите с кодом

  • Автор темы mobilfriend
  • Дата начала
M

mobilfriend

New Member
NinjaTrader
  • #1
Ребята, как правильно прописать, чтобы находясь на минутных барах индикатор рисовал 60 минутки... например через DrawRectangle ? второй вечер туплю
 
A

Arkadiy

Well-Known Member
NinjaTrader
  • #2
Зачем вам это писать. Наложите ещё одну датасерю поверх минуток часовой и получите то что хотите. Ничего писать не надо
 
  • Like
Реакции: Muratik
M

mobilfriend

New Member
NinjaTrader
  • #3
Аркадий, благодарю за быстрый ответ.... я попробовал, но как -то некрасиво... при выделении региона рамкой исчезают тени свечей старшего фрейма, все гармонично и понятно сразу же... поэтому хотелось бы отрисовать 60 минут через DrawRectangle();
 
A

Arkadiy

Well-Known Member
NinjaTrader
  • #4
не пойму про какое выделение вы говорите и что исчезает. давайте скрин, а то может вы что то делаете не так, или есть другой вариант решения вопроса
 
M

mobilfriend

New Member
NinjaTrader
  • #5
когда я накладываю вторую Data Series, то получается порно....неудобно так....
 
M

mobilfriend

New Member
NinjaTrader
  • #6
а я хочу,чтобы старший фрейм выделялся через функцию DrawRectangle();
 
M

mobilfriend

New Member
NinjaTrader
  • #7
Естественно, по оси -х и по оси -у подбить правильно
 
A

Arkadiy

Well-Known Member
NinjaTrader
  • #8
вот что то подобное ссылка
 
  • Like
Реакции: yunakhan11
M

mobilfriend

New Member
NinjaTrader
  • #9
не совсем ,прям, то .... мой косяк, что не уточнил про NT7... попробую разобраться. Спасибо, Аркадий!
 
N

NTTrade

Well-Known Member
NinjaTrader
  • #10
Делаешь ДатаСерию

protected override void Initialize()
{
AddDataSeries(Instrument.FullName, PeriodType.Minute , 60);

}

И потом в OnBarUpdate уже получаешь Хай и Лоу часового ТФ на первом Тике и рисуешь прямоугольник. Так же отлавливаешь время начальное и задаешь конечное для прямоугольника.

protected override void OnBarUpdate()
{
if(CurrentBars[0] > 0)
{
if (BarsInProgress == 1)
{
if (FirstTickOfBar)
{
double _high = High[0]; //double startY
double _low = Low[0]; //double endY

DateTime _time_start = Time[0]; //DateTime startTime
DateTime _time_end = Time[0].AddMinutes(60); //DateTime endTime

DrawRectangle(string tag, bool autoScale, DateTime startTime, double startY, DateTime endTime, double endY, Color color, Color areaColor, intareaOpacity) ;
}
}
}
}
 
  • Like
Реакции: Alexander, MIO expert и mobilfriend
M

mobilfriend

New Member
NinjaTrader
  • #11
Вот , спасибо! Завтра проверю отпишусь!
 
  • Like
Реакции: Alexander
M

mobilfriend

New Member
NinjaTrader
  • #12
Спасибо большое еще раз! чуть подправил.... буду наслаждаться теперь на своей винтажной NT 7*........For Reference:

protected override void Initialize()
{
Add("ES 06-19", PeriodType.Minute , 60);
Overlay = true;
CalculateOnBarClose = false;
}


protected override void OnBarUpdate()
{
if(CurrentBars[0] > 0); //if(CurrentBars[0] <1) return;
{
if (BarsInProgress == 1)
{
if (FirstTickOfBar)
{
double high = High[0]; //double startY
double low = Low[0]; //double endY

DateTime time_start = Time[0]; //DateTime startTime
DateTime time_end = Time[0].AddMinutes(-60); //DateTime endTime
DrawRectangle("tag1"+CurrentBar, false, time_start, high, time_end, low, Color.SkyBlue, Color.Blue, 2) ;
}
}
}

}
 

Вложения

  • IMG_1928.jpg
    87,8 КБ · Просмотры: 30
  • Like
Реакции: Arkadiy
N

NTTrade

Well-Known Member
NinjaTrader
  • #13
Add("ES 06-19", PeriodType.Minute , 60); Тут у тебя косяк )) сегодня контракт 06 месяц а через квартал будет 09. Будешь каждый квартал менять имя инструмента руками? Сделай так как было что бы автоматом определяло или вообще убери сделав так: Add(PeriodType.Minute , 60);
 
  • Like
Реакции: mobilfriend
M

mobilfriend

New Member
NinjaTrader
  • #14
Верно говоришь, переделаю! Так - то ,конечно , веселее будет...
 
M

mobilfriend

New Member
NinjaTrader
  • #15
Классно, что помогаете новичкам
 
Верх Низ