Ведение:
Relative Vigor Index (RVI) был создан одним из самых известных авторов технического анализа - Джоном Эйлерсом (John Ehlers), который также создал такие сверхпопулярные индикаторы и программные продукты как MESA и EPOCH. Считается, что этот автор – один из лучших экспертов в области использования циклов в техническом анализе рынка.
Индикатор был описан в журнале Stocks and Commodities в январе 2002 года, в одноименной статье Relative Vigor Index.
Идея, стоящая за Relative Vigor Index (RVI) такая же, как и у большинства остальных осцилляторов (Stochastic, Momentum и т.д.): цены обычно закрываются выше точки открытия на растущих рынках и закрываются ниже точки открытия на падающих рынках.
Формула Relative Vigor Index (Индекса Относительной Бодрости).
RVI рассчитывается практически так же, как и осциллятор Стохастик (Stochastic) , однако индекс бодрости сравнивает уровень закрытия по отношению к уровню открытия, а не к минимальной цене, как это делает Stochastic осциллятор.
Таким образом, индикатор рассчитывается как величина, равная фактическому изменению цены за период, нормированная на максимальный диапазон изменения цен этого периода, например, дня или часа.
Где:
Open — цена открытия свечи;
High — максимальная цена свечи;
Low — минимальная цена свечи;
Close — цена закрытия свечи;
Обычно для использования RVI сглаживают и отображают на графике две линии.
1. Первая строится как RVI, но вместо разницы цен Close и Open и разницы High и Low используются суммы 4-периодных симметрично взвешенных скользящих средних.
Таким образом, находится 4-периодная симметрично взвешенная скользящая средняя от числителя:
MovAverage = (Close-Open)+2x(Close-1 – Open-1) +2x(Close-2 – Open-2)+ (Close-3 – Open-3)
Где:
Close-1, Close-2, Close-3 – цены закрытия 1, 2 и 3 периода назад, а Close – текущая цена закрытия
Open-1, Open -2, Open -3 – цены открытия 1, 2 и 3 периода назад, а Open – текущая цена закрытия
Затем находится 4-периодная симметрично взвешенная скользящая средняя от знаменателя:
RangeAverage = (High-Low)+2 x (High -1 – Low -1) +2 x (High -2 – Low -2)+ (High -3 – Low -3)
Где:
High -1, High -2, High -3 – максимальные цены 1, 2 и 3 периода назад, а High – максимальная цена последнего бара
Low -1, Low -2, Low -3 – минимальные цены 1, 2 и 3 периода назад, а Low – минимальная цена последнего бара.
В конце находится отношение сумм этих скользящих средних за 4 последних периода, например, часа или дня.
2. Вторая линия является 4-периодным симметрично взвешенным скользящим средним от первой:
RVIsignal = (RVIaverage + 2 x RVIaverage -1+ 2 x RVIaverage -2+ RVIaverage -3)/6
Пример:
Описание Relative Vigor Index:
Индикатор используется в техническом анализе и измеряет уверенность текущего ценового движения и вероятность того, что оно продолжится.
Считается, что каждая цена отражает равновесие оценки актива среди массы участников рынка на определенный момент торговли. RVI сравнивает расположение цены закрытия актива по отношению к диапазону его цен, а результат сглаживает путем вычисления скользящей средней от его значения. Скользящая средняя, в свою очередь, отражает среднее значение этого равновесия за определенный выбранный период. В данном случае в качестве сигнальной линии выступает 4-периодная скользящая средняя от значения Relative Vigor Index, которая используется для того, чтобы снизить возможную неопределенность.
Таким образом, быстрая линия RVI (синяя) представляет собой энергию рыночного движения, которая определяется тем, что цены закрываются выше, чем открывались и отражает равновесие рыночной толпы за короткий период времени. Более медленная красная сигнальная линия отражает равновесие рыночной толпы за более длинный период.
Сочетание двух линий дает типичные осцилляторные сигналы – пересечения.
Когда быстрая линия RVI (синяя) оказывается выше медленной сигнальной линии (красной), она показывает, что рынком сейчас управляют покупатели и лучше быть в позиции на покупку. Когда быстрая линия RVI (синяя) падает ниже медленной красной сигнальной линии, она показывает, что на рынке доминируют продавцы и лучше иметь только короткие позиции.
В отличие от большинства других осцилляторов RVI не показывает никаких зон перекупленности или перепроданности. Перекупленность или перепроданность тоже желательно учитывать, но по другим осцилляторам.
Использование Relative Vigor Index
Осциллятор в основном находится в одной фазе с циклическим компонентом рыночных цен, поэтому дает хорошие сигналы в периоды торгового диапазона.
Прямые сигналы.
Пересечения меду линией RVI и ее сигнальной линией определяют чередование рыночных циклов. Поэтому торговля в направлении пересечения дает возможность двигаться вместе с основным рыночным движением.
Подтверждающие сигналы.
Считается что значение RVI растет, когда восходящий тренд набирает скорость, поскольку в этих условиях цена закрытия ценной бумаги имеет тенденцию быть наверху внутрипериодного торгового диапазона (high-low), в то время как цена открытия будет ближе к минимуму. Направленный вниз график RVI наоборот подтверждает, что на рынке в данон случае действует нисходящий тренд.
Недостатки:
Они общие для всех осцилляторов: RVI отлично работает внутри торгового диапазона, но подает много ложных сигналов на продажу на восходящем тренде и сигналов на покупку на нисходящем тренде, поэтому его часто используют с каким-либо индикатором наличия тренда
Код индикатора для TradeSation, Dealing Desk и Multicharts
Код содержит обобщенную функцию симметрично взвешенной скользящей средней, которую вы можете использовать в других индикаторах. Вышеуказанные программы уже содержат симметрично взвешенную скользящую среднюю (SWMA), также известную как «треугольная скользящая средняя) в функции TriAverage, но функция, которая требуется для расчета RVI нужна в более обобщенном виде, ее код ниже (TriAverage_gen).
Type : Function, Name : TriAverage_gen
inputs:Price(numericseries), Length(numericsimple);
variables: Length1(0), Length2(0);
Length1=Floor((Length+1)*.5);
Length2=Ceiling((Length+1)*.5);
TriAverage_gen=Average(Average(Price, Length1),Length2);
Type : Indicator, Name: Relative_Vigor_Index
inputs: Length(10);
variables: Change(0), MyRange(0), Num(0), Den(0), RVI(0), RVISig(0);
Change=Close-Open;
MyRange=High-Low;
Value1=TriAverage_gen(Change,4);
Value2=TriAverage_gen(MyRange,4) ;
Num=Summation(Value1,Length);
Den=Summation(Value2,Length);
if Den>0 then
RVI = Num/Den;
RVISig = TriAverage_gen(RVI,4);
Plot1(RVI,"RVI");
Plot2(RVISig,"Sig");