|
Новости
Видео
Блоги
Комментариев: 343
Шепот котировок
10:08
09:58
09:44
09:27
10:17
|
Торговые системы на основе CandleCodeИндикатор CandleCode является количественной характеристикой настроения рынка. Он присваивает каждой свече некоторый ранг и таким образом упорядочивает все свечи в соответствии с принятой их психологической интерпретацией: чем более медвежье настроение отражено в свече, тем меньшее значение CandleCode она получает, и, соответственно, наоборот. Индикатор, способный правильно измерять настроение рынка, должен быть полезным инструментом в торговле. В статье рассматривается два подхода к использованию CandleCode в компьютерных торговых системах. Обнаружение разворотных точекПолезные свойства индикатора CandleCode хорошо иллюстрируются рисунком 1 (часовой график британского фунта, 27 февраля – 13 марта 2001 г.). Верхний зеленый график – CandleCode в чистом виде, а синяя линия, наложенная на график цены, – это сглаженный CandleCode (простой скользящей средней с периодом 21). Для дополнительного сглаживания был применен индикатор Triplet (трехкратная 2-точечная скользящая средняя) и таким образом получена красная линия на рисунке 1. Она очень точно и без всякой задержки показала существенные развороты графика. Рисунок 2 (часовой график британского фунта, 23 марта – 5 апреля 2001 г.) дает еще одну иллюстрацию полезных свойств индикатора CandleCode. Важно, что здесь сглаженный CandleCode точно указал начала бычьих и медвежьих разворотов именно на типично «боковом» рынке, когда не приходится надеяться на помощь хорошего тренда.
Рис. 1. Сглаженный CandleCode хорошо выделяет важные разворотные точки графика.
Рис. 2. Сглаженный CandleCode хорошо работает даже на «боковом» рынке. Индикатор отражает существенные развороты настроения рынка, поэтому имеет смысл поискать способы систематического использования этих его полезных свойств. Уровни перекупленности/ перепроданностиПоскольку сглаженный CandleCode ведет себя во многом подобно другим осцилляторам, то наиболее естественный метод его использования в торговых правилах состоит в построении уровней перекупленности/перепроданности. Пересечение индикатором уровня перекупленности сверху вниз дает сигнал к продаже, а пересечение уровня перепроданности снизу вверх – сигнал к покупке.
Рис. 3. Сглаженный CandleCode и уровни перекупленности/перепроданности. Неустойчивая волатильность индикатора осложняет торговлю. Рисунок 3 иллюстрирует эту простую торговую идею на том же часовом графике британского фунта (14 декабря 2001 г. – 12 марта 2001 г.). Здесь синяя линия – дважды сглаженный CandleCode (с переменным периодом avrg и с фиксированным периодом 3), а красная (upper_level) и зеленая (lower_level) линии представляют уровни перекупленности/перепроданности. Значения параметров avrg, upper_level и lower_level настраиваются с помощью оптимизатора. В данном случае торговая система состояла из двух правил: Enter Long Cross(Mov(Mov(Fml(«CandlCode»), avrg, E), 3, E), lower_level ) Enter Short Cross( upper_level, Mov(Mov(Fml («CandlCode»), avrg, E),3, E)) Тестирование системы подтверждает ее работоспособность, но часто неустойчивость поведения индикатора (хорошо заметная на рисунке 3) снижает эффективность. Горизонтальные уровни являются слишком жесткими ориентирами. Более гибкий подход основан на учете волатильности индикатора. CandleCode и диапазоны БоллинджераЕстественным и универсальным методом построения гибких линий перекупленности/перепроданности являются диапазоны Боллинджера [1].
Рис. 4. Верхняя и нижняя линии диапазона Боллинджера являются более гибкими ориентирами. На рисунке 4 (часовой график британского фунта, 18-25 января 2001 г.) показан пример несимметричного диапазона Боллинджера, примененного к сглаженному CandleCode. Нижняя граница диапазона Боллинджера здесь имеет меньший параметр рассеяния, чем верхняя. Выбор подходящих значений параметров позволяет обнаружить много существенных разворотных точек на графике цены. Излишнюю волатильность сглаженного CandleCode полезно отфильтровать дополнительным сглаживанием, например, трехкратной 3-точечной скользящей средней, как на рисунке 5 (часовой график британского фунта, 29 января – 8 февраля 2001 г.).
Рис. 5. Торговые сигналы на пересечении диапазона Боллинджера, примененного к сглаженному CandleCode. Если вместо горизонтальных уровней использовать для торговли линии диапазона Боллинджера, то получится следующая торговая система (Moving Average CandleCode and Bollinger Bands – MaCC_Bol): Enter Long Cross(Mov(Mov(Fml(«CandlCode»), avrg,E),3,E),BBandBot(Mov(Mov (Fml(«CandlCode»),avrg,E),3,E), band_period, S, bot_dev) ) Enter Short Cross( BBandTop(Mov(Mov(Fml («CandlCode»),avrg, E),3, E), band_period, S, top_dev) , Mov(Mov (Fml(«CandlCode»),avrg, E),3,E)) Она содержит четыре настраиваемых параметра: avrg – период скользящей средней, применяемой к CandleCode (кроме того, имеется дополнительное сглаживание с фиксированным периодом 3); band_period – период индикатора Bollinger Bands; bot_dev и top_dev – параметры рассеяния для нижней и верхней линий соответственно.
Рис. 6. Оптимальная торговая система; линия капитала (Equity line) и несколько позиций по сигналам системы с оптимизированными параметрами. На рисунке 6 (часовой график британского фунта, 20-27 марта 2001 г.) показаны некоторые примеры позиций по сигналам этой системы. Значения параметров в данном примере (avrg = 45, band_period = 13, bot_dev = 1.2, top_dev = 1.5) были оптимизированы на интервале ноябрь 2000 г. – февраль 2001 года. Адаптивный CandleCodeПринципиально иной подход к построению торговых систем на основе CandleCode состоит в попытке изменения самой структуры индикатора. В том виде, как он рассматривался до сих пор [2], CandleCode вычисляется в виде простой суммы трех слагаемых (CandleCode-b, CandleCode-u, CandleCode-l), соответствующих телу свечи, ее верхней и нижней теням. Если ввести в сумму переменные веса этих трех слагаемых: B*CandleCode-b+U*CandleCode-u+ +L*CandleCode-l, то можно изменить и величины CandleCode, присваиваемые свечам. Нельзя ли настроить эти веса B, U, L так, чтобы повысить эффективность торговой системы? Для того чтобы реализовать эту идею, имеет смысл несколько изменить способ вычисления индикатора СandleCode. Поскольку верхняя тень и белое тело свечи имеют бычий смысл, присвоим этим элементам положительный знак: sign = 1. Нижняя тень и черное тело свечи указывают на медвежье настроение, поэтому им присвоим отрицательный знак: sign = -1. Каждому элементу свечи (телу и двум теням) припишем величину «Size» по следующему правилу: для doji или тени нулевого размера Size = 0; для элемента малого размера Size = 1*sign; для элемента среднего размера Size = 2*sign; для большого элемента Size = 2*sign. Сами категории «малый, средний, большой» определяются по прежним правилам через пороги, вычисляемые на основе среднеквадратичного отклонения. Взвешенную сумму величин Size назовем адаптивным вариантом индикатора CandleCode: AdCC = U UpshadSize + B BodySize + L LshadSize. Текст этого индикатора для MetaStock Indicator Builder прилагается к статье.
Рис. 7. Структура адаптивного индикатора CandleCode. Хорошо видна высокая коррелированность индикатора и графика цены. Рисунок 7 (часовой график швейцарского франка, 11-19 декабря 2000 г.) поясняет структуру такого индикатора. Три верхних графика здесь представляют UpshadSize, BodySize и LshadSize, самый нижний график – это AdCC с одинаковыми весами (U = B = L = 0.33). Сглаженный AdCC (результат применения экспоненциальной скользящей средней с параметром 34) – зеленая линия, наложенная на ценовой график, – показывает способность такого индикатора отражать основные изменения настроения рынка. Адаптивный CandleCode и диапазоны БоллинджераРазумеется, заранее неизвестно, какими должны быть веса. Взятые наугад U, B, L могут оказаться подходящими в одних ситуациях и дать плохой результат в других условиях. Необходимо найти оптимальные значения этих параметров. Самый естественный путь – найти такие значения U, B и L, которые обеспечивают наибольшую эффективность торговой системы. В качестве примера такого подхода можно взять ту же самую систему, основанную на диапазонах Боллинджера, и ввести в нее три новых параметра. Получится система с адаптивным индикатором CandleCode (Adaptive CandleCode and Bollinger Bands – AdCC_Bol): Enter Long Cross(Mov(B*Fml(«BodySize»)+ +U*Fml(«UpshadSize»)+L*Fml («LshadSize»),avrg,S), BBandBot(Mov (B*Fml(«BodySize»)+U*Fml («UpshadSize») +L*Fml(«LshadSize»), avrg, S), band_period , S, deviations)) Enter Short Cross(BBandTop(Mov(B*Fml(«BodySize») + U*Fml(«UpshadSize») +L*Fml(«LshadSize»),avrg, S) , band_period , S, deviations), Mov(B*Fml(«BodySize») + +U*Fml( «UpshadSize» ) + L*Fml («LshadSize»), avrg, S)) В этом варианте системы используется только одно сглаживание (с периодом avrg) индикатора, а верхняя и нижняя линии диапазона Боллинджера имеют одинаковые параметры рассеяния (deviations). При желании легко ввести в систему дополнительные возможности [1].
Рис. 8. Внутридневная торговая система на основе адаптивного CandleCode. Позиции, открытые в точ ках разворота рынка; 1390 пунктов прибыли в 36 прибыльных и 18 убыточных позициях за 60 дней. Рисунок 8 показывает результаты тестирования этой системы на часовом графике японской иены (февраль-апрель 2001 г.). На рисунке 9 представлены некоторые сигналы, порожденные системой при оптимальном наборе параметров (avrg = 21, band_period = 40, deviations = 1.4, U = 0.2, B = 0.8, L = 0.5). Внизу графика обычный CandleCode (черная линия) изображен для сравнения с полученным вариантом адаптивного AdCC (красная линия). Адаптивный CandleCode существенно отличается от исходного. CandleCode в «чистом» виде упорядочивает свечи по степени их настроения – от медвежьих к бычьим. Адаптивный индикатор обеспечивает лучший финансовый результат торговой системы, но это свойство упорядочения он может утратить. Так, на рисунке 10 показан AdCC (красная линия) с параметрами U = 0.2, B = 0.2, L = 0.8 в сравнении с обычным CandleCode (черный). Две соседние свечи (CandleCode = 88 и 112) получили здесь одинаковые значения AdCC = 1.8 (адаптивный индикатор придает не столь большое значение величине тела). Наоборот, две медвежьи свечи, 45 и 46, не сильно различающиеся своим настроением, получили существенно различные AdCC = -1.2 и -0.4. Результаты многочисленных тестовых экспериментов показывают, что индикатор CandleCode является эффективным инструментом в торговле. Он уже хорошо зарекомендовал себя на различных рынках. Добавление внутренних параметров индикатора (U, B, L) делает торговую систему очень гибкой. Настройка параметров такой системы позволяет выделять моменты наиболее существенных изменений в настроении рынка, что особенно важно во внутридневной торговле. Литература: 1. Лиховидов В. Торговые системы на основе ценовых диапазонов // Валютный спекулянт, 2002, № 9, с. 52-57; № 10, с. 56-57. 2. Лиховидов В. Кодирование японских свечей. Метод количественного анализа графиков японских свечей // Валютный спекулянт, 2000, Январь-Февраль, с. 23-28. Текст адаптивного индикатора CandleCode для пакета MetaStock (все обозначения и формулы – см. «ВС» № 2 за 2000 г. и № 5 за 2002 г.) AdCC B:=Input(«Body weight», 0.01, 0.98, 0.33); U:=Input(«Upshad weight», 0.01, 0.98, 0.33); Lo:=Input(«Lshad weight», 0.01, 0.98, 0.33); B*Fml(«BodySize») + U*Fml («UpshadSize»)+Lo*Fml(«LshadSize») UpshadSize If(Fml(«ushd») > 0 AND Fml («ushd») <= Fml(«ThBot_u»),1,0) + +If(Fml(«ushd»)>Fml («ThBot_u») AND Fml («ushd»)<=Fml («ThTop_u»),2,0)+ + If(Fml(«ushd»)>Fml(«ThTop_u»),3,0) BodySize If(CLOSE=OPEN,0,1) * If(CLOSE > OPEN,1,-1) * (If(Fml(«body»)<= Fml («ThBot_b»),1,0) + If(Fml(«body»)> Fml(«ThBot_b») AND Fml («body») <= Fml(«ThTop_b»),2,0)+If(Fml («body»)> Fml(«ThTop_b»), 3,0)) LshadSize If(Fml(«lshd»)>0 AND Fml(«lshd») <= Fml («ThBot_l»),-1,0) + If (Fml(«lshd») > Fml («ThBot_l») AND Fml(«lshd») <= Fml («ThTop_l»), -2,0)+If(Fml(«lshd») > Fml(«ThTop_l»), -3,0) Похожие статьи:
Комментарии пользователей
Добавить комментарий |
РекламаНовости партнеровРеклама |








