1
Видео


Торговые системы на основе CandleCode

Виктор Лиховидов

Индикатор CandleCode является количественной характеристикой настроения рынка. Он присваивает каждой свече некоторый ранг и таким образом упорядочивает все свечи в соответствии с принятой их психологической интерпретацией: чем более медвежье настроение отражено в свече, тем меньшее значение CandleCode она получает, и, соответственно, наоборот.

Индикатор, способный правильно измерять настроение рынка, должен быть полезным инструментом в торговле. В статье рассматривается два подхода к использованию CandleCode в компьютерных торговых системах.

Обнаружение разворотных точек

Полезные свойства индикатора CandleCode хорошо иллюстрируются рисунком 1 (часовой график британского фунта, 27 февраля – 13 марта 2001 г.). Верхний зеленый график – CandleCode в чистом виде, а синяя линия, наложенная на график цены, – это сглаженный CandleCode (простой скользящей средней с периодом 21). Для дополнительного сглаживания был применен индикатор Triplet (трехкратная 2-точечная скользящая средняя) и таким образом получена красная линия на рисунке 1. Она очень точно и без всякой задержки показала существенные развороты графика. Рисунок 2 (часовой график британского фунта, 23 марта – 5 апреля 2001 г.) дает еще одну иллюстрацию полезных свойств индикатора CandleCode. Важно, что здесь сглаженный CandleCode точно указал начала бычьих и медвежьих разворотов именно на типично «боковом» рынке, когда не приходится надеяться на помощь хорошего тренда.

Рис. 1. Сглаженный CandleCode хорошо выделяет важные разворотные точки графика.

Рис. 1. Сглаженный CandleCode хорошо выделяет важные разворотные точки графика.

Рис. 2. Сглаженный CandleCode хорошо работает даже на «боковом» рынке.

Рис. 2. Сглаженный CandleCode хорошо работает даже на «боковом» рынке.

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

Уровни перекупленности/ перепроданности

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

Рис. 3. Сглаженный 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. Верхняя и нижняя линии диапазона Боллинджера являются более гибкими ориентирами.

На рисунке 4 (часовой график британского фунта, 18-25 января 2001 г.) показан пример несимметричного диапазона Боллинджера, примененного к сглаженному CandleCode. Нижняя граница диапазона Боллинджера здесь имеет меньший параметр рассеяния, чем верхняя. Выбор подходящих значений параметров позволяет обнаружить много существенных разворотных точек на графике цены.

Излишнюю волатильность сглаженного CandleCode полезно отфильтровать дополнительным сглаживанием, например, трехкратной 3-точечной скользящей средней, как на рисунке 5 (часовой график британского фунта, 29 января – 8 февраля 2001 г.).

Рис. 5. Торговые сигналы на пересечении диапазона Боллинджера, примененного к сглаженному CandleCode.

Рис. 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. Оптимальная торговая система; линия капитала (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. Структура адаптивного индикатора 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. Внутридневная торговая система на основе адаптивного 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)

Комментарии пользователей

(Гость) Leop (Гость) | 28.12.2009 11:07
«КАРКАС АВТОНОМНОГО БИРЖЕВОГО ТОРГОВОГО РОБОТА» Добрый день уважаемые коллеги трейдеры, инвесторы и люди с активной жизненной позицией. В данном разделе мы хотим предложить Вам совершенно новый, простой в понимании и обучении проект создания на своем компьютере автономного биржевого торгового робота. Вам наверняка не раз приходило в голову, что надо бы заняться разработкой робота который бы самостоятельно, по заданному алгоритму осуществлял торговлю. Он бы высвободил у Вас кучу времени, забрал бы у Вас кучу головных болей (фиксануть, или еще подождать), но как только Вы заканчиваете мечтать понимаете, что для разработки такого робота нужно быть программистом, а Вы далеки от этого. Ваши желания далеко не мечты и мы сделали то, что Вам нужно. Мы представляем программно-консалтинговый пакет автономного биржевого торгового робота на основе связки Quik – Wealth-Lab Developer, со всем необходимым ОБУЧЕНИЕМ, файлами, скриптами, инструкциями. Данный робот работает при любом брокере по любому брокерскому счету. Для реализации робота наши эксперты исходили из того, что большинство трейдеров не программисты и нам необходимо разработать наиболее простой вариант робота. И мы его сделали. Вместо того, чтобы самостоятельно разрабатывать какие то системы (которые в итоге клиенты обзовут черным ящиком) мы пошли по другому пути и сделали совершенно открытую и прозрачную систему на основе наиболее распространенных программ Wealt-lab и Quik. Wealth-lab это наверно наилучшая программа технического анализа предназначенная для разработки, тестирования и оптимизации торговых стратегий. А Quik один из самых распространенных торговых биржевых терминалов. Связав их мы получили полнофункциональный и совершенно простой автономный биржевой робот. Данная связка осуществляет автоматическую пересылку котировочных данных из Quik в Wealth-Lab Developer, который осуществляет расчет торговой системы и выдает торговые сигналы. Эти торговые сигналы автоматически (задержка до 1 сек.) поступают в Quik и реализуются (робот генерирует сделки по рынку). Данный алгоритм предусматривает проверку выставления заявки в Quik, и при отрицательном результате останавливает процесс механической торговой системы, до выяснения причин(не хватает средств на счете, брокер отключил данную бумагу из списка маржинальных и т.д.). Отметим что наибольшая ценность данного програмно-консалтингового пакета заключается в обучении, которое имеет три основных направления: обучение работы с используемыми программами, обучение использования автоматизации торговли и обучение создания собственных алгоритмов и механических торговых систем(МТС). Длительность обучения 1 месяц. Направления обучения разностороннее, причем обучение именно тому, что Вас интересует. Консультации оказывает разработчик системы, практикующий трейдер, сотрудник инвестиционной компании, кандидат экономических наук в области моделирования финансовых процессов. Обращаем Ваше внимание что продается не готовый робот, а каркас для автоматизации торговли, сам алгоритм(стратегия) совершения сделок не предлагается!!! Торговый алгоритм Вы подбираете для себя самостоятельно, Вы можете либо запрограммировать его (есть очень простые визуальные формы(без языка программирования) в Wealth-Lab для создания алгоритма, а так же мы можем помочь), либо воспользоваться уже разработанными алгоритмами, скриптами (более 100 встроенных в Wealth-Lab). Программно-консалтинговый пакет включает в себя: 1) Консультационную поддержку по установке, и настройке робота, обучение работы в используемых программах и разработке торговых роботов; 2) Руководство на русском языке по установке, настройке и запуску связки Quik – Wealth-Lab Developer; 3) Скрипты для Wealth-Lab Developer и файлы для Quik, которые отвечают за связку; 4) Инструкцию на русском языке по работе в Wealth-Lab Developer 4 и Quik; 5) Информацию по ссылкам в интернете для скачивания необходимого для использования программного обеспечения: Wealth-Lab Developer 4 и Quik; 6) Подборка информационных материалов по биржевым торговым роботам. Дополнительная информация о предлагаемом пакете находится на сайте http://www.robotstock.narod.ru , где также находится видео работы робота с пояснениями. Вы, конечно, можете самостоятельно до этого дойти и разработать торгового робота, необходимо время и упорство. Если же время дороже - есть возможность осуществить обучение и отладку робота быстрее. Для желающих самостоятельно дойти, рекомендую ознакомиться с полезным видео обучение на нашем сайте WWW.ROBOTSTOCK.NAROD.RU , которое поможет в быстрой форме познать основы работы с Wealth-lab, основы построения торговых алгоритмов и их тестирование. Более подробную информацию Вы можете получить по следующим контактам: email: shabalin@bk.ru, ICQ 284-486-248, Skype: aashabalin С наилучшими пожеланиями в роботизации наших профитов!
    (Гость) Алексей (Гость) | 25.01.2011 05:51
Если вы такие умные
Ну я пищщщщщу постоянно при прочтении подобных объявлений! Могут научить, вразумить, все предоставят, ничего не скроют за какие-то жалкие несколько тысяч! Да... Слушайте, ну и создали бы свой робот и не занимались бы фигней. А дальше свой фонд, управляющую компанию и т.д.
(Гость) Новичок (Гость) | 17.07.2010 16:05
Узнал себя)))
и кстати пришёл к тем же выводам сам как-то!
видимо серое вещество всё-таки правильно применять начал))
И пришёл ещё к одному выводу. Сюда можно добавить его как ещё один пункт в "Попытки решения".
И решение это "Торговый план"! Потому как опытным об этом говорить не нужно, а новичкам самое время...
Поставьте цель перед собой, если вы интрадейтрейдер, то в одновременно открытых позициях не ставьте более 10% от депозита и забирайте в день прибыль около 2% от размера депозита... Не надо целый день тратить нервы, лучше посчитайте на калькуляторе сколько у вас будет через год. И медленно но верно вы станите тем, кем собрались стать. Потому как через год вы уже не новичок, а значит и нервы целы и кошелёк потресканый от набитого))) удачи! нет.. будьте здоровы! ))
    (Гость) Gala (Гость) | 18.04.2011 14:59
Я тоже новичок, в реале с января, полностью согласна, тише едешь - дальше будешь, если воспринимать как работу на пару часов в сутки, а не как игру, можно разбогатеть и не надорваться!!!
Иванов Денис | 09.09.2010 18:24
Да статья интересная
(Гость) Сергей (Гость) | 21.04.2011 12:49
Согласен с Алексеем.
Есть бесчисленное множество "гениальных" учителей и мыслителей, которые именно за какие-то жалкие несколько тысяч готовы поделиться тем, как заработать миллионы за несколько недель.
(Гость) You teach I reach (Гость) | 25.04.2011 20:59
Всегда ставьте два ордера.
Stop Loss и Take Profit.
(Гость) FOKINMatvej (Гость) | 03.06.2011 18:19
евроремонт киев по приемлемой цене
(Гость) max (Гость) | 16.07.2011 13:51
не могу понять это предложение!!!
Возьмем за обязательное условие вхождения в рынок расстояние между скользящей средней и графиком не менее 5 пунктов, установившееся после пересечения тела свечи с индикатором.
(Гость) трейдер (Гость) | 28.09.2011 23:32
max спроси здесь http://www.forextimes.ru/foreks-stati/izuchaem-indikator-cci
(Гость) ArtemevIppolit20 (Гость) | 07.12.2011 19:29
Отличный прокат машин без водителя в Киеве
(Гость) Digger (Гость) | 01.01.2012 17:22
wmbuuBycwZpGzv
Great cmomon sense here. Wish I'd thought of that.
(Гость) mepraaje (Гость) | 02.01.2012 12:21
fjpKurxGN
QvJ1R2 ngabyhbdjams
(Гость) sfafqzy (Гость) | 03.01.2012 16:53
sqqqECFXzYBcHjYRdf
PG7LIo , [url=http://vxjgpzuhdczm.com/]vxjgpzuhdczm[/url], [link=http://ceiqjggtpkix.com/]ceiqjggtpkix[/link], http://xwkwqhqcpzsq.com/
(Гость) ozniqrddn (Гость) | 03.01.2012 22:58
RkadbUXtCKZxQDUxhR
T9gwTF zyjjbzzywjfq
(Гость) irxlehp (Гость) | 04.01.2012 13:56
NfYhtVpgNMojNn
Yudy7w , [url=http://psikmpwvkpuk.com/]psikmpwvkpuk[/url], [link=http://lbtqbesnycbf.com/]lbtqbesnycbf[/link], http://hyyerczdvowi.com/
(Гость) Serhio (Гость) | 08.01.2012 16:10
Книга Джорджа Лэйна на русском!
http://depositfiles.com/files/8s1uckv24

Переведённая книга Дж.Лейна - основателя стохастика.В ней зарыто золото ...
(Гость) Николай (Гость) | 29.01.2012 18:34
Лучший заработок
Хочу предложить сайт, где можно зарабатывать реальные деньги и выводить на Вебмани. Я сам зарабатываю по 2$ в день тратя 1 час, а теперь сосчитайте сколько есть у вас времени и сколько при этом вы заработаете- http://advego.ru/1dxQ6Zqb6m.
(Гость) Сергей (Гость) | 20.02.2012 18:25
Сам портфель!!
как сформировать сам портфель с помощью модели блэка шоулза?
какие критерии должный при этом учитываться?
если можно, приведите пожалуйста пример.
(Гость) Taiba (Гость) | 13.03.2012 07:35
AmfbuMtenejqBNgOqc
It's like you're on a msiiosn to save me time and money!
(Гость) usxbiw (Гость) | 13.03.2012 14:58
PROKXReaCdsNV
2m1wGU xjovjjwylomd

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

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

Реклама

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

Реклама