Главная » NinjaTrader 8 » Индикаторы » handlarVWAPi

handlarVWAPi

Общая информация

handlarVWAPi - индикатор для торговой платформы NinjaTrader 8, который отображает поверх основного графика цены две скользящие линии:

  • дневной VWAP
  • недельный VWAP

По умолчанию включено отображение и недельного и дневного VWAP. Показывать и скрывать скользящие VWAP можно выбирая нужный вариант в настройках индикатора:

Индикатор может подсвечивать линию VWAP красным или зеленым цветом в зависимости от того, выше или ниже относительно текущей цены она сейчас находится. Данную опцию тоже можно выбирать в настройках:

Индикатор может извещать звуковым алертом, когда цена подходит к линии VWAP. В поставке с индикатором идет базовый набор звуковых файлов *.wav для наиболее популярных среди трейдеров фьючерсов CME для торговли:

Алгоритм следующий: если цена подошла снизу к уровню VWAP, то мы можем рассматривать ретест в шорт, если цена подошла сверху к VWAP, мы можем рассматривать ретест в лонг. Соответственно, в первом случае проиграется звуковой файл <instrument>-short.wav, а во втором <instrument>-long.wav. Более подробно о том, как и где можно такие звуковые файлы создавать самому, можно почитать в этой статье

Управлять звуковыми алертами можно из настроек, выставляя или убирая чекбокс 03 Play alert when price will be near by VWAP?

Тот момент, когда будет считаться, что цена подошла к уровню, задается самим трейдером с помощью совокупности трех настроек:

  • 04 Min tick count from price to VWAP for alert - указывается минимальное количество тиков, при подходе на которое к цене будет считаться, что подход есть, например, цена VWAP на текущем баре 1258,0, в настройках задано 2. Это означает, что как только цена подойдет на уровень 1258,2 сверху или 1257,8 снизу - сработает алерт. Чем меньше это значение, тем более избирательно будут показываться подходы к уровню и тем меньше сигналов будет.
  • 05 Min bars count when price is above or below VWAP - указывается минимальное количество баров, в течении которых цена не касалась уровня VWAP и не подходила к уровню ближе, чем задано в настройке 04 Min tick count from price to VWAP for alert. Чем больше значение для этой настройки будет указывать трейдер, тем меньше сигналов будет появляться.
  • 06 Min distance in ticks before touch the VWAP - указывается минимальное расстояние в тиках от уровня VWAP, на которое должна отойти цена от уровня VWAP цена, чтобы дальше, при подходе к уровню защитался подход и сработал алерт. Чем большее значение будет указывать трейдер в этой настройке, тем меньше сигналов будет появляться.

На примерах покажу, как в зависимости от разных настроек будут появляться алерты при подходе к уровню:

1. Дя поиска приближений цены к VWAP заданы следующие параметры:

  • Минимальное расстояние до VWAP = 1 тик
  • Минимальное количество баров, на протяжении которых цена не приближалась к VWAP = 33
  • Минимальное количество тик, на которое цена должна отойти от VWAP перед приближением к VWAP = 5

В результате, по заданным параметрам на графике отмечены места приближения цены к VWAP (на истории), в реалтайме вместе с появлением неперерисовывающейся стрелки будет проигран и соответствующий звуковой файл, что удобно, т.к. трейдеру нет необходимости быть постоянно у монитора, а подходить к торговому терминалу лишь тогда, когда нужно принять решение о выставлении приказа на покупку или продажу.

Цена последние 33 бара не приближалась к VWAP, максимально она поднялась над VWAP на расстояние 7 тик, что больше заданного значения 5, ну и при приближении цены на 1 тик до VWAP, сработал алерт, нарисовалась стрелка. Давайте попробуем поменять настройки, чтобы посмотреть, что будет происходить с данным сигналом на касание, например, увеличим значение минимального количества баров с 33 до 34:

Видим, что уже осталась лишь одна стрелка, которая в первом случае настроек была второй, т.к. бар, на котором появлялась первая стрелка стал тем самым 34-м. Дальше если увеличить этот параметр до 35, то это касание вообще пропадет, т.к. на 35-м баре слева было пересечение VWAP, условие поиска не выполнится.

Также условие поиска не выполнится, если поставить значение минимального количества тиков, на которое должна цена отойти вверх или вниз от VWAP перед приближением. В рассматриваемой ситуации это значение стоит 5, по факту цена отошла максимум на 7 тик. Для приближения  цены сверху количество тиков считается по самому максимальному лою, а для приближения снизу - по самому минимальному хаю. Так вот если это значение поставить, например, хотя бы 8, то условие не выполнится, так цена отходила максимум на 7 тик и приближение к VWAP также не покажется:

Таким образом, для каждого инструмента, для каждого таймфрейма трейдер для себя подбирает оптимальный на его взгляд набор этих трех параметров и дальше уже получая уведомления о приближении принимает решение о входе в сделку по рынку или о выставлении лимитной заявки.

Ниже я приведу несколько скриншотов работы индикатора с разными настройками:

  1. Включен только дневной VWAP, включены цвета в зависимости от тренда:



  2. Включен и дневной VWAP и недельный, красный и зеленый цвета в зависимости от тренда включены только для недельного VWAP:



 

 В случае, если настройка, отвечающая за разукрашивание линии VWAP в разные цвета в зависимости от тренда отключена, цвет будет браться из настроек линии VWAP, где можно задать тип линии, ее цвет и толщину:

Последние две настройки цвета и типа линии применяются для того, чтобы индикатор "отдавал" информацию о том, выше или ниже уровня цены находится сейчас линия в более удобном виде для дальнейшего использования в своей стратегии (в терминах NinjaTrader под стратегией понимается торговый робот). На отображение на графике эти настройки никак не влияют, их можно изменять, можно нет - ничего не изменится и не сломается.

Работа с индикатором из стратегии

Для того, чтобы использовать сигналы индикатора в своей стратегии, например, вы пишете робота, который выставляет заявки по рынку на продажу, если цена коснулась VWAP снизу и на покупку, если цена коснулась VWAP сверху (придуманная для примера стратегия). В таком случае вам необходимо будет в секции описания переменных добавить такие строки кода:

1. Для работы с ценой, по которой строится каждая точка линии VWAP

private Series<double> dailyVWAP; 

2. Для работы с направлением линии. Поясню, для графика это вполне нормально, когда для визуального восприятия мы красим цену в красный или зеленый цвет, однако, чтобы получить эти данные в стратегии, проще сделать это не цветом а цифрами:

  • 1 - значит тренд вверх (линия на графике зеленая)
  • -1 - значит тренд вниз (линия на графике красная)

private Series<double> dailyVWAPTrend;

3. Дальше в функции OnStateChange() нужно добавить секцию, если такой еще нет if (State == State.Configure) и в ней прописать "связывание" объявленных выше переменных с данными индикатора VWAP: 

if (State == State.Configure){

dailyVWAP = handlarVWAPi(true,true,true,true,false,0,0,0,false).dVWAP;

dailyVWAPTrend = handlarVWAPi(true,true,true,true,false,0,0,0,false).dVWAPTrend;

}

4. В коде, обычно это делается в функции OnBarUpdate() прописывать логику работы с данными индикатора VWAP, например:

if ((dailyVWAP[1] > Low[1]) && (dailyVWAPTrend[1] == 1)) {

/* на человеческом это обозначает следующее: если цена Low прошлого бара была ниже цены VWAP на прошлом баре, а сам VWAP был на прошлом баре зеленого цвета (значение 1  для простоты объяснения роботу), то дальше делаем что-то, например, входим в сделку в лонг по рынку */

EnterLong();

}

Сигналы индикатора (приближение цены к уровню дневного VWAP) в чате Telegram

В качестве теста, расширенная версия индикатора имеет возможность слать сигналы в чат Telegram или конкретному пользователю Telegram. Функциона в тестировании, посмотреть можно в чате телеграм https://t.me/handlarVWAPSignals.