Индикаторы тренда и торговые системы
|

Индикаторы тренда и торговые системы

Индикаторы тренда и торговые системыИндикаторы, определяющие направление тренда, достаточно распространены в системах технического анализа. Их можно использовать в разных рынках: если при трендовом все и так ясно, при «боковике» иногда очень сложно определить настоящую и будущую тенденции рынка. Но самое рациональное применение трендовых индикаторов – для построения и оптимизации механических торговых систем.

Aroon определяет вход

Индикаторами тренда принято называть довольно обширную группу инструментов компьютерного технического анализа. Они определяют направление и силу тренда. Простейший индикатор из этой группы – скользящие средние.

Но есть и более сложные инструменты, представляющие собой готовые торговые системы. Они могут использоваться как в качестве фильтров уже существующих механических торговых систем, так и для определения точек входа и выхода. Например, индикатор Aroon. Можно сказать, что он несколько напоминает ADX, по крайней мере, визуально. В действительности же стратегии торговли, построенные на его основе, более разнообразны. Индикатор представляет собой две линии: сплошную (Aroon Up) и пунктирную (Aroon Down). Существуют два способа торговли по индикатору: на пересечении линий (длинная позиция открывается, если Aroon Up сверху; короткая – если сверху Aroon Down) и на дивергенции линий (длинная позиция открывается, если Aroon Up > 80, а Aroon Down < 30).

В первом случае код системы для MetaStock будет таким:

Enter Long:
Cross(AroonDown(opt1), AroonUp (opt2 ) )
Enter Short:
Cross(AroonUp(opt2), AroonDown (opt1 ) )

Opt1 и opt2 – это значения периодов верхней и нижней линий. При тестировании системы на часовом графике евро был получен среднемесячный результат 332 пункта при значениях opt1 = 2 и opt2 = 28. Результат неплохой, но система имеет неустойчивую кривую доходности со значительными просадками и слишком большое количество сделок (рис. 1).

система имеет неустойчивую кривую доходности со значительными просадками и слишком большое количество сделок

Во втором случае код системы для MetaStock будет выглядеть так:

Enter Long:
AroonUp(opt1) > 80 AND AroonDown (opt2) < 20
Enter Short:
AroonDown(opt2) > 80 AND AroonUp (opt1) < 20

Протестировав систему на том же графике, получаем среднемесячный результат 167 пунктов. Если же упростить систему и придать ей такой вид:

Enter Long:
AroonUp(opt1) > 80
Enter Short:
AroonDown(opt2) > 80

получаем результат 278 пунктов в месяц.

Возможности фильтрации

Но обычно индикатор Aroon используется не для определения сигналов входа или выхода, а для их фильтрации. В этом случае «диагноз» трендового рынка ставится, если одна из линий находится выше отметки 80. Соответственно, нахождение верхней линии выше 80 свидетельствует о бычьем тренде, тогда как нахождение нижней линии выше этой отметки – признак медвежьего тренда.

В качестве исходной торговой системы, которую предстоит оптимизировать, выберем какой-нибудь из осцилляторов, например RSI. В комплект программы MetaStock входит стандартная торговая система от Equis, открывающая длинные позиции, если RSI поднимается выше 30, и короткие позиции, когда RSI опускается ниже 70:

Enter Long
Cross( RSI(opt1), 30 )
Close Long
Cross( 70, RSI(opt1))
Enter Short
Cross( 70, RSI(opt1))
Close Short
Cross( RSI(opt1), 30 )

Opt1 – это период индикатора. На дневном графике евро данная торговая система дает отрицательный результат без оптимизации. Наименьший проигрыш наблюдался при значении переменной 6. С учетом этой цифры и оптимизации системы с помощью фильтра код системы будет выглядеть так:

Enter Long
Cross( RSI(6), 30 ) AND AroonUp (opt1) > 70
Enter Short
Cross( 70, RSI(6)) AND AroonDown (opt2) > 70

Выходы пока трогать не будем. Те же, что рекомендует нам компания Equis, можно упразднить за ненадобностью. После такой модернизации результат составляет уже 156 пунктов в месяц. На 8 прибыльных сделок – лишь одна убыточная. Система действует по принципу stop&reverse (рис. 2), можно ограничить ее стопами по волатильности.

Система действует по принципу stop&reverse

Система на основе Ichimoku Kinko Hyo

Отличие этой торговой системы от предыдущей состоит, в первую очередь, в том, что индикатор, на основе которого она построена, позволяет ограничивать убытки стопами и предусматривает выходы. Система на основе Ichimoku Kinko Hyo является классической трендовой системой, позволяющей торговать на откатах:

Enter Long:
TenkanSen(opt1 ) >= KijunSen(opt2 )
Enter Short:
TenkanSen(opt1 ) <= KijunSen(opt2 )

Смысл этой интерпретации индикатора понятен всем трейдерам, имеющим представление о детище японского аналитика Ишимоку. Сигналом к открытию позиций служит пересечение линий Тенкан-Сен и Кидзюн-Сен. Но, в отличие от простых систем, основанных на пересечении скользящих средних, позиции могут открываться и в те периоды, когда линии совпадают, а это случается часто.

график прибыльности торговой системы для акций РАО ЕЭС 2-го выпуска

На рисунке 3 показан график прибыльности торговой системы для акций РАО ЕЭС 2-го выпуска. Из-за частоты сигналов система более всего подходит для интрадэй-трейдеров. Недостатком является низкая «точность попадания».

Нестандартные решения

Как уже говорилось, пересечение скользящих средних с разными периодами дает сигналы на покупку и продажу. Если обратить внимание на пространство между скользящими средними, можно заметить, что, когда цена попадает в это пространство, возникает боковой тренд. Это напоминает «облако» в индикаторе Ichimoku Kinko Hyo. Если модернизировать пересечение скользящих средних, можно исключить из условий входа в рынок ситуацию, при которой цена находится между ними. В таком случае длинная позиция будет открываться, если:

1) Скользящая средняя с меньшим периодом находится выше скользящей средней с большим периодом.
2) Цена находится выше верхней скользящей средней (с меньшим периодом).

Короткая позиция будет открываться, если:

1) Скользящая средняя с меньшим периодом находится ниже скользящей средней с большим периодом.
2) Цена находится ниже нижней скользящей средней (с меньшим периодом).

Код этой простой системы для MetaStock будет выглядеть так:

Enter Long:
C > Mov(C,opt1,E) AND Mov (C,opt1,E) > Mov(C,opt2,E) AND opt1 < opt2
Enter Short:
C < Mov(C,opt1,E) AND Mov (C,opt1,E) < Mov(C,opt2,E) AND opt1 < opt2

Систему можно использовать и в качестве фильтра сигналов осцилляторов, и как самостоятельную. Результаты тестирования на часовых графиках акций РАО ЕЭС 2-го выпуска при значениях opt1 = 15, opt2 = 97 составили 3418 пунктов в месяц, максимальная просадка 183 пункта, индекс прибыльности 75% (рис. 4).

Результаты тестирования на часовых графиках акций РАО ЕЭС 2-го выпуска при значениях opt1 = 15, opt2 = 97 составили 3418 пунктов в месяц, максимальная просадка 183 пункта, индекс прибыльности 75%

Намного сложнее системы на основе адаптивных скользящих средних. В Интернете существует огромное множество сайтов, на которых представлены различные варианты способов построения этих индикаторов в MetaStock и TradeStation. У всех у них один смысл: скользящая средняя изменяется быстро в случае трендового рынка и «тормозит», фильтруя сигналы, когда на рынке затишье. Простейший способ торговли – следовать за направлением скользящей средней, однако он плохо поддается интерпретации с целью построения торговых систем и выдает много ложных сигналов. Можно попробовать традиционный способ торговли – пересечение скользящих средних, на сей раз адаптивных. Вот код системы для MetaStock, оптимизированный под часовые графики евро:

Enter Long:
Direction1 := CLOSE – Ref(CLOSE, -12);
Volatility1 := Sum(Abs(ROC (CLOSE, 1,$)),12);
ER1 := Abs(Direction1/Volatility1);
FastSC := 2/(2 + 1);
SlowSC := 2/(30 + 1);
SSC1 := ER1 * (FastSC – SlowSC) + SlowSC;
Constant1 := Pwr(SSC1,2);
AMA1 := If(Cum(1) = 12 +1, Ref (CLOSE,-1) + constant1 * (CLOSE – Ref(CLOSE,-1)),PREV + constant1 * (CLOSE – PREV));
Direction2 := CLOSE – Ref(CLOSE, -17);
Volatility2 := Sum(Abs(ROC (CLOSE, 1,$)),17);
ER2 := Abs(Direction2/Volatility2);
SSC2 := ER2 * (FastSC – SlowSC) + SlowSC;
Constant2 := Pwr(SSC2,2);
AMA2 := If(Cum(1) = 17 +1, Ref (CLOSE,-1) + constant1 * (CLOSE – Ref(CLOSE,-1)),PREV + constant2 * (CLOSE – PREV));
AMA1 > AMA2
Enter Short:
Direction1 := CLOSE – Ref(CLOSE, -12);
Volatility1 := Sum(Abs(ROC(CLOSE, 1,$)),12);
ER1 := Abs(Direction1/Volatility1);
FastSC := 2/(2 + 1);
SlowSC := 2/(30 + 1);
SSC1 := ER1 * (FastSC – SlowSC) + SlowSC;
Constant1 := Pwr(SSC1,2);
AMA1 := If(Cum(1) = 12 +1, Ref (CLOSE,-1) + constant1 * (CLOSE – Ref(CLOSE,-1)),PREV + constant1 * (CLOSE – PREV));
Direction2 := CLOSE – Ref(CLOSE, -17);
Volatility2 := Sum(Abs(ROC(CLOSE, 1,$)),17);
ER2 := Abs(Direction2/Volatility2);
SSC2 := ER2 * (FastSC – SlowSC) + SlowSC;
Constant2 := Pwr(SSC2,2);
AMA2 := If(Cum(1) = 17 +1, Ref (CLOSE,-1) + constant1 * (CLOSE – Ref(CLOSE,-1)),PREV + constant2 * (CLOSE – PREV));
AMA1 < AMA2

Результат работы такой системы по часовым графикам евро составляет в среднем 336 пунктов в месяц (рис. 5).

Результат работы такой системы по часовым графикам евро составляет в среднем 336 пунктов в месяц

Индикатор MESA Sine Wave

Индикатор MESA Sine Wave разработал американский аналитик Джон Эйлерс в 1996 г. и назвал его «трендовым осциллятором». В основу заложена концепция цикличности экономических процессов: индикатор реагирует на ее нарушения. Действия индикатора в трендовом рынке повторяют адаптивные скользящие средние с точностью до наоборот: при четком направленном движении обе линии индикатора, MESA Lead Sine и MESA Sine Wave, движутся параллельно друг другу и показывают своим положением друг относительно друга направление тренда; при боковом же тренде индикатор Mesa Sine Wave быстро реагирует на свинговые движения рынка.

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

Простейший способ автоматизации торговли с помощью индикатора MESA Sine Wave – построить механическую торговую систему, выдающую сигналы о покупке и продаже на пересечении двух линий. Соответственно, позиции будут закрываться по пересечению тех же линий с другими периодами в обратную сторону. Вот код системы для MetaStock:

Enter Long:
MESALeadSine(opt1)<MESASineWave (opt2)
Close Long:
MESALeadSine(opt3)>MESASineWave (opt4)
Enter Short:
MESALeadSine(opt1)>MESASineWave (opt2)
Close Short:
MESALeadSine(opt3)<MESASineWave (opt4)

В результате оптимизации для 60-минутного графика акций РАО ЕЭС 2-го выпуска наилучшими значениями переменных оказались:

opt1 = 6, opt2 = 13, opt3 = 20, opt4 = 14. При этих значениях система приносит среднемесячную прибыль 552 пункта (рис. 6).

система приносит среднемесячную прибыль 552 пункта

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

В рекомендациях многих аналитиков часто можно встретить старую, как сам технический анализ, заповедь: «Торгуйте тренды». И трейдеры пытаются следовать этому совету, зачастую видя тренд в краткосрочном откате.

Что касается фондового рынка, то беда трендовых систем – гэпы, разница между ценой последней сделки предыдущего дня и первой ценой последующего.

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

Сентябрь 2003

Роман Мамчиц