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

Программирование Как узнать что значение индикатора равно "N/A"

KeenEdge

Member
NinjaTrader
  • #1
На некоторых барах значение индикатора не вычисляется и в Data Box показывается значение "N/A".
Как определить что на каком-то баре это значение не вычислялось и равно "N/A", проверить через Double.NaN не получается:

if( indikator [ i ] == Double.NaN) Print("нашли бар N/A"); // ничего не выводит
 
Последнее редактирование:
W

WorkNet

Guest
NinjaTrader
  • #2
KeenEdge сказал(а):
На некоторых барах значение индикатора не вычисляется и в Data Box показывается значение "N/A".
Как определить что на каком-то баре это значение не вычислялось и равно "N/A", проверить через Double.NaN не получается:

if( indikator [ i ] == Double.NaN) Print("нашли бар N/A"); // ничего не выводит

Попробуйте так

if( indikator [ i ] == null)
{
Print("нашли бар N/A");

}
 

KeenEdge

Member
NinjaTrader
  • #3
WorkNet сказал(а):
Попробуйте так

if( indikator [ i ] == null)
{
Print("нашли бар N/A");
}

Тоже не работает, в значениях indikator [ i ] есть числа и они похоже на цену закрытия бара, но в Data box пишет что "N/A".
 

rename

Active Member
NinjaTrader
  • #4
используйте соответствующий объект типа DataSeries, у которого есть метод ContainsValue()

пример.

public static double GetIfContains(DataSeries Data, int barsAgo)
{
return (Data.ContainsValue(barsAgo)) ? Data[barsAgo] : 0;
}
 
  • Like
Реакции: thinarthrill, Muratik, KeenEdge и ещё 3

KeenEdge

Member
NinjaTrader
  • #5
rename сказал(а):
используйте соответствующий объект типа DataSeries, у которого есть метод ContainsValue()

пример.

public static double GetIfContains(DataSeries Data, int barsAgo)
{
return (Data.ContainsValue(barsAgo)) ? Data[barsAgo] : 0;
}

Есть, заработало, спасибо:

if( indikator
.ContainsValue( i ) ) Print("нашли бар N/A"); // Вот так работает
 
  • Like
Реакции: Muratik, Георгий и Alexander

rename

Active Member
NinjaTrader
  • #6
пожалуйста.
только наверно все же вот так надо

if( !indikator.ContainsValue( i ) ) Print("нашли бар N/A");
 
  • Like
Реакции: thinarthrill, Muratik, Георгий и ещё 2

KeenEdge

Member
NinjaTrader
  • #7
rename сказал(а):
пожалуйста.
только наверно все же вот так надо

if( !indikator.ContainsValue( i ) ) Print("нашли бар N/A");

Да ты прав, у меня очепятка.
 
  • Like
Реакции: Muratik
Верх Низ