Торговые системы на основе ценовых диапазонов
Торговые системы, использующие ценовые диапазоны, широко применяются трейдерами потому, что они просты, наглядны и психологически естественны. Статистика подтверждает их высокую эффективность на многих рынках. В литературных источниках можно найти очень много подходов, основанных на различных конструкциях ценовых диапазонов.
Виды ценовых диапазонов
Цель данной статьи - систематизировать методы, используемые при построении торговых систем на основе ценовых диапазонов (bands), и представить обзор компьютерных систем, который мог бы помочь трейдеру при выборе торгового подхода.
Идея всех таких подходов состоит в непосредственном использовании свойств сильных линий на рыночных графиках. Как известно, если цена встретила сильную линию (линию консолидации), то возможны два сценария:
Эта линия будет пробита, после чего продолжится ход в направлении прорыва.
Цена не сможет пробить линию, произойдет разворот, и будет ход в обратном направлении. Торговля от сильных линий (открытие позиций либо при откате цены от линии, либо при ее прорыве) - это самый естественный образ рыночного поведения.
Неудивительно, что многие исследователи разрабатывали и анализировали методы торговли, превращающие эту простую идею в ту или иную систему. Для этого прежде всего необходимо определить точный смысл понятия линия консолидации, чтобы получить алгоритм автоматического построения таких линий на графиках. Многочисленные подходы, известные в литературе, различаются тем, как в них формализовано понятие сильной линии, а также тем, на какой из двух сценариев ориентированы правила открытия позиций.
Рассмотрим сначала первый вопрос: как строить линии консолидации. Для построения универсальной торговой системы необходимо иметь два типа линий - поддержки и сопротивления, которые будут служить ориентирами к открытию позиций.
Большинство диапазонов состоят из двух линий - нижней границы диапазона (lowerband) и верхней границы (upperband). По принципам построения линий, используемых в качестве границ, можно выделить три основных вида диапазонов:
сглаженная цена и границы на заданном расстоянии от нее (такого типа диапазоны обычно называют конвертами, envelopes);
сглаженная цена и границы на переменном расстоянии от нее, зависящем от волатильности рынка (диапазоны, bands);
границы диапазона в виде скользящих экстремумов (каналы, channels).
Самый простой вариант - это конверт (envelope), представляющий собой скользящую среднюю (MovingAverage, MA) и две копии этой МА, сдвинутые вверх и вниз от нее на заданное расстояние, являющееся параметром конверта (чаще всего это расстояние задается в виде процента от величины МА).
Например, границы, удаленные на 0.5% от 34-часовой скользящей средней, на рисунке 1 хорошо выполняют функции линий консолидации. Достаточная ширина канала позволяет открывать позиции как на прорыв этих границ, так и при откате от границ внутрь диапазона Диапазон переменной волатильности определяется прежде всего выбором меры волатильности. Некоторые из таких диапазонов содержат также параметр, регулирующий ширину. Среди наиболее известных - диапазоны Боллинджера (BollingerBands), у которых мерой волатильности является среднеквадратичное отклонение. Из других возможных подходов ниже рассмотрим каналы Кельтнера (CeltnerChannels) и STARCBands (в последнем случае используется средний истинный диапазон AverageTrueRange, входящий в состав системы направлений, DirectionalMovementSystem).
На рисунке 2 показан канал Кельтнера и несколько позиций, открытых на прорыв его границ. Средней линией такого канала является скользящая средняя от «типичной цены свечи» (high + low + close)/3, а границы отодвинуты от средней линии на величину усредненного диапазона свечи (high -low). Известные в литературе исследования этого типа диапазонов показали их эффективность на различных рынках. Границы канала Кельтнера при удачном подборе параметра усреднения являются существенными линиями консолидации.
Параметр ширины канала здесь отсутствует, поэтому расстояние между границами определяется естественной волатильностью рынка. В большинстве случаев ширина такого канала будет недостаточна для открытия позиций при откате цены от границы внутрь канала. Поэтому границы служат ориентирами для открытия позиций на прорыв канала, как показано на рисунке 2 .
Кроме того, при такой небольшой ширине канала противоположная его граница может использоваться для постановки защитного ордера стоп-лосс. Так, для длинной позиции 1 на рисунке 2 естественным ориентиром для установки защитного ордера является нижняя граница канала (прорыв этой границы будет означать возможность значительного хода рынка вниз), здесь и ставится стоп-ордер 1. Как показывает этот же рисунок, и средняя линия диапазона выполняет роль линии консолидации, поэтому вполне естественно использовать ее для закрытия позиции с прибылью (установки ордера stop-trade).
Так, длинная позиция 3, открытая на прорыв верхней границы канала (защитный стоп-ордер был установлен под нижней границей), принесла неплохую прибыль. Несколько наблюдавшихся откатов цены вниз даже не пробили верхнюю границу канала, поэтому не было оснований преждевременно закрывать эту удачную позицию.
Но откат, достигший средней линии, является уже серьезным сигналом, поскольку средняя линия здесь выполняет роль линии поддержки, и ее прорыв может означать начало медвежьего рынка (или, по крайней мере, окончание бычьего). Поэтому ниже средней линии канала естественно поставить Sell для закрытия позиции с прибылью (ордер Exit 3).
Следует отметить, что существуют и примеры систем, использующих не только верхнюю и нижнюю границы диапазона, а несколько пар таких линий.
При этом более далекие линии могут использоваться как ориентиры для установки защитных ордеров или фиксирования прибыли в позициях, открытых от внутренних линий, для переворота позиций и т.д. Подробно здесь подобные подходы не анализируются, поскольку логика торговых правил в них остается такой же, что была рассмотрена выше.
Торговые правила для ценовых диапазонов
Торговые правила рассматриваемых систем основываются либо на идее, что диапазон содержит основную долю движений рынка (следовательно, на очередной откат цены от границы внутрь диапазона надо реагировать открытием позиции), либо что начало тренда будет обозначено, когда цена пробьет границу (движение за пределы диапазона является отклонением от предыдущего ценового поведения, это отклонение может быть началом нового тренда, следовательно, самое время открывать позицию в направлении прорыва).
Возможен и такой вариант рассуждений: если цена вышла из диапазона, но вскоре возвращается в него, то это означает, что прорыв (тренд) не состоялся, следовательно, вероятен ход цены в обратную сторону - сигнал к открытию позиции при возврате цены внутрь диапазона.
Таким образом, типичными являются следующие торговые правила для систем на основе диапазонов.
1. В трендовом варианте: Торговля на выходе из диапазона - открытие позиции в направлении прорыва в момент пересечения границы; такое пересечение сигнализирует о возможном начале тренда, поэтому
Enter long Close above upper band
Enter short Close below lower band
Возможны различные варианты закрытия позиций. Например, выход из позиции и открытие противоположной, когда пересечена противоположная граница.
Такая система всегда находится в рынке: открытие новой позиции означает закрытие (переворот) предыдущей (Stop&Revers система). Возможен и простой выход из позиции, но не переворот, когда достигнута скользящая средняя (или иная средняя линия) между границами.
2. Вариант для нетрендовых рынков:
Торговля внутри диапазона, когда позиции открываются при откатах цены от границ диапазона. От верхней линии открываются короткие позиции, от нижней линии -длинные. Для позиции, открываемой при откате, противоположная граница диапазона часто может служить естественным ориентиром для фиксирования прибыли. Расстояние между границами диапазона должно быть достаточно большим, чтобы зафиксировать прибыль.
Критерием для выбора варианта (торговать ли на выход из диапазона или внутри него) может быть, например, какой-либо трендовый индикатор (ADX, MACD и др.).
3. Противотрендовый вариант:
Открытие позиции после выхода из диапазона, но в направлении, противоположном этому выходу (при условии, что границы диапазона в этот момент удалены друг от друга на достаточное расстояние). Так как диапазон содержит основную массу движения рынка, то на нетрендовом рынке выход из него является, скорее всего, сигналом скорого возврата, следовательно:
Enter long Close below lower band
Enter short Close above upper band
Вариант выхода из позиции -при достижении противоположной границы канала.
Далее будут рассмотрены некоторые подходы, использующие эти идеи торговли в ценовых диапазонах. Основные различия между подходами состоят в том, как понимаются в них границы диапазонов.
Перечисленные торговые правила сами по себе применимы в сочетании с границами любой конструкции. Выбор того или иного варианта определяется прежде всего динамикой рынка.
При прорыве границ открываются позиции в расчете на продолжение хода, что свойственно трендовым торговым системам. При откате цены от границ внутрь диапазона открываются позиции в системах, ориентированных на нетрендовые рынки, или в противотрендовых системах.
Но в значительной степени выбор правил торговли определяется и устройством самого диапазона. Рисунки 1 и 2 показывают два примера, различающихся логикой торговли, и подсказывают, что все диапазоны можно в этом отношении разделить на два типа: широкие диапазоны и узкие диапазоны.
Широкие диапазоны содержат основную часть движений цен (диапазон Боллинджера с параметром 2.0 содержит более 95% значений цены) между достаточно удаленными друг от друга границами.
Поэтому в них основной тактикой может быть торговля на откате цены от границ внутрь диапазона. Защитные ордера в этом случае естественно устанавливать за границей (несколько примеров отмечены отрезками на рисунке 1), а противоположная граница может служить ориентиром для фиксирования прибыли.
Дополнительные сигналы к открытию позиций возникают при прорыве цены за пределы диапазона. Если такой сигнал оказался неудачным, то при возврате цены внутрь диапазона позиция может быть закрыта (или даже перевернута).
Узкие диапазоны не оставляют места для торговли внутри, но на трендовых рынках они могут давать своевременные сигналы (прорыв изнутри диапазона) в начале существенных ходов. Расстановка ордеров закрытия позиций была рассмотрена выше на примере канала Кельтнера (стоп за противоположной границей диапазона, выход по достижении средней линии и т.д.).
В целом все упомянутые здесь правила открытия и закрытия позиций носят достаточно универсальный характер. Сама по себе логика торговли в диапазонах основана на том, что их границы являются сильными линиями, поэтому при прорыве или откате вблизи таких линий и открываются/закрываются позиции.
Это же относится и к методам постановки защитных ордеров: границы каналов и их средние линии могут служить для установки ордеров, ограничивающих убытки или защищающих прибыль.
Разумное сочетание различных видов границ и правил открытия/закрытия позиций делает торговые диапазоны весьма универсальным инструментом.
Торговые системы на основе конвертов
Ценовые диапазоны фиксированного размаха (конверты, envelopes) определяются двумя линиями:
upperband = (1 + w) MA(n) lowerband = (1 - w) MA(n), где w - параметр, определяющий ширину диапазона, n - параметр усреднения скользящей средней. Обычно в качестве МА(п) используется простая скользящая средняя от цены закрытия, хотя имеет смысл испытать и различные другие варианты (экспоненциальные, взвешенные и другие МА от цены закрытия (close), МА от средней цены (high+low+close)/3 и т.д.). Возможен и несимметричный конверт, у которого верхняя и нижняя линии сдвинуты на разные расстояния от средней.
Трендовый вариант торговли относительно такого диапазона дает Stop&Revers систему прорыва конверта ( Envelbreak ):
Enter long Cross (С, (1 + w) MA(n))
Exit long Cross ((1 - w) MA(n), C)
Enter short Cross ((1 - w) MA(n), Q
Exit short Cross (C, (1 + w) MA(n))
Здесь Cross (X,Y) обозначает условие пересечения линий X и Y снизу вверх: линия X пересекает линию Y снизу вверх, то есть Х[1] < Y[l], X > Y (X - текущее значение линии X, Х[1] - ее значение, взятое на предыдущей свече).
Противотрендовый вариант -Stop&Revers система возврата в конверт ( Envelcmtitrend ):
Enter long Cross ((1 - w) MA(n), Q
Exit long Cross (C, (1 + w) MA(n))
Enter short Cross (C, (1 + w) MA(n))
Exit short Cross ((1 - w) MA(n), Q
Система, названная T.Chande «Extraordinaryopportunitiessystem», представляет собой вариант системы прорыва конверта: позиции открываются, когда скользящая средняя цены пересекает границу конверта; подобные прорывы из состояния консолидации рынка часто бывают в начале длительных направленных ходов:
Enter long Cross (MA(m), (1 + w) MA(n))
Enter short Cross ((1 - w) MA(n), MA(m))
Параметр скользящего среднего m должен быть больше параметра конверта п.
Системы с диапазонами переменной волатильности
Это название объединяет большую группу различных подходов, основанных на идее открытия или закрытия позиций при прорыве диапазона текущей волатильности.
Известно, что перед началом существенного нового хода рынок имеет свойство проводить некоторое время в состоянии консолидации. При этом диапазон изменения цены может стабилизироваться или даже сузиться, а в момент начала хода произойдет выброс цены за пределы этого диапазона. Подобрав подходящую меру степени волатильности, можно получить хорошие торговые сигналы.
С другой стороны, при наличии открытой позиции граница диапазона волатильности (чей прорыв будет направлен против этой позиции) указывает тот уровень, при прорыве которого имеет смысл закрыть позицию, чтобы не потерять большую часть заработанной прибыли.
В отличие от конвертов, где ширина определяется как фиксированный процент от уровня средней линии, диапазоны переменной волатильности имеют ширину, изменяющуюся в зависимости от размаха колебаний цены. Возможные и часто применяемые меры волатильности - среднеквадратичный разброс (STDEV) и ATR - показатель волатильности, получаемый в рамках системы направлений.
Диапазоны Боллинджера широко применяются в техническом анализе в качестве трендовых индикаторов и как мера волатильности. Естественным образом на их основе строятся разнообразные торговые системы. В терминах пакета MetaStock:
upper band = BBandTop (close, n, S, D)
lower band = BBandBot (close, n, S, D),
где длина усреднения n и множитель D (deviations) - настраиваемые параметры системы.
Здесь могут быть использованы различные варианты торговых правил.
Следующая антитрендовая система основана на таком определении разворота: когда цена опустилась ниже нижней линии, а затем вернулась внутрь диапазона (close пересекла lowerband снизу вверх), открывается длинная позиция. Соответственно, при выходе выше upperband и последующем возврате открывается короткая позиция. Закрытие позиций происходит, когда цена пересекает противоположную границу канала ( BolBcmdreversal ):
Enter long Cross (С, lower band)
Exit long Cross (C, upper band)
Enter short Cross (upper band, C)
Exit short Cross 0ower band, C)
Stop&Revers система
BolBand&RSI - пример использования дополнительного индикатора (в данном случае RSI) для подтверждения сигналов BollingerBands. Длинная позиция открывается на выходе ниже диапазона, если RSI в это время показывает перепроданное состояние. Короткая позиция открывается на выходе выше диапазона, если RSI в это время показывает перекупленное состояние:
Enter long Cross 0ower band, С) AND RSI < oversoldlevel
Exit long Cross (upper band, C) AND RSI > overboughtlevel
Enter short Cross (C, upper band) AND RSI > overboughtlevel
Exit short Cross 0ower band, C) AND RSI < oversoldlevel
Из других конструкций, приводящих к диапазонам переменной во-латильности, имеет смысл испытать в торговле каналы Кельтнера и STARCBands. Для KeltnerChannels границы диапазона вычисляются согласно формулам:
middleline = MA((high + low + close)/3, m)
upper band = middle line + MA(hign - low, m)
lower band = middle line -MA(high - low, m)
MA(high - low, m) обозначает скользящую среднюю с длиной параметра усреднения m от величины диапазона свечи high - low.
Средняя линия KeltnerChannels есть скользящая средняя (с периодом т) от средней цены свечи (high + low + close)/3, а верхняя и нижняя границы диапазона получаются сдвигом этой средней линии на величину усредненного диапазона свечи. Чтобы сделать систему на основе такого канала более универсальной, можно ввести множитель, регулирующий ширину диапазона пропорционально исходной средней волатильности; тогда уравнения для линий превратятся в
upper/lower bands = middle line + r*MA(high - low, m),
где r - настраиваемый параметр системы.
STARCBands (Stolleraveragerangechannels) - предложенный ManningStoller вид диапазонов переменной ширины, использующих меру волатильности ATR:
upper band = MA(n) + r*ATR(m)
lower band = MA(n) - r*ATR(m)
Средняя линия STARCBands -скользящая средняя от цены, а ширина диапазона пропорциональна показателю волатильности ATR(m); n, m и г - настраиваемые параметры системы.
Еще одним примером является система на основе ATR ( VolatilitySystATK ):
Enter long Cross (С, (С + w*ATR)[l])
Enter short Cross ((C + w*ATR)[l], C)
Параболическая система (Parabolic) также является системой волатильности, использующей специальным образом вычисляемую границу волатильности для переворота позиции.
Сам по себе индикатор Parabolic разрабатывался именно как торговая система (ParabolicStopandRevers), поэтому его применение в торговых правилах не требует программирования дополнительных конструкций. Однако на большинстве рынков торговля по этой системе приводит к убытку из-за частых переворотов позиций в периоды консолидации графиков. Поэтому индикатор ParabolicSAR используется на практике в сочетании с какими-либо трендовыми индикаторами, позволяющими выделять удобные моменты для открытия позиций.
Простейшим вариантом является добавление к Parabolic скользящей средней и открытие позиций в направлении этого указателя тренда ( Parabolic&MA ):
Enter long
C[l] < SAR[1], AND С > SAR AND С > MA
Enter short
C[l] > SAR[1], AND С < SAR AND С < MA
Существует также множество подходов, в которых Parabolic используется не для входа, а для выхода из позиций, открываемых по какой-либо другой торговой системе.
Торговые системы на основе каналов
Каналом (channel) называют разновидность ценового диапазона, границы которого представляют собой экстремальные значения цен, определенные за некоторый период времени:
upper band = HHV(Ref(HIGH,-l), periods)
lower band = LLV(Ref(LOW,-l), periods),
где periods - параметр такого канала Gook-backperiod - окно просмотра). Текущее значение верхней границы, согласно этому определению, есть наибольшее из значений high для предыдущих п свечей (п = periods). Соответственно, текущее значение нижней границы есть наименьшее из значений low среди предыдущих п свечей. Все приведенные выше соображения о построении торговых систем на основе ценовых диапазонов применимы и к этой их разновидности. Выбирая различные варианты правил открытия и закрытия позиций, можно получить соответствующее множество торговых систем.
Следующая простая Stop&Revers система представляет собой несколько иной, чем обычно, подход, который ближе по своей логике к системам волатильности: прорыв границы канала здесь считается признаком экстремального состояния рынка, следовательно, сигналом близкого разворота. Поэтому, когда пробита нижняя граница канала (рынок перепродан), открывается длинная позиция, а при прорыве верхней границы канала (рынок перекуплен) открывается короткая позиция ( ChannelReturning ):
Enter long Cross Gower band, C)
Exit long Cross (C, upper band)
Enter short Cross (C, upper band)
Exitshort CrossGowerband, C) Наиболее естественным способом использования ценового канала является, конечно, система прорыва канала ( CharmellBreakoui ):
Enter long Cross (С, upper band)
Exit long Cross Gower band, C)
Enter short Cross Gower band, C)
Exitshort Cross (C, upperband) Но в чистом виде такая система на многих рынках дает неустойчивые результаты. Поэтому часто к ней добавляют правила, позволяющие выделять наиболее вероятные моменты начала ходов после прорыва границ.
Одной из возможных идей является открытие позиции на откате: после прорыва границы канала цена должна совершить откат в обратную сторону (линия поддержки становится линией сопротивления, или линия сопротивления превращается в линию поддержки - это одно из основных свойств рыночных графиков!), и только после этого открывается позиция в направлении состоявшегося прорыва границы канала. Чтобы превратить эту идею в торговое правило, необходимо определить, что является откатом. Возможное определение: откат есть достижение ценой границы ценового канала.
На этой идее построена система прорыва канала с откатом ( ChanBreak&PullBack ), где используются два канала - основной канал, на прорыв которого открываются позиции, и канал отката - достижение границы этого канала (границы, противоположной той границе основного канала, на прорыв которой поступил торговый сигнал) является критерием состоявшегося отката. В системе также вводится параметр времени ожидания отката: позиция на прорыв основного канала будет открыта только в том случае, если откат (достижение противоположной границы канала отката) состоится не позднее, чем через заданное число свечей.
Считается, что поведение такого типа, на которое настроена система ChanBreak&PullBack (достижение нового максимума, откат, затем продолжение хода вверх), характерно для рынков с большим объемом участия крупных (институциональных) игроков. После нового максимума они обязательно берут прибыли, рынок откатывается вниз, но если фундаментальные условия продолжают благоприятствовать росту, то рынок энергично пойдет вверх. Открытие позиции на таком рынке в стадии консолидации минимизирует риск. Последний достигнутый максимум является также естественным ориентиром для фиксирования прибыли в длинной позиции, открытой на откате.
Система с узким диапазоном
Близкой по духу к системам на основе каналов, хотя и нестандартной в отношении типа и метода использования границ, является интересная система с узким диапазоном, идея которой предложена T.Chande. В ней границы каналов составляются из точек, являющихся прогнозами значений цены, вычисленными по методу линейной регрессии. Верхняя граница получается в результате применения индикатора TimeSeriesForecast (TSF) к ценам high. Нижняя граница есть, соответственно, TSF (low).
Поскольку индикатор TSF указывает ожидаемое значение цены, которое имело бы место в случае продолжения предшествующей тенденции, то отклонение реально наблюдаемой цены от вероятного значения TSF означает возможное изменение тенденции. Следовательно, такое отклонение рассматривается как сигнал к открытию позиции
В системе LinRegrextr признаком отклонения считается троекратное подряд попадание экстремумов свечей внутрь диапазона. Если три подряд свечи имеют high ниже, чем ожидаемое значение (линия TSF(high)), то открывается короткая позиция, поскольку цена уже, вероятно, не может продолжить предыдущий рост ( рис. 3 ).
Точно так же, если у трех подряд свечей минимумы (low) не опускаются ниже прогнозируемых значений (нижней линии TSF(low)), то это является признаком того, что падение закончилось, поэтому открывается длинная позиция:
Enter long high < TSF AND high[l] < TSF AND high[2] < TSF
Enter short low > TSF AND low[l] > TSF AND low[2] > TSF Подводя итог, можно сказать: системы ценовых диапазонов привлекательны своей универсальностью. Среди них есть и трендовые системы, и разворотные, так что каждый трейдер может подобрать для своего рынка подходящий вариант. Более того, даже одну и ту же систему можно настроить на оба типа поведения рынка, подбирая соответствующим образом ее параметры.
Хотя в данной статье приведены тексты только 13 конкретных систем, но, составляя различные сочетания правил открытия и закрытия позиций (и добавляя к ним варианты правил управления капиталом), даже из этих конструкций можно собрать очень много новых систем, применимых на разнообразных рынках в различных временных интервалах.
Конкретные торговые системы на основе ценовых диапазонов в формате IndicatorBuilder пакета MetaStock:
Envel_ break
Stop& Revers система прорыва конверта
Enter Long
Cross(C,(1+opt1)*Mov(C, opt2, S))
Exit Long
Cross((1-opt1)*Mov(C, opt2, S), C)
Enter Short
Cross((1-opt1)*Mov(C, opt2, S), C)
Exit Short
Cross(C,(1+opt1)*Mov(C, opt2, S))
Envel_ antitrend Антитрендовая Stop& Revers система возврата в конверт
Enter Long
Cross((1-opt1)*Mov(C, opt2, S), C)
Exit Long
Cross(C,(1+opt1)*Mov(C, opt2, S))
Enter Short
Cross(C,(1+opt1)*Mov(C, opt2, S))
Exit Short
Cross((1-opt1)*Mov(C, opt2, S), C)
ExtraOpt
Extraordinary opportunities system. Открытие позиций на выходе МА из конверта.
Enter Long
Cross(Mov(C,opt1,S), (1+opt3) * *Mov(C,opt2,S)) AND Mov(C, opt1, S)>Ref(Mov(C, opt1, S),-1)
Enter Short
Cross((1-opt3)*Mov(C,opt2,S), Mov(C,opt1,S)) AND Mov (C,opt1,S) < Ref (Mov (C, opt1,S),-1)
Комментарий: добавлено условие, чтобы МА в момент пересечения границы конверта была направлена в сторону пересечения (росла при выходе выше верхней линии и убывала при выходе ниже нижней линии).
BolBand_ reversal
Антитрендовая система; открытие позиций при возврате внутрь Bollinger Band; позиция закрывается при пересечении противоположной границы канала
Enter Long
Cross(C, BBandBot(C, opt1, S, opt2))
Exit Long
Cross(C, BBandTop(C, opt1, S, opt3))
Enter Short
Cross(BBandTop(C, opt1, S, opt2), C)
Exit Short
Cross(BBandBot(C, opt1, S, opt3), C)
BolBand& RSI
Антитрендовая система; позиции открываются, если Bollinger Bands и RSI одновременно показывают состояние перекупленности/перепроданности
Enter Long
Cross(BBandBot(C, opt1, S, opt2), C) AND RSI(opt3) < opt5
Exit Long
Cross(C, BBandTop(C, opt1, S, opt2)) AND RSI(opt3) > opt4
Enter Short
Cross(C, BBandTop(C, opt1, S, opt2)) AND RSI(opt3) > opt4
Exit Short
Cross(BBandBot(C, opt1, S, opt2), C) AND RSI(opt3) < opt5
Комментарий: возможные варианты этих систем – для закрытия используется линия с другим параметром усреднения, чем для открытия, или с другим параметром Deviations.
Кeltner Channel
Enter Long
Cross(C, Mov((C+H+L)/3, opt1, S) + Mov(H-L, opt1, S))
Exit Long
C < Mov((C+H+L)/3, opt1, S)
Enter Short
Cross(Mov((C+H+L)/3, opt1, S) - Mov(H-L, opt1, S), C)
Exit Short
C> Mov((C+H+L)/3, opt1, S)
STARC Band
Enter Long
Cross(C, Mov(C,opt1, S) + opt2 * ATR(opt3))
Exit Long
C < Mov(C, opt1, S)
Enter Short
Cross(Mov(C, opt1, S) - opt2*ATR(opt3), C)
Exit Short
C > Mov(C, opt1, S)
Parabolic&MA
Enter Long
Ref(C,-1)<Ref(SAR(opt1, opt2),-1) AND C>SAR(opt1, opt2) AND C > Mov(C, opt3,S)
Enter Short
Ref(C,-1)>Ref(SAR(opt1, opt2),-1) AND C<SAR(opt1, opt2) AND C < Mov(C, opt3,S)
VolatilitySyst_ATR
Enter Long
Cross(C,Ref(C+opt2*ATR(opt1), -1))
Enter Short
Cross(Ref(C - opt2 * ATR(opt1), -1), C)
ChannelReturning
Stop&Revers система возврата в канал
Enter Long
Cross(LLV(Ref(LOW, -1), opt1), C)
Exit Long
Cross(C, HHV(Ref(HIGH, -1), opt1))
Enter Short
Cross(C, HHV(Ref(HIGH, -1), opt1))
Exit Short
Cross(LLV(Ref(LOW, -1), opt1), C)
ChannellBreakout
Stop&Revers система прорыва канала
Enter Long
Cross(C, HHV(Ref(HIGH, -1), opt1))
Exit Long
Cross(LLV(Ref(LOW, -1) , opt1), C)
Enter Short
Cross(LLV(Ref(LOW, -1) , opt1), C)
Exit Short
Cross(C, HHV(Ref(HIGH, -1), opt1))
ChanBreak&PullBack
Channel breakout with pull back.
Открытие при прорыве диапазона с последующим откатом; opt1 – параметр окна просмотра границ канала, opt2 – параметр продолжительности ожидания отката, opt3 – параметр окна просмотра канала отката
Enter Long
BarsSince(Cross(C, HHV (Ref (HIGH, -1), opt1))) < opt2 AND
BarsSince (Cross(C, HHV(Ref(HIGH, -1), opt1))) >0 AND L < LLV(Ref (LOW, -1), opt3) AND L > LLV(Ref (LOW, -1) , opt1)
Exit Long
C < LLV(Ref(LOW, -1), opt1)
Enter Short
BarsSince(Cross(LLV(Ref(LOW, -1), opt1), C)) < opt2 AND BarsSince(Cross(LLV(Ref(LOW, -1), opt1), C)) > 0 AND H > HHV(Ref (HIGH, -1), opt3) AND H < HHV(Ref(HIGH, -1), opt1)
Exit Short
C > HHV(Ref(HIGH, -1), opt1)
Комментарий: исключается открытие на свече, которая пробила границу канала. Если за период ожидания отката цена пересекла противоположную границу канала, то позиция не открывается. Открытая позиция ликвидируется, если цена пересекла противоположную границу канала.
LinRegr_ extr
Противотрендовая система с границами канала в виде линейного прогноза экстремумов; открытие на откате от границы канала
Enter Long
LOW > TSF(LOW, opt1) AND Ref(LOW, -1) > TSF(LOW, opt1) AND Ref(LOW, -2) > TSF(LOW, opt1)
Enter Short
HIGH < TSF(HIGH, opt1) AND Ref(HIGH, -1) < TSF(HIGH, opt1) AND Ref(HIGH, -2) < TSF(HIGH, opt1).
Виктор Лиховидов
Литература:
1. Лиховидов В. Торговые системы на основе ценовых диапазонов // Валютный спекулянт, 2002, № 9, с. 52-57.