1. Demo счет NinjaTrader, регистрируется в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на демо счет NinjaTrader
    Фид на соединении Continuum/CQG.
    Для справки: Continuum - это брэнд CQG, и ни чем они не отличаются друг от друга.
  2. Уважаемые форумчане!
    Перед тем как написать пост или создать тему с просьбой оказания технической поддержки, вам нужно указать как можно больше информации по теме, к примеру: счет реал или демо, версия Windows, версия NinjaTrader, прикрепить скрин с проблемой и прочее.
    Не забывайте воспользоваться поиском на форуме, возможно уже есть решение вашей проблемы.

    Подробнее по ссылке

    Скрыть объявление
  3. Сколько я реально плачу комиссии?
    Подробнее по ссылке
    Скрыть объявление

Программирование Что за синтаксис такой?

Тема в разделе "Написание роботов. Обсуждение.", создана пользователем hoz, 31 май 2015.

  1. hoz

    hoz Member NinjaTrader

    Вроде как по заявлениям разработчиков, на данный момент, пишутся торговые роботы на C#. Это проавда? Или это типа C#, но не совсем то?
    Да бы понять язык, решил я поиграться очередной раз с визуальным конструктором. Открыл его код. И сразу появились вопросы...
    Вот такая строка спокойно компилируется:

    Вы не авторизованны на нашем форуме и не имеете возможности видеть этот код!

    Для того, что его посмотреть, Вам надо:

    Меня сразу смутило то, что на конце имеется [0]
    Это ещё с чего? Обычно параметры методов в круглых кавычках. Я б не удивился, если б было так, например:

    Вы не авторизованны на нашем форуме и не имеете возможности видеть этот код!

    Для того, что его посмотреть, Вам надо:

    С чем это связано? Если посмотреть в справку из программы нажав F1, или пройти по ссылке можно увидеть следующее:
    Почему код пишется так как указано после Returns default value ? По сути, это ж возвращаемое по умолчанию значение... Судя по комментарию.
     
  2. thinarthrill

    thinarthrill Well-Known Member NinjaTrader

    В круглых скобках - параметр вызываемого метода. В квадратных скобках - порядковый номер элемента массива. Т.е. последнее (intbarsAgo=0) значение 14-периодного ATR. Если указать например ATR(14)[1] - предпоследнее значение (предпоследний бар) 14-периодного ATR.
     
    broker_mirus нравится это.
  3. hoz

    hoz Member NinjaTrader

    Я это понял ещё тогда , когда прочёл справку. Но это ж не C#'овский синтаксис! А часто можно встретить, что торговые эксперты и индикаторы под NT7 пишутся на C#. Вот в чём вопрос.
    Почему порядковый номер бара в квадратных скобках вообще... Сколько не встречал синтаксисов, в том числе, и канкретно к торговым платформам, не попадались такие варианты. Обычно, как в том же Си, но не так.
    С чего бы то вдруг?
     
  4. diushych

    diushych Member NinjaTrader

    да нормальный С#, эт типо сокращенная запись.
    //функция возвращает массив значений.
    double[] func(int i);
    //получить элемент массива
    val = func(i)[n];

    И да, в си такое тоже нормально ;)
     
    broker_mirus нравится это.
  5. thinarthrill

    thinarthrill Well-Known Member NinjaTrader

    В C# обращение к элементам массива через квадратные скобки []
     
    broker_mirus нравится это.
  6. hoz

    hoz Member NinjaTrader

    Да, но перед квадратными скобками круглых нет...
    Вот создаётся новы массив на 10 элементов, например в C#:

    Вы не авторизованны на нашем форуме и не имеете возможности видеть этот код!

    Для того, что его посмотреть, Вам надо:

    Кто-то приведёт нормальный пример из C# чтоб был подобен тому что я выше привёл?
     
    Muratik нравится это.
  7. diushych

    diushych Member NinjaTrader

    ну ок, перевожу ;)

    ATR(14)[0] // сокращенный эквивалент следующего кода

    double[] atr = ATR(14); //функция возвращает массив
    double atrVal = atr[0]; //извлечение 0-го элемента массива

    // ну и соответственно
    if (GetCurrentAsk() < atrVal)
     
    broker_mirus, Muratik, thinarthrill и ещё 1-му нравится это.
  8. hoz

    hoz Member NinjaTrader

    diushych, в итоге, у Вас нет данного варианта в коде) Так что вопрос остаётся открытым..
     
    Muratik нравится это.
  9. thinarthrill

    thinarthrill Well-Known Member NinjaTrader

    Вопрос собсно в чем? Почему С# в нинзе, адаптированный под торговлю на финансовых рынках, отличается от C# для прикладных приложений? Вопрос риторический)) Почему после круглых скобок с параметрами метода стоят квадратные с номером элемента? Как сказал diushych, полагаю для облегченного/сокращенного доступа к данным. Тут ж куда не ткни одни массивы баров да индикаторов с историческими временными рядами.
     
    Alexander и Георгий нравится это.
  10. hoz

    hoz Member NinjaTrader

    И в чём, собственно говоря, облегчение? Например, можно было используя нормальный синтаксис заменить такую конструкцию:

    Вы не авторизованны на нашем форуме и не имеете возможности видеть этот код!

    Для того, что его посмотреть, Вам надо:

    На такую:

    Вы не авторизованны на нашем форуме и не имеете возможности видеть этот код!

    Для того, что его посмотреть, Вам надо:

    По-моему, это было бы не сложнее, а куда проще и понятнее)
     
  11. Muratik

    Muratik Well-Known Member NinjaTrader

    Накачал видеокурсов по C диез (#).
    Надо научиться разговаривать по русский с программистами на NinjaTrader.:happy:
     
    Георгий нравится это.

Поделиться этой страницей