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

Как посчитать расстояния в тиках

Evgeniy Pivovarov

New Member
NinjaTrader
Здравствуйте!
Один вопрос. Как мне посчитать расстояния в тиках между двумя МА с разными периодами?
Я так понимаю надо сделать вычитания. Например double nq = EMA(30)[1] - EMA(100)[1]; и полученное выражения надо преобразовать в тики вопрос только как!
И еще один странный артефакт! Выводишь данные на принт некоторые значения получаются примерно таким -1,7170833960467E-05 с чем это связано понять немому.

Прошу сильно не пинать. Может я чета пропустил и не знаю функции!
 
Добрый день. Если речь идет об НТ8, вероятно вам нужно использовать функцицю TickSize. ссылка
насчет второго вопроса, скорее всего вам надо округлять до какого то знака. Функция шарпа Math.Round(). читать тут
 
double nq = EMA(30)[1] - EMA(100)[1];

А если еще сгладите, то получите готовый индикатор MACD (разница сглаженных EMA)

преобразовать в тики вопрос только как!

double nq = (EMA(30)[1] - EMA(100)[1])*TickSize;


Выводишь данные на принт некоторые значения получаются примерно таким -1,7170833960467E-05 с чем это связано понять немому.
EMA вещественного типа, т.к. хранит дробные значения (среднее значение). На графике то их округляет Ninjatrader, а в памяти они с большим хвостом хранятся. Их можно округлить
double nq = Bars.Instrument.MasterInstrument.RoundToTickSize(EMA(30)[1] - EMA(100)[1])*TickSize);
 
Назад
Верх Низ