1
Видео


Торговые системы на основе осцилляторов

ВИКТОР ЛИХОВИДОВ

Осцилляторы — детекторы изменений движения цены. Они широко применяются в построении торговых систем. Такие системы ориентированы на рынки, часто меняющие направление движения, т.е. все они являются разворотными торговыми системами.

Основные принципы интерпретации осцилляторов в торговых решениях следующие:

  • пересечение линии осциллятора и его сигнальной линии (cглаженной или более медленной) дает сигнал на покупку или продажу в соответствии с направлением этого пересечения (сигналы этого типа на рисунке 1 помечены как А);
  • значения осциллятора в области перекупленности/перепроданности (ПП) предсказывают возможный разворот рынка, поэтому выход осциллятора из области ПП (пересечение границы области) является сигналом к открытию позиции в соответствующем направлении (на рисунке 1 сигналы типа В);
  • некоторым осцилляторам свойственно формировать значимые дивергенции с ценовым графиком (сигналы типа С); такие дивергенции могут быть хорошими сигналами для открытия позиций;
  • линии трендов на многих осцилляторах также являются надежными ориентирами для открытия позиций, прорыв восходящей/нисходящей линии тренда на графике осциллятора есть сигнал на покупку или продажу (сигналы типа D).

Рисунок 1 Основные типы торговых сигналов осцилляторов (сверху вниз): rsi, macd, stochastic

На рисунке 1 (часовой график евро, август 2005 г.) показаны примеры таких сигналов, получаемых при пересечении линии осциллятора (красная линия) и сигнальной линии (синяя), получающейся в результате сглаживания осциллятора. Например, синяя линия на нижнем графике есть простая скользящая средняя с параметром 5 от красной линии Stochastic (8,5). Другой подход основан на использовании в качестве сигнальной линии того же самого осциллятора, но с большими значениями параметров (рис. 2, часовой график британского фунта, 25 октября 2005 г.).

Рисунок 2 Торговые сигналы быстрых и медленных осцилляторов

Линии тренда и дивергенции дают весьма наглядные и вполне надежные торговые сигналы. Однако по самой своей природе это скорее «человеческие», чем компьютерные ориентиры. Очень сложно формализовать дивергенцию так, чтобы ее можно было заложить в компьютерное решающее правило. Линия тренда также основана на субъективном восприятии трейдером поведения рынка. На одном и том же графике каждый трейдер может нарисовать свои линии, которые будут отличаться от линий другого трейдера. Поэтому в механических торговых системах чаще используются сигналы первых двух типов, которые легко и однозначно включаются в логику торговых решений.

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

Разумно составленная разворотная система покажет высокую эффективность на определенном типе рынков, но принесет убыток, когда поведение рынка существенно изменится. Сильный разброс результатов, получаемых на трендовых и нетрендовых рынках, является характерной чертой всех систем, построенных на осцилляторах. Поэтому, как правило, осцилляторы используют в сочетании с трендовыми индикаторами, которые работают фактически как фильтры. Если трендовый индикатор показывает наличие на рынке тренда, то система выполняет только те сигналы осциллятора, которые открывают позиции в направлении этого тренда.

Такова общая схема построения систем, использующих индикаторы типа RSI, MACD, Stochastic и другие. Ниже рассмотрены примеры построения подобных систем, а в конце статьи приведены тексты для пакета MetaStock.

Системы на основе RSI

Самый простой и понятный из осцилляторов — RSI. Он используется трейдерами разных рынков, в том числе и для построения механических торговых систем. Наиболее естественный способ принятия решений на основе RSI — открытие позиций при пересечении уровней перекупленности и перепроданности. Система RSI_os/ob (RSI с уровнями перекупленности и перепроданности, oversold/overbought levels) имеет три настраиваемых параметра: период RSI, уровень перекупленности и уровень перепроданности (oversoldlevel < overboughtlevel):

Enter long Cross RSI oversoldlevel снизу вверх

Enter short Cross RSI overboughtlevel сверху вниз

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

В системе (RSIos/ob_&2MAantitrend) две скользящие средние используются для обнаружения тренда, а открытие позиции происходит при пересечении индикатором RSI его уровней ПП, причем позиция открывается в направлении, противоположном присутствующему на рынке тренду. Система, таким образом, является антитрендовой, ориентированной на рынки, часто меняющие направление.

Действительно, если две достаточно длинные МА показывают, например, бычий тренд, то это означает, что рынок совершил существенный подъем и, скорее всего, этот подъем прекратится. Поэтому короткая позиция открывается в тот момент, когда RSI, находящийся в области перекупленности, разворачивается вниз и пересекает соответствующий уровень, подавая сигнал на продажу. Правила выхода из позиций могут быть различны. В данном случае позиции закрываются, если RSI либо скользящие средние показывают противоположный разворот.

Следующая система (2MARSIcross&Boll_AT) также является антитрендовой, но для открытия позиций в ней используется пересечение двух скользящих средних от RSI, а полосы Боллинджера указывают на состояние перекупленности/перепроданности рынка. Если короткая МА(RSI) пересекает длинную МА(RSI) снизу вверх, когда цена находится ниже нижней линии полосы Боллинджера, то открывается длинная позиция. Наоборот, когда короткая МА пересекает длинную МА сверху вниз и цена находится выше верхней линии полосы Боллинджера, то открывается короткая позиция:

Enter long Сross(MAshort, MАlong) AND close < BBandBot

Enter short Сross(MAlong, MAshort) AND close > BBandTop

Системы на основе осциллятора Stochastic

Как и в случае RSI, простейшей системой на основе стохастического осциллятора является Stochastic_os/ob. Она имеет четыре настраиваемых параметра: период осциллятора Stochastic (длина окна просмотра), параметр сглаживания осциллятора, уровень перекупленности и уровень перепроданности (oversoldlevel < overboughtlevel):

Enter long Cross Stochastic oversoldlevel снизу вверх

Enter short Cross Stochastic overboughtlevel сверху вниз

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

В системе Stochastic_os/ob&DMItrend позиции открываются так же, как и в предыдущей, при пересечении осциллятором Stochastic уровней ПП. Кроме того, позиция может быть открыта и при пересечении осциллятором Stochastic его сглаженной линии МА(Stochastic) — фактически это есть %D-линия осциллятора Stochastic — при условии, что в этот момент система направлений показывает тренд в направлении этого пересечения осциллятора и его сигнальной линии. В данном случае рынок считается трендовым, если ADX растет; направление тренда определяется расположением ±DI:

Enter long Cross (Stochastic, oversoldlevel) OR Cross (Stochastic, MA(Stochastic)) AND (+DI > -DI AND ADX > ADX[1])

Enter short Cross (overboughtlevel, Stochastic) OR Cross (MA(Stochastic), Stochastic) AND (+DI < -DI AND ADX > ADX[1])

Как обычно, здесь символом ADX[1] обозначено предыдущее значение индикатора ADX.

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

Рисунок 3 Правые (цветные стрелки) и левые (серые) пересечения быстрой и медленной линий осциллятора stochastic

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

Гипотеза состоит в том, что правые пересечения производят лучшие сигналы, чем левые, поэтому в системе Stoch_RightCross позиции открываются только по правым пересечениям:

Enter long Cross(Stochastic,MA(Stochastic)) AND MA(Stochastic) [1]<MA(Stochastic)

Enter short Cross(MA(Stochastic),Stochastic) AND MA(Stochastic) [1]>MA(Stochastic)

Системы на основе MACD

Индикатор MACD чаще всего применяется в торговых системах как основа трендовых систем или как дополнительный указатель тренда в системах, использующих другие индикаторы. С другой стороны, о MACD часто рассуждают как об осцилляторе, формирующем состояния перекупленности и перепроданности. В качестве торговых сигналов представляют также интерес прорывы линий трендов на MACD. Это означает, что MACD имеет свойства одновременно трендового индикатора и осциллятора. Все зависит от диапазона параметров этого индикатора: при небольших величинах MACD работает как осциллятор, при больших — как указатель тренда.

Возможно использование в одной системе индикатора MACD в том и в другом качестве: короткий MACD будет определять момент открытия позиций (пересечением быстрой и медленной линий), а длинный — указывать направление тренда (взаимным расположением быстрой и медленной линий), позволяя отсортировать сигналы (система double_MACD):

Enter long Cross(MACDshort, MA(MACDshort)) AND MACDlong > MA (MACDlong)

Enter short Cross(MA(MACDshort), MACDshort) AND MACDlong < MA (MACDlong)

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

Тексты торговых систем с использованием осцилляторов

RSI_os/ob

Короткая позиция открывается при пересечении осциллятором RSI уровня перекупленности сверху вниз, длинная — при пересечении уровня перепроданности снизу вверх.

Enter Long Cross(RSI(opt1), opt2)

Enter Short Cross(opt3, RSI(opt1))

RSIos/ob_&2MAantitrend

Антитрендовая система, направление тренда определяется расположением двух МА, позиции открываются против тренда по выходу RSI из областей перекупленности/перепроданности.

Enter Long Cross(RSI(opt1), opt2) AND Mov(C, opt4, S) < Mov(Mov(C, opt4, S), opt5, S)

Exit Long Cross(opt3, RSI(opt1)) OR Cross(Mov (Mov(C, opt4, S), opt5, S), Mov(C, opt4, S))

Enter Short Cross(opt3, RSI(opt1)) AND Mov(C, opt4, S) > Mov(Mov(C, opt4, S), opt5, S)

Exit Short Cross(RSI(opt1), opt2) OR Cross( Mov(C, opt4, S), Mov(Mov(C, opt4, S), opt5, S))

2MARSIcross&Boll_AT

Антитрендовая система Stop&Revers с открытием позиций по пересечению двух скользящих средних от RSI. Полосы Боллинджера используются для определения состояний перекупленности/перепроданности рынка.

Enter Long Cross(Mov(RSI(opt1), opt2,S), Mov(Mov (RSI(opt1), opt2,S) , opt3,S)) AND C < BBandBot(C, opt4, S, opt5)

Enter Short Cross(Mov(Mov(RSI(opt1), opt2, S), opt3, S), Mov(RSI(opt1), opt2,S)) AND C > BBandTop(C, opt4, S, opt5)

Stochastic_os/ob

Продажа — при пересечении осциллятором Stochastic уровня перекупленности сверху вниз, покупка — при пересечении уровня перепроданности снизу вверх.

Enter Long Cross(Stoch(opt1,opt2), opt3)

Enter Short Cross(opt4,Stoch(opt1,opt2))

Stochastic_os/ob&DMItrend

Открытие позиций при пересечении осциллятором Stochastic уровней перекупленности/перепроданности, а также при пресечении быстрой и медленной линий Stochastic в направлении, указываемом системой направлений.

Enter Long Cross(Stoch(opt1,opt2),opt3) OR Cross(Stoch(opt1,opt2),Mov(Stoch(opt1, opt2), opt5,S)) AND PDI(opt6) > MDI(opt6) AND ADX(opt6)> Ref(ADX(opt6), -1)

Enter Short Cross(opt4,Stoch(opt1,opt2))OR Cross(Mov(Stoch(opt1,opt2), opt5,S), Stoch(opt1,opt2)) AND PDI(opt6) < MDI(opt6) AND ADX(opt6)> Ref(ADX(opt6), -1)

Stoch_RightCross

Открытие позиций по правым пересечениям быстрой и медленной линий осциллятора Stochastic.

Enter Long Cross(Stoch(opt1,opt2),Mov(Stoch(opt1, opt2), opt3,S)) AND Ref(Mov(Stoch(opt1,opt2),opt3,S),-1) < Mov(Stoch(opt1,opt2), opt3,S)

Enter Short Cross(Mov(Stoch(opt1,opt2), opt3,S), Stoch(opt1,opt2)) AND Ref(Mov(Stoch(opt1,opt2),opt3,S),-1) > Mov(Stoch(opt1,opt2), opt3,S)

Double_MACD

Enter Long Cross(Mov(C,opt1,S) — Mov(C,opt2, S), Mov(Mov(C,opt1,S) — Mov(C,opt2, S), opt3,S)) AND Mov(C,opt4,S) — Mov(C,opt5, S) > Mov(Mov(C,opt4,S) — Mov(C,opt5, S), opt6, S)

Enter Short Cross(Mov(Mov(C,opt1,S) — Mov(C,opt2, S),opt3,S), Mov(C,opt1,S) — Mov(C,opt2, S)) AND Mov(C,opt4,S) — Mov(C,opt5, S) < Mov(Mov(C,opt4,S) — Mov(C,opt5, S), opt6, S)

Литература

Лиховидов В. Система направлений: применениеиндикатора // Валютный спекулянт, 2004, № 3,с. 52-57.

Лиховидов В. Системы на основе скользящих средних // Валютный спекулянт, 2004, № 6, c. 34-39.

Добавить комментарий

Ваше имя:
Заголовок:
Ваши комментарии:
Введите символы, изображенные на картинке:

Реклама

Новости партнеров

Реклама