Главная » NinjaTrader 8 » Уроки » Пишем свой индикатор для NinjaTrader 8. Часть 1

Пишем свой индикатор для NinjaTrader 8. Часть 1

Всем доброго времени суток!

Выбирая индикатор, написание которого хотелось бы описать на своем сайте, я исходил из нескольких критериев:

  • код должен быть не сильно сложным для начинающих
  • логика индикатора не должна быть сложной
  • должна быть минимальная практическая польза

В итоге мною был выбран осциллятор Билла Вильямся, я не нашел в интернете бесплатного осциллятора для восьмой нинзи. Или я плохо искал или мне лень было более тщательно искать, но в итоге я набрел лишь на один сайт, где продают такой индикатор для 8-ки за 97 долларов. Лень - двигатель прогресса. Лень искать - пиши сам.

Осциллятор Билла Вильямся в классическом виде это технический индикатор, обычная скользящая средняя за 34 периода, которая строится по средним точкам баров (High+Low)/2 путем вычитания среднего значения (High+Low)/2 скользящей средней за 5 периодов. В моем случае я добавлю немного гибкости в настройки и период осциллятора будет настраиваться, т.е. можно будет задать любое значение, отличное от стандартного значения в 34 периода.

Ну что ж, с чего обычно начинается написание любого индикатора для NinjaTrader 8 лично у меня? Правильно, с создания пустышки, заглушки, называйте это как угодно - сначала нужно создать каркас будущего индикатора, где уже основные вещи будут прописаны автоматически. 

Чтобы создать такой каркас нашего будущего индикатора, нужно в NinjaTrader 8 выбрать пункт меню New > NinjaScript Editor

В открывшемя окне редактора кода нужно в правой части NinjaScript Explorer дважды кликнуть мышью по разделу Indicators

В результате проделанного вы увидите названия всех индикаторов, которые у вас установлены. Кликая один раз мышью по названию индикатора можно открыть исходный код интересующего индикатора. Пока что нам это не нужно. В дальнейшем, чтобы посмотреть, как написан тот или иной кусок кода, можно и я бы даже сказал, нужно открывать и изучать код индикаторов, которые идут с NinjaTrader 8 "из коробки". Пока что нужно приступить к тому, собственно гововоря, для чего вы и читаете этот сайт.

Итак, для запуска мастера создания нового индикатора нам нужно вызвать контекстное меню раздела Indicators, для чего нужно просто кликнуть правой клавишей мыши по названию Indicators, и дальше в открывшемся меню выбрать пункт New Indicator

В результате проделанного откроется мастер создания нового индикатора, который покажет друг за другом несколько экранов с разными параметрами и нформцией (экраны можно будет переключать нажимая на кнопки < Back и Next > в нижней части мастера). На каждом из экранов нужно будет вводить кое-какие параметры или настройки для нового индикатора или пропускать окно, если ничего из предложенного не нужно настраивать. Например, на одном из экраном будет предложено ввести дополнительные датасеты, но если мой индикатор использует только данные рабочего таймфрейма, т.е. того таймфрейма, который установлен на грфике, на котором будет устанавливаться индикатор, то мне нет нобходимости добавлять на том экране ничего и в этом случае такой экран просто пропустим, нажав кнопку Next >

Первый экран мастера создания нового индикатора. Приветствие.

Вообще, для того, чтобы создать пустой индикатор, достаточно уже на первом экране мастера нажать кнопку Generate, однако, индикатор в таком случае появится с названием MyCustomIndicator, его потом переименовывать придется, а зачем после делать что-то, что можно сделать с помощью мастера на этапе настройки? Правильно, незачем. Поэтому на первом экране мастера создания нового индикатора жмем кнопку Next >

Второй экран мастера создания индикатора. Основные настройки.

Второй экран предоставляет возможность изменить названи индикатора со стандартного MyCustomIndicator (или MyCustomIndicator1  MyCustomIndicator2, если вдруг уже были созданы пустые индикаторы путем нажания кнопки Generate на первом экране мастера).

Итак, в поле Name пишем латинскими буквами желаемое название индикатора, а в поле Description - краткое описание, что этот индикатор будет делать.

Хочу немного уточнить по поводу выбора имени для индикатора. Хорошим тоном считается писать название индикатора, начиная с названия вашей компании или вашего имени, после чего уже собственно название индикатора. Делается это для того, чтобы в случае чего избежать конфликта имен, например, заходите вы создать свой граальный индикатор скользящей средней, например. Но имена EMA, SMA  уже заняты, поэтому называя свой индикатор handlarEMA или handlarSMA, можно быть уверенным что даже кто-то еще захочет написать свою скользящую среднюю, то никакого конфликта имен не случится.

У меня в итоге второй экран мастера настроек выглядит так

Кнопку Generate можно назать на любом из экраном и обычно, я на втором экране уже это и делаю, но я покажу остальние экраны и покажу, на котором из них можно будет настроить еще что-то полезное, а именно цвета линий, которыми будет рисовать индикатор.

На этом первая часть завершена, расходимся, но не надолго. Дальше будет интереснее!