СОЗДАНИЕ И ОПТИМИЗАЦИЯ
ТОРГОВЫХ СИСТЕМ
В METASK
Сафин В.И
ШКОЛА ВАЛЮТНОГО ТРЕЙДЕРА
В книге рассмотрены основы построения торговых системдля paботы на международных финансовых рынках. Нa конкретныхпримерах продемонстрирована методика построения торговыхсистем. Для большинства предложенных торговых системприводится примеры записи правил открытия и закрытия позициидля пакета MetaStock.
Лицензия ИД № 04466 от 09 апреля 2001 года
Содержание
Введение 7
Глава I. Построение системы. Основные вопросы при создании системы.
Что такое торговая система 9
Семь правил построения торговой системы…………….11
1.2.1.Позитивное ожидание . 12
1.2.2. Малое количество правил 12
1.2.3. Устойчивость системы 13
1.2.4, Варьирование торговых лотов 14
1.2.5. Контроль риска, управление капиталом и
диверсификация 14
1.2.6. Механистичность системы 15
1.2.7. Применимость системы 17
1.3. Выбор валюты 18
1.4. Влияние данных фундаментального анализа 20
Выбор временных интервалов 22
Выбор индикаторов 24
Следовать ли тренду……………………………………. 25
1.8. Диагностика тренда ……………………………………… 28
1.8.1. Скользящие средние 28
1.8.2. Индикатор ADX 32
1.8.3. Индикатор RAVI 35
1.8.4. Алгоритм Зельдина 37
1.9. Использование фигур технического анализа 40
Комбинации свечей при построении системы 42
1.11. Выбор лота 43
1.12. Открытие позиций 47
1.13. Закрытие позиции 51
1.13.1.Установка стоп - лосса 52
1.13.2.Стратегии выхода 55
1.14. Использование комментаторов 60
Глава 2. Создание торговых систем 63
2.1. Что такое оптимизация торговой системы 63
2.2. Пример торговой системы ...,64
Глава 3. Создание торговой системы в MetaStock 68
Основные понятия 68
Окна для записи торговой системы 69
3.2.1.Опции окна системного тестирования 72
3.3. Ввод правил для открытия и закрытия позиции 74
3.3.1. Использование окна функций (Paste Function) 76
3.3.2. Использование функции Aert() 78
3.4. Параметры системы 78
3.4.1. Ввод переменных Opt 78
3.4. Ведение остановов 83
3.5.1. Прерывания (Breakeven) 83
Изменчивость (Inactivity) 84
Максимальная потеря (Maximum oss) 86
3.5.4. Уровень прибыли (Profit Target) 87
3.5.5. Отслеживание (Traiing) 88
Добавочные параметры торговой системы 89
Параметры отчета о результатах тестирования 94
Выбор валюты………………………………………………. 97
3.9. Окно контроля процесса оптимизации 102
Глава 4. Просмотр отчетов 109
4.1. Краткий отчет (Summary Report) 109
4.1.1. Общие сведения 109
4.1.2. Описание колонок раздела «Краткий отчет» (Summary Report) …………………………………………………….. 111
4.2. Систематический отчет (System Report) 114
4.2.1. Вызов систематического отчета 114
Страница Resuts Report …………………………... 114
Страница Trades Report (Отчет по торгам) 119
Страница Equity Report (Отчет по капиталу) 121
4.2.5. Системная страница (System Page) 126
Глава 5. Торговые системы на основе конвертов 127
5.1. Построение конвертов ……………………………………127
5.2. Торговые системы, основанные на диапазоне Боллинджера132
5.2.1. 1-й метод изменения торговой системы ………….135
5.2.2. 2 -й метод изменения торговой системы 136
5.2.3. 3-й метод изменения торговой системы 137
5.2.4. 4-й метод изменения торговой системы 137
5.2.5. 5-й метод изменения торговой системы 138
5.3. Совместное использование диапазона Боллинджера и осцилляторов…………………………………………… 140
5.3.1. Базовый вариант…………………………………. 140
5.3.2. Сглаживание RSI………………………………… 141
5.3.3.Учет запаздывания разворота RSI……………….142 5.3.4. Использование RSI для закрытия позиции………143
Глава 6. Простые торговые системы на основе осцилляторов 1456.1. Системы на основе RSI 145
6.2. Системы на основе SHASTIC 151
6.3. Модификация систем 153
6.3.1.RSI и тренд 153
6.3.2.Стохастика и тренд 156
Глава 7. Дивергенция в качестве основы торговой системы….159
7.1. Дивергенция RSI………………………………………... 160
7.2. Дивергенция стохастики……………………………...… 168
7.3. Дивергенция %R…………………………………………175
7.4. Выводы…………………………………………………... 175
Список литературы……………………………………………… 178
Введение
В этой книге мы попробуем рассказать, для чего нужныторговые системы, как их строить и тестировать на ЭВМ.Необходимость иметь собственную торговую систему диктуетсяцелым рядом причин.
Для анализа рынка применяется множество методов.Порой они противоречат друг другу, особенно если относятся кразным временным масштабам. Для того, чтобы при этойразноголосице принять-таки конкретное решение нужно иметьопределенные ориентиры, Такие ориентиры дает ваша ЛИЧНАЯторговая система.
Для того, чтобы развиваться, расти в профессиональномплане, нужно овладевать новыми методами. Но отличить удачныеприемы от неудачных тоже не получится без наличия ясносформулированных правил опенки.
Работа трейдера связана с большими нервныминагрузками. При наличии четкой, вам прекрасно известной иполностью попятной системы, будет куда легче переноситьнеизбежные периоды неудач и не терять головы от крупныхдостижений.
Создание собственной торговой системы позволяетнастроить ее на Ваши личные предпочтения и позволит Вам лучшеосвоить правила работы на рынке. Без уверенности в себе и своихдействиях торги не будут проводиться единообразно. Если вы самипостроите и протестируете свою систему, вам легче будет доверятьей до того, как вы начнете работать реально.
Всех трейдеров можно разделить на две группы: хаотичныеи системные. Хаотичный трейдер подходит к рынку субъективно.Он верит в интуицию. Причем обычно он пренебрегает темфактом, что развитая интуиция может базироваться как минимумна богатом опыте работы. У новичка ей просто неоткуда взяться.Хаотичный трейдер применяет много правил и старается
выработать правила на все случаи жизни. Потом он так жесубъективно выбирает из них те, что подходят в данный моментОн эмоционален. Причины совершения сделок меняются лень отодня и при этом применяются самые разные индикаторы.
Системный трейдер скучен и неэмоционален (но крайнеймере в работе). Он объективен и любит доказательства в видестатистики или хотя бы математики. Пользуется всегда одними итеми же "ключевыми" индикаторами. Часто работая по многимрынкам, пользуясь при этом теми же самыми приемами. Частооснащением технического трейдера являемся набор правил сомногими исключениями и исключениями из исключений. Торговыеправила трудно протестировать и трудно подвести итоги. Трейдингв таком виде - искусство. Мы постараемся показать, какпреобразовать трейдинг если не в науку, то хотя бы в ремесло икак воплотить это ремесло в конкретную торговую систему,
В этой книге много примеров, написанных для пакетаMetaStock. Правила написания и функции, используемые вMetaStock, в этой книге не рассматриваются. Для их изучения надообратиться к соответствующей документации или к книге"Программное обеспечение FORFX. Пакет MetaStock: схемы,технические линии, индикаторы".
8
Глава 1. Построение системы. Основные вопросы присоздании системы
1.1. Что такое торговая система
Работа на валютных или фондовых рынках может датьхорошие результаты только при наличии торговой системы.Торговая система - это набор правил, согласно которымпринимается решение об открытии или закрытии позиций. Обычноторговая система включает в себя набор условий или правил длявыполнения следую щи х действий:
открытие длинной позиции;
закрытие длинной позиции;• открытие короткой позиции;
закрытие короткой позиции.
Эти правила должны быть настолько четко сформулированы,чтобы их можно было записать в виде алгоритма дляавтоматической работы на рынке. Разумеется, по мереприобретения опыта и новых знаний система будет изменяться,но решения об изменении торговой системы надо принимать приотсутствии открытых позиций. Вы можете торговать только темметодом, в который верите. Чтобы создать свою торговую системунужно знать свои торговые предпочтения. Лучшая система дляодного может оказаться совершенно неприемлемой для другого.Существует бесчисленное количество элементов торговойсистемы, где вступают в игру персональные предпочтения.Наиболее зримое различие —периодичность нахождения и рынке.Можно любить высокую активность по количеству сделок иненавидеть надолго "зависать" в рынке. А можно наоборот, любитьпостоянно находиться в рынке, лишь меняя направление взависимости от его движений.
Для того, чтобы заменить одну торговую систему другой, более хорошей, мы должны выработать критерий для сравнения
систем. Очень часто в качестве критерия используют величинуприбыли, которая могла бы быть получена при использовании этойсистемы для работы. Однако это не единственно возможныйкритерий и, скорее всего, в реальных условиях не самый лучший.Например, в качестве критерия можно выбрать вероятностьполучения убытка больше определенной величины при условииполучения прибыли не менее заданной величины: чем меньше этавероятность, тем лучше система. Разумеется, могут быть и иныекритерии. Однако независимо от выбора критерия для оценкикачеств системы, при создания любой системы необходимоответить на следующие вопросы,
1. Для какой валюты или ценной бумаги предназначена
система. В литературе часто встречаются утверждения, чтопредлагаемая автором система хорошо работает на любом рынке.Однако проверка этих систем показывает, что система, котораядает хорошие результаты на одном наборе рынков, на другихрынках даст результаты гораздо хуже. Поэтому для каждою рынкажелательно создавать свою систему пли хотя бы использоватьсвой набор параметров.
На что будем в первую очередь ориентироваться - натехнический анализ или на фундаментальный анализ. Нафундаментальный анализ обычно ориентируются при работе нидолгосрочных рынках (месячных или более длинных). По и в ЭТОМслучае используют также и технический анализ
Для каких временных интервалов предназначенасоздаваемая система: для часовых, для дневных или каких-либодругих.
Какие индикаторы будут использованы в системе.
Как система будет работать: по тренду, против трендаили в канале. Сразу надо учесть, что работать против тренда (наоткатах) очень опасно и обычно опытные трейдеры против трендане работают; Тестирование большого количества систем показало,
10что лучшие системы те, которые предлагают открывать позициитолько по тренду.
6. Как будем определять тренд.
Будут ли использоваться фигуры технического анализа иесли будут, то какие именно.
Будут ли использоваться комбинации свечей и если будут,то какие именно.
9. Каким лотом вы намереваетесь работать. Собираетесьли вы его менять по ходу торгов. Допускаете ли доливание,разбавление, частичное закрытие, переворот. Собираетесь лименять лот от торговли к торговле в зависимости от достигнутыхрезультатов
По каким правилам открывать и закрывать позиции,
Какие критерии выхода из позиции: временные (например,через 20 дней или после окончания торговой сессии), получениеопределенной прибыли или какие-то другие.
Сколько времени вы предпочитаете держать позицию
13. Будут ли использоваться ордера или нет14. Какой величины будет stop oss.
15. Собираетесь ли вы пользоваться комментаторами. Еслида, то какими именно и насколько строго.
Все эти особенности ваших торговых предпочтений нужносформулировать совершенно ясно и однозначно до того, как выначнете работать. От этого будет зависеть ваше душевноеспокойствие и комфортное самочувствие на непростых валютныхрынках. Большинство из этих вопросов ми подробно рассмотримв данном пособии.
1.2. Семь правил построения торговой системы
Кроме вопросов, на которые вы должны ответить припостроении системы, существуют семь правил, которые
11
желательно использовать для создания хорошей торговой системы.Конечно, не все Ваши торговые системы будут удовлетворять этимправилам, но в любом случае лучше четко представлять, какиеправила не выполняются и почему, Это поможет вам улучшитьторговую систему.
1.2.1. Позитивное ожидание
Средняя прибыль от сделки должна быть положительной сучетом комиссионных. Комиссионные могут сильно повлиять надоходность системы. Например, системы, которые дают многосделок при малом выигрыше на каждой сделки могут бытьприбыльными без учет комиссионных и проигрышными при учетекомиссионных.
1.2.2. Малое количество правил
Еще никто не нашел то оптимальное количество правил,которое надо использовать в торговой системе (в дальнейшем подправилом мы будем понимать некоторое условие, которое должновыполняться). С одной стороны понятно, что торговая система,основанная на одном правиле, вряд ли даст хорошие результаты,С другой стороны, если правил много, то в них легко запутатьсясамому и вероятность сделки при этом падает. Когда количествозадействованных переменных превышает некоторое число,достоверность прогноза падает - это закон информатики.
Американский технический аналитик индусскогопроисхождения Т.Чанд проводил масштабные исследованияпринципов построения торговых систем. Согласно этимисследованиям при увеличении количества правил падаетколичество сделок, заключаемых по этим правилам, Слишком малоситуаций на рынке отвечают сочетанию вес новых и новых правил- в этом смысле каждое новое правило действует как ещё одинфильтр, сквозь который «проходят» не все сделки. Кроме того,
12
нужно больше данных. Следующий момент - при увеличенииправил прибыльность системы вначале растет (имеется в виду,что правила разумные). Затем, с дальнейшим падением количествасделок, начинает снижаться прибыль.
Очень интересным параметром любой системы являетсяНаибольший Нарастающий Убыток (MIDD - Maximum IntradayDrawdown). Так можно обозначить самый длинный период неудач,самую большую финансовую яму, в которую попадала нашасистема за весь известный нам период работы. Так вот, приувеличении количества правил M1DD тоже вначале растет - видимосказывается та самая падающая достоверность прогноза. Затем,с падением числа сделок, нарастающий убыток тоже начинаетпадать, но медленнее, чем общий выигрыш. Таким образом,пытаясь новыми изощренными правилами отсеять неудачныесделки, трейдеры обычно достаточно быстро начинают отсеиватьи удачные тоже, поэтому увеличение количества правил(усложнение системы) своей цели не достигает.
1.2.3. Устойчивость системы.
Условия открытия или закрытия позиции не должныменяться на длинных временных интервалax, если это не связанос объективными причинами. Например, если Вы начинаететорговать через час после начала работы банков Японии, то Выдолжны учитывать переход с летнего времени на зимнее и обратно-Объективной причиной для изменения торговой системы можнотакже считать появление более хорошей торговой системы. Еслиправила включают оптимизацию параметров, то ее надо проводитьрегулярно, Это позволит Вам убедиться, что правила по-прежнемулают хорошие результаты. Если при тестировании торговойсистемы оптимальные параметры резко изменились, обязательновыясните, с чем это связано.
13
1.2.4. Варьирование торговых лотов
Для многих трейдеров данный пункт не столь важен - ониникогда не варьируют лоты Но если аналитик работает надостаточно крупную финансовую компанию, то частичное взятиеприбыли, либо частичное фиксирование убытков может составлятьобычную повседневную деятельность. Такой аналитик можетработать по многим рынкам одновременно и маневр финансами взависимости от ситуаций на рынках может быть весьма интересен,либо настоятельно необходим. Поэтому система должна работатьдля лотов различной величины. Для трейдера это может бытьважно и потому, что часто величина комиссионных различна дляразных лотов.
1.2.5. Контроль риска, управление капиталом идиверсификации
Сюда входят правила, преследующие цель сгладить кривуюдоходности. Лучший способ разбогатеть - богатеть стабильно.Если наша работа приносит доход регулярно, если у вас не бывает"авралов", отсутствует необходимость срочно привлечь средства,это позволяет работать спокойнее. Но ценность сглаженной кривойдоходности даже не только в этом. Если вы работаете успешно,то рано или поздно встает вопрос о реинвестировании прибыли.Это достаточно опасный момент и чем более сглажена вашакривая доходности, тем более безболезненно он проходит.
Под контролем риска обычно понимают процент капитала,который вы подвергает риску на отдельной сделке. Онконтролируется с помощью величины стоп-лосса. Если процентслишком велик, то вы можете просто не вступать в такую сделку.Здесь же могут быть правила по максимальному использованиюкапитала при игре одновременно на большом количестве рынков.
Диверсификация портфеля как раз представляет собойторговлю на разных рынках одновременно. Таким образом можно
14
эффективно использовать многие выгодные моментыодновременно. Можно с пользой пережидать периоды застоя накаких-то из своих обычных рынков. Можно страховаться от потерьна одних рынках прибылями на других. Если рынки сильнокоррелируют между собой, то их использование диверсификациейпортфеля не является. Вы просто как бы просто увеличиваете лотна одном из этих зависимых рынков и, соответственно,увеличиваете свои риски и делаете кривую доходности менеесглаженной, а свою работу - менее ритмичной и спокойной,Например, практически все валютные рынки сильно коррелируютмежду собой и поэтому не могут быть использованы длядиверсификации портфеля.
1.2.6. Механистичность системы
Правила должны быть совершенно однозначными. Они не
должны допускать произвольного толкования. Пользователь
должен в любом состоянии волнения, усталости, трезвости и т.д.
совершенно однозначно понимать, соответствует сложившаяся на
рынке ситуация правилам или нет. И, соответственно, что нужно
делать или не делать. При волнении способность человека
критически мыслить сильно снижается - это хорошо известно.
Трейдинг на валютных рынках - весьма волнующая вещь. Поэтому
однозначность инструкций, их жесткость, понятность так важны.
Система должна быть полностью механистической. Это означает,
что в системе все правила должны быть настолько четко
сформулированы, чтобы не могло возникнуть неоднозначности при
любых ситуациях. Хорошая проверка механистичности системы возможность записать её в виде набора правил, проверить ее работу
на избранных данных, затем передать эти правила другому
человеку и пусть он проверит результаты работы системы на тех же данных. Если результаты совпадут, то система, скорее всего,
механистична. Если система не будет полностью механистичной,
её нельзя будет протестировать.
Разберем вопрос о тестировании торговой системы. Конечно,тестируя систему на имеющихся прошлых данных, мы получимлишь гипотетический результат относительно будущих торгов. Мыне сможем узнать, как система будет работать в реальномвремени, а только - как бы она работала раньше. Но существуеттолько два способа выяснить, имеет ли ваша придуманная системахоть какой-то потенциал. Первый - торговля в реальном времени.Второй - ее тестирование. Первый способ долог и дорог. Второйспособ позволит вам установить положительные и отрицательныечерты вашей системы, хоть и предположительно. Но степеньреалистичности ожиданий тоже можно с немалой точностьюрассчитать статистическими методами. Кроме того, и результатетестирования можно сравнить две системы или две разныхвариации одной системы и выбрать наиболее подходящую.
Вы выясняете - обладает ли ваша система теми самымиположительными ожиданиями, необходимость которых мыпостулировали в пункте первом. Если даже теоретически систематакими ожиданиями не обладает-прекрасно. Вы потратили тольконемного времени и вовсе не потратили денег, чтобы это узнать.При создании этой системы вы глубже узнали рынок и своианалитические возможности. Они вам пригодятся при разработкеследующей системы, ибо эту надо безжалостно отбросить. Длятестирования системы вы должны сделать её полностьюмеханистичной. Единственным элементом, требующим вашеговмешательства, будет вопрос– входить в торги или нет. Получениеили неполучение сигнала будет однозначным. Для этого все правиладолжны быть жестко формализованы.
Если вы будете воплощать правила в реальную игру смодификациями - то очень сомнительно, что результаты будутлучше теоретических. Для этого нужно опять-таки обладатьопытом. Но это уже ваш выбор, А система должна жестко
16
диктовать: нужны такие-то данные, принимается такое-то решение,производятся такие-то действия. Не всегда будет успех, главное -положительная тенденция.
Мы будем рассматривать только полностьюмеханистические системы, если не оговорено обратного
1.2.7. Применимость системы
Систему надо использовать только для тех условий и валют,для которых она была создана. К примеру, если системасоздавалась для работы на часовых свечах швейцарского франка,то ее нельзя применять ни для работы с дневными свечамишвейцарского франка, ни для работы с часовыми свечами японскоййены без дополнительной отладки.
Разумеется, при создании своей торговой системы Выможете добавить к этому списку несколько своих правил. Но какпоказывает опыт, ни одно из приведенных выше правил не являетсялишним. Конечно, для того, чтобы создать систему,удовлетворяющую всем этим правилам, придется проделатьбольшую работу. Для облегчения этой работы созданыспециальные программы. Эти программы позволяют большуючасть рутинной работы по обработке данных выполнять на ЭВМза короткое время. В большинстве своем эти программыпозволяют людям после короткого обучения записывать итестировать свои торговые системы с помощью встроенного вэти программы языка. Одной из самых лучших и самыхраспространенных в мире программ является программаMetaStock. Поэтому мы по возможности будем приводить примерыторговых систем, записанных в терминах MetaStock. Однако надопонимать, что ни одна программа не заменит Ваши знания и опыт.Программы могут помочь Вам только проверить Ваши идеи.
Теперь пора подробнее рассмотреть вопросы, возникающиепри создания торговой системы.
17
1.3. Выбор валюты
В настоящее время на рынке FOREX в основном работаютс четырьмя валютами: японской йеной, швейцарским франком.английским фунтом и евро, а также на кросс-курсах. Однакоторговля на кросс-курсах менее распространена и требует большего опыта работы, чем работа с конкретной валютой, ипоэтому в дальнейшем торговлю на кросс-курсах мырассматривать не будем. При выборе валюты для торговли и,coответственно, для создания торговой системы надо учитыватьнекоторые особенности валют. Одной из важных характеристиквалюты является её «тяжесть». Говорят, что валюта А тяжелее,чем валюта Б, если при одинаковом лоте и при изменении курса наодинаковое количество пунктов прибыль (или убыток) для валютыА больше, чем для валюты Б. Например, английский фунт«тяжелее» швейцарского франка. Но это не означает, чтовозможная прибыль по «тяжелой» валюте больше, чем по «легкой».Обычно величина хода по «тяжелой» валюте меньше, чем по«лёгкой». Для примера на рис. 1.3.1 приведены часовые графикишвейцарского франка и евро за один и тот же период времени суказанием минимальных и максимальных значении цены длякаждой валюты.
Из графиков видно, что величина хода по евро равна
1.0574-1.0120 = 0.0454 (или 454 пункта),а величина хода по франку равна
1.5865-1.5192 = 0.0673 (или 673 пункта).
Нетрудно посчитать, что, несмотря на разную величину хода,в обоих случаях можно было получить практически одинаковуюприбыль. Конечно, франк и евро с вязаны между собой более тесно,чем другие валюты, но тем не менее общее правило о том, чточем «тяжелее» валюта, тем меньше ее ход при равных условияхобычно выполняется. Однако при установке стоп-лосса приходитсяучитывать не величину хода, а другие параметры, и поэтому на
18
Рис. 1.3 1. Часовые графики для франка и евро за
один и тот же период времени
первых порах, пока нет достаточного опыта, при прочих равныхусловиях лучше работать с «легкой валютой». К таким валютамможно отнести швейцарский франк. Вторая характеристикавалюты - это устойчивость ее трендов Пока нет общепринятогопоказателя для измерения этой величины, но интуитивно понятно,о чем идет речь. Мы считаем, что устойчивость трендов дляфранка больше, чем для большинства других валют. Поэтому дляначинающих трейдеров мы рекомендуем начинать разрабатыватьторговые системы именно для швейцарского франка.
1.4. Влияние данных фундаментальною анализа
Уже не один десяток лет трейдеры обсуждают два вопроса:
1. можно ли работать на рынке FOREX не знаяфундаментального анализа;
2. нужно ли при работе учитывать данные фундаментальногоанализа.
В последнее время все большее число трейдеров отвечает
4
на оба вопроса утвердительно. Да, утверждение «рынок учитывает
вес» остается справедливым и в наше время, и поэтому можно
?
торговать, не зная фундаментального анализа. Большое числопрограмм помогают трейдеру начать работать на рынке и получатьприбыль, почти не сталкиваясь с фундаментальным анализом. Такзачем же нужен фундаментальный анализ?
Фундаментальный анализ в применении к валютному рынкуизучает международные экономические, финансовые иполитические факторы, их взаимосвязь и влияние на поведениевалютных курсов. Таким образом, он видит то, чего сегодня нетна графиках, но завтра уже появится и станет предметомтехнического анализа; любое движение цены получит тогда своёграфическое истолкование, которое можно будет использовать впрогнозах и для открытия позиций. Но это будет уже послезавтра,А если правильно и вовремя истолковать события, происходящие
20
Рис. 1.4.1. Скачок цены йены на тиковом графике
за графиком сегодня, то можно получить прибыль уже завтра.
При работе внутри дня надо рассчитывать на то, что позициябудет закрыта через несколько часов, и, казалось бы, данные пофундаментальному анализу ничего не смогут изменить, так какрынок на них среагирует не сразу. Но в реальном мире это не так.Регулярно выходят сведения о состоянии экономики ведущих странмира. И реакция рынка на эти сообщения может быть мгновенной.На рис. 1.4.1. приведена часть тикового графика для йены за 19сентября 1999 года. На графике хорошо видна реакция рынка насообщение банка Японии о том, что политика на денежном рынкебудет продолжаться без изменении, хотя многие ожидалиинтервенции йены для ее ослабления. Это яркий пример того, какмогут сообщения повлиять на цену валюты.
Один из вариантов учета фундаментального анализа напервых порах может заключаться в следующем:
если в ближайшее время ожидается выход важных данныхпо экономике, то не открывать новую позицию, если неясно, кудапойдет рынок после выхода данных;
в крайнем случае, если очень хочется открыть позицию,то поставьте ордер в ту сторону, куда хотите открыть позицию.Если цена пойдет в нужную строну, то все будет хорошо. Впротивном случае позиция просто не будет открыта;
если у Вас уже есть открытая позиция, то уменьшите стоп-лосе или закройте ее,
В дальнейшем в этой книге мы не будем учитывать данныепо фундаментальному анализу. Для более подробного изученияфундаментального анализа мы рекомендуем книгу В.Н.Лиховидова «Фундаментальный анализ мировых валютных рынков:методы прогнозирования и принятия решений»
22
1.5. Выбор временных интервалов
Когда говорят о выборе временных интервалов, топодразумевают выбор свечей (например, часовые или дневные),на которые ориентируются в первую очередь. Однако это ни в коемслучае не означает, что свечи, построенные на больших илименьших временных интервалах, не надо учитывать. Хорошоизвестная «система трех экранов» предлагает использовать приработе свечи, построенные с учетом трех временных интервалов.Например, если Вы решили работать на часовых свечках, то подневным свечкам вы определяете направление тренда, по часовымсвечкам Вы находите откат, чтобы открыть позицию понаправлению тренда, а по пятиминутным свечкам определяетеконкретный момент входа в рынок. Однако при этом Вы будетеориентироваться на те движения цены, которые происходят втечении нескольких часов, а не дней, и в этом случае говорят, чтоВы работаете на часовых интервалах. Так на что же надоориентироваться при выборе временных интервалов? Один изосновных критериев при выборе временного интервала - этоколичество денег, которыми Вы располагаете. Это связано с тем,что при работе на часовых свечках величина стоп-лосса обычноколеблется в интервале 30-70 пунктов, а при работе на дневныхсвечках стоп-лосс обычно не меньше 100 пунктов, а частодостигает 250 пунктов. Большинство торговых систем допускаетпоявление нескольких проигрышных сделок подряд, и при этом приобщем выигрыше временные потери могут быть значительными.Поэтому при небольшом капитале работать на дневных свечкахопасно. Второй критерий - время доступа к информации. Если Выможете получить информацию о рынке и связаться с брокеромпрактически в любое время (например, по Интернет), то Вы можетеработать на часовых свечках. Если же Вы хотите уделять рынкуFOREX только один час утром, то Вам надо работать с дневнымисвечками. Третий критерий - это Ваш характер. Если Вы хотите
23
открывать позиции часто, то работа на дневных свечках не дляВас. При работе на дневных свечках может пройти несколько дней,пока появятся условия для открытия позиции, независимо от того,какой торговой системой Вы будете пользоваться. Обратитевнимание, что мы все время говорим только о часовых и дневныхинтервалах. Это связано с тем, что работа на недельных имесячных интервалах обычно приставляет интерес для крупных
организаций, а интервалы меньше часа не дают возможностииспользовать всю мощь технического анализа. Конечно, можноработать на очень коротких временных интервалах (такназываемым «джоббинг»), но мы не рекомендуем этого делать дотех пор, пока у Вас не будет достаточного опыта работы навалютном рынке. А когда он у Вас будет, Вы, скорее всего, и самине захотите так работать. Исходя из вышеизложенного, мырекомендуем начинать работать на часовых интервалах и вдальнейшем в книге мы тоже будем в основном ориентироватьсяна работу с часовыми свечками,
1.6 Выбор индикаторов
Правильный выбор индикатора является одним изважнейших условий для создания хорошей торговой системы.Несмотря на то, что обычно в торговой системе используется неодин индикатор, тем не менее всегда при создании системы сначалавыбирают один индикатор и на его основе строят простейшуюторговую систему. И только после этого начинают подбиратьвторой индикатор, использование которого позволило бы устранитьили уменьшить недостатки торговой системы. Например, если вкачестве основного индикатора выбрать стохастическийосциллятор, который предсказывает развороты рынка, то вторыминдикатором может быть ADX, который определяет силу тренда.В качестве индикатора могут выступить конфигурации свечей или
какие-нибудь фигуры (например, дивергенция). При этом
24
необходимо понимать, что первый вариант торговой системы,построенный на основе любого индикатора, вряд ли даст хорошийрезультат. Обычно систему модернизируют несколько раз,добавляют различные фильтры (фильтр - это добавочное условиедля открытия или закрытия позиции), тестируют на разных валютахи только после этого принимают или отвергают. Иногда небольшоеизменение системы позволяет воспользоваться всемидостоинствами именно выбранного Вами индикатора и получитьхорошую торговую систему. Однако надо понимать, что чембольше фильтров для улучшения системы мы введем, тем режемы будем открывать позицию и тем самым мы будем уменьшатьвозможный выигрыш, а чем меньше будет фильтров, тем большевероятность того, что система даст неправильный сигнал. Обычнохорошая система не должна содержать больше 5-6 параметров.Список полезных индикаторов может быть очень большим.Практически на основе любого из имеющихся в пакете MetaStock(или в любой книге по техническому анализу) индикатора можетбыть построена торговая система. У каждого работающеготрейдера есть один или несколько любимых индикаторов. Надопонимать, что система строится на основе нескольких индикаторов,и только совокупность этих и индикаторов может дать сигнал коткрытию или закрытию позиции. Вполне хорошие результатыможет дать торговая система, построенная на основе такихнаиболее распространенных индикаторов, как скользящие средние,RSI и стохастика. При этом скользящие средние будутиспользоваться и для того, чтобы определить, находится рынок втренде или в канале.
1.7. Следовать ли тренду
Вопрос не столь глуп, как можно подумать сразу. Егоактуальность заключается в том, что человек любит мечтать.Например, он мечтает поймать конец старого тренда и начало
25
нового и открыться в противоход существующему движению,чтобы извлечь сказочные прибыли. И эта практика весьмараспространена. В другой части мы даже разберем достаточноздравую систему, как раз пытающуюся воплотить в жизнь этумечту на достаточно реалистических основаниях (на основедиапазона Боллинджера). Но в этой части мы без всякой агитациипросто приведем сухие, но вопиющие данных статистики обычныхантитрендовых стратегий из книги Tushar S Chande.
Исследовались дневные графики по семи различным рынкамза период в шесть лет.
Первая стратегия заключалась в продаже при попаданиистохастика в зону выше 80% и покупке - при попадании в зонуниже 20%, На шести рынках из семи эта стратегия за шесть летработы принесла убытки,
В качестве второй стратегии использовался простой методпересечения двух средних Торговым сигналом являлосьиспользование пересечения короткой средней длинной снизу вверх- для покупки, и сверху вниз - для продажи. Пересечения впротивоположных направлениях считались антитрендовымсигналом. Стопы не использовались. Условие закрытия позиции водну сторону являлось одновременно и условием открытия позициив противоположную сторону.
При отслеживании пересечений недельной (5-дневной) имесячной (20-дневной) средних и трендовая и антитрендоваястратегии показали отрицательный результат по всем рынкам. Нов среднем убыток при игре по трендовым сигналам был в пятьpаз меньше, чем по антитрендовым, a MIDD - в полтора разаменьше.
При отслеживании пересечений семи и пятидесятидневнойсредних при игре по трендовым сигналам была получена прибыльна всех рынках. По антитрендовым сигналам - на всех рынкахубыток. MIDD при игре по трендовым сигналам в среднем был в
26
четыре раза меньше (!), чем но антитрендовым.
Для внутридневной торговли на рынке Forex намиисследовались графики по японской йене, английскому фунту,швейцарскому франку и евро. Эти исследования ясно показалипреимущество работы по тренду. Более подробно результаты этихисследований приведены в главе «Параметры осцилляторов навнутридневном рынке FOREX».
Поэтому мы предлагаем при работе в основномиспользовать трендоследующие системы. При этом надопонимать, что в основе любой методики лежат определенныепостулаты - предположения, выраженные более-менее явно иболее-менее осознанные автором. Мы всегда можем их вычленитьи, соответственно, проверить их реалистичность и достоверность.Предположения, стоящие за трендоследующими системамитаковы:
Рынки ровно ходят вверх-вниз, тренд длится долго,
Закрытие временного интервала (дня, часа) с другойстороны средней сигнализирует о смене тренда.
У рынков нет больших притивотрендовых размахов.
Цена не уходит слишком далеко от своей средней.
Ложных сигналов немного и они не влекут большихубытков.
6. Тренды длятся неделями и месяцами.
7. Рынки находятся преимущественно в трендах.
Реальность выглядит не так безоблачно. Мы видим, что :
1 .Рынки часто находятся в торговых каналах с малымразмахом, цена часто пересекает среднюю и получается много неочень больших убытков.
2, Существуют большие размахи в доходности, т.к. модель"отдает назад" большую долю профита, когда тренд меняется.
3. Система нуждается в довольно больших стопах, чтобыне упустить те 5% сделок, которые приносят основную прибыль.
27
4. Система часто генерирует сигналы на покупку на краюсильного движения вверх и сигналы на продажу на краю сильногодвижения вниз. Поэтому стоп может быть выбит коротким, ноэнергичным антитрендовым движением.
Но у этого подхода имеется и ряд достоинств. Они таковы: 1. Вы гарантировано пойдёте в игру в направлении главноготренда, когда он, наконец, случится.
Система приносит прибыль на множестве рынков и намножестве временных интервалов от шести месяцев до пяти лет.
Система обычно определенна, ее правила легко понять иим следовать,
Хорошо определяются параметры контроля риска,
5. На основе этой системы можно разработать другиесистемы, в которых основные недостатки сглажены, например,более точно определять условия открытия или закрытия позиции,когда цена находится в канале с малым размахом.
Особое внимание следует обратить на пятый пункт. Именнов результате разработки на основе трендоследующих систем болееточных правил открытия и закрытия позиций получаются самыеудачные торговые системы.
1.8 Диагностика тренда
Как мы уже говорили, опознание тренда и канала очень важнодля создания торговой системы, В трендовом рынке болееподходят долговременные стратегии, здесь нужно подождать,чтобы дать прибыли вырасти. В рэнжевом рынке нужнодействовать быстро - быстро входить, быстро выходить. Стратегиидолжны быть кратковременными. Существует множествоспособов определения тренда. Рассмотрим некоторые из этихспособов.
28
Рис. 1.8.1. Часовые свечи швейцарского франки и простые скользящие средние:
1 -120 - часовая, 2-24 - часовая.1.8.1. Скользящие средние
Хорошие результаты при определении тренда могут бытьполучены при использования скользяших средних. Самый простойспособ определения тренда - использование двух скользящихсредних с разными периодами. Если скользящая средняя с болеекоротким периодом расположена выше второй скользящей средней(с более длинным периодом), то можно считать, что тренд идетвверх, а если ниже, то вниз. Для дневных свечек можноиспользовать 3 - дневную скользящую среднюю в сочетании с 12- дневной скользящей средней или 9 - дневную скользящуюсреднюю в сочетании с 18 – дневной. Для часовых свечек приопределении тренда желательно использовать большее количествосвечек, так как внутридневной рынок больше подверженколебаниям, чем дневной. На рис, 1.8.1 приведен график часовыхсвечей швейцарского франка с двумя простыми скользящимисредними; 120 - часовой (120 часов - это неделя) и 24 - часовой.
Если 24 - часовая скользящая средняя находится ниже 120 -часовой скользящей средней, то можно сказать, что рынокнаходится в нисходящем тренде. Если же 24 -часовая скользящаясредняя расположена выше 120 - часовой скользящей средней, томожно сказать, что рынок находится в восходящем тренде. Нарис. 1.8.1 хорошо видно, что при использовании двух скользящихсредних существует возможность определения направления тольковверх или вниз, но нельзя определить боковой тренд.
Однако на основе скользящих средних можно отслеживатьи боковой тренд, если для этого использовать более двухскользящих средних. Например, используя для часовых свечейкомбинацию 120-, 48- и 12 - часовых скользящих средних можноопределить восходящий тренд, нисходящий тренд и боковой тренд:
если 12 - часовая скользящая средняя ниже 48 - часовойскользящей средней, а 48 - часовая скользящая средняя ниже 120
30
Рис 1.8.2. Часовые свечи швейцарского франка и три простые
скользящие средние: 1 - 120 - часовая скользящая средняя,
2 - 48 - часовая скользящая средняя, 3 - 12 - часовая скользящая
средняя. А- участок восходящего тренда, В – боковой тренд,
С - участок нисходящего тренда.
- часовой скользящей средней, то мы имеем нисходящий тренд;если 12- часовая скользящая средняя выше 48 - часовой
скользящей средней, а 48 - часовая скользящая средняя выше
120 - часовой скользящей средней, то мы имеем восходящий тренд;если не выполняется ни одно из этих условий, то боковой
тренд (или, что то же самое, тренда нет).
На рис. 1.8.2 приведен график часовых свечей швейцарскогофранка и три простые скользящие средние, которые позволяютопределить не только восходящий и нисходящий тренды, но ибоковой тренд.
Приведенные нами значения для часовых скользящихсредних (120,48 и 12) дают неплохие результаты при работе внутридня на валютном рынке, однако Вы можете их изменять,ориентируясь на Ваш стиль работы. Чем более короткиевременные интервалы Вам интересны, тем более короткие периодыдля скользящих средних Вы должны брать. При этом надопонимать, что скользящие средние с очень короткими периодамив принципе не могу помочь при определении тренда, но могут бытьполезными при определении отката, чтобы именно на откатеоткрыться в направлении тренда.
1.8.2. Индикатор ADX
При определении тренда для дневных графиков можноиспользовать широко распространенный метод ADX размерностью14 или 18 дней вместе с +DI и -DI. ADX показывает силу тренда.Чем больше ADX, тем сильнее тренд, то есть тем более сильноедвижение рынка имеет место. При этом надо иметь ввиду, чтодвижение рынка может быть направлено как вверх, так и вниз,ADX не различает растущий и падающий рынки. ADX может расти,в то время как цены надают. Направление рынка можноопределить, используя + DI и -D1. Если +DI выше -D1, то трендидет вверх, если ниже - то вниз. Тренд считается хорошо
32
Рис. 1.8.3. Швейцарский франк и 18 - дневный ADX.
Для ADX проведена сигнальная линия на уровне 20
Рис. 1.8.4. Часовой швейцарский франк и 18-часовой ADX
выраженным, если ADX > 20. Однако некоторые авторы считают,что при хорошо выраженном восходящем или нисходящем трендеADX не только должен быть больше 20, но и возрастать. Но влюбом случае, если ADX <20, то тренд считается боковым. Нарис. 1.8.3 приведен график дневных свечей швейцарского франка и 18 дневный ADX.
Для часовых свечей для вычисления ADX можноиспользовать те же значения, что и для дневных. При этом ADXбудет давать запаздывающие сигналы. Однако если вычислятьADX по более короткому периоду, то будет много лишнихпересечении или максимумов (в зависимости от того, что Высчитаете окончанием тренда). На наш взгляд АDХ для часовыхсвечек менее полезен, чем для дневных. Для сравнения на рис.1.8.4. приведен график часовых свечек швейцарского франка иADX, вычисленный по 18 часовым свечкам. На графике видно,что ADX на часовых свечках запаздывает сильнее, чем надневных. Восходящий тренд начался 18 октября, a ADX несколькодней никак не реагирует на это.
1.8.3. Индикатор RAVI
В качестве трендового индикатора порекомендуем также
индикатор, введенный Т.Чандом - RAVI (Range Action Verification
Index). Он построен на другом принципе, нежели АDХ. Чандпредлагает 13-недельную SMA как основу индикатора. Она представляет квартальные (3 месяца = 65 рабочих дней)настроения рыночных масс по поводу стоимости. Короткаясредняя составляет 10% от длинной и равна округленно семи, ВMetaStock этот индикатор можно записать в следующем виде:
RAVI = 100*(SMA(7) - SMA(65)) / SMA(65)
Т.Чанд рекомендует следующие справочные линии дляиндикатора: плюс-минус 0.3 процента, либо плюс-минус 0.1%
35
Puc. 1.8.5. Индикатор RAVI на часовых свечках швейцарского франка
процент (в зависимости от рынка). При пересечения индикаторомверхней справочной линии вверх, считается, что начался трендвверх. При пересечении индикатором нижней справочной линиивниз считается, что начался тренд вниз. Тренд вверх считаетсясохраняющимся, пока линия RAVI продолжает расти. Тренд вниз,соответственно - пока RAVI продолжает падать. Как толькоиндикатор разворачивается к нулевой линии - считается, что трендпрекратился, начался канал. Но если индикатор вновь развернется,не войдя в промежуток между справочными линиями, считается,что тренд возобновился.
Сам по себе предложенный индикатор весьма прост и почтиидентичен Ценовому Осциллятору и МАCD. Уникальнымявляется использование показателя схождения-расхождения курсав качестве трендового указателя, обращая внимание именно нарасхождение, а не на пересечение средних.
Если рассмотреть метод построения АDХ, то можноотметить, что этот индикатор имеет два сглаживания. RAVI имеетодно сглаживание. Это делает указанный индикатор более чуткими с указанными значениями он раньше предупреждает о началеи об окончании тренда, нежели восемнадцатидневный ADX. Нарис. 1.8.5. приведен график RAVI для часовых свечейшвейцарского франка. Справочные линии проведены на уровне+0.3%. Хорошо видно, что когда RAVI расположен междусигнальными линиями, рынок находится в боковом тренде.
1.8.4. Алгоритм Зельдина
Оригинальный алгоритм для определения тренда предложилЗельдин О.М. Этот алгоритм заключается в следующем.
37
Рис. 1.8.6. Пример подтвержденного максимума
Основной тренд определяем по дневным свечкам. Для этогоищем, какая из двух конфигураций - подтвержденный максимумили подтвержденный минимум была последней. Подтвержденныймаксимум - это такая свечная конфигурация, когда цена закрытиясвечи меньше минимального значения той свечки, максимальноезначение которой образовало локальный максимум. Примерподтвержденного максимума нарисован на рис. 1.8.6.
Puc.1.8.7. Пример подтвержденного минимума.
Аналогично, подтвержденный минимум - это такая свечнаяконфигурация, когда цена закрытия свечи больше максимальногозначения той свечки, минимальное значение которой образовалолокальный минимум. Пример подтвержденного максимуманарисован на рис 1.8.7.
После этого по двум последним дневным свечамопределяем, поддерживает ли рынок тренд или нет. Если последнейконфигурацией был подтвержденный максимум, то считаем, чтодневной тренд вниз поддержан рынком, если выполняются
38
следующие условия:
1. вчерашняя минимальная цена меньше позавчерашнейминимальной цены;
2. вчерашняя максимальная цена меньше позавчерашней
максимальной цены;3. вчерашняя цена закрытия меньше позавчерашней цены
закрытия.
Если хоть одно из этих трех условий не выполняется, тосчитаем, что тренда нет и рынок находится в канале. Аналогично,если последней конфигурацией был подтвержденный минимум, тосчитаем, что дневной тренд вверх поддержан рынком, есливыполняются следующие условия:
1. вчерашняя минимальная цена больше позавчерашнейминимальной цены;
2. вчерашняя максимальная цена больше позавчерашнеймаксимальной цены;
3. вчерашняя цена закрытия больше позавчерашней цены
закрытия.
Разумеется, если хоть одно из этих трех условий невыполняется, то считаем, что тренда нет и рынок находится вканале. Ширина канала определяется минимальной имаксимальной ценами за вчерашний и позавчерашний день.Обратите внимание, что сегодняшние цены мы пока нерассматривали.
Теперь перейдем к внутридневным свечам. Начнем сшестичасовых. Шестичасовые свечки закрываются зимой в 6,12, 18 и 24 часа по Гринвичу, а летом - в 5, 11, 17 и 23 по Гринвичу.Если дневной тренд идет вверх и если за сегодня, вчера и позавчерапоследний подтвержденный экстремум - подтвержденныйминимум, то считаем, что тренд идет вверх. Если дневной трендидет вниз и если за сегодня, вчера и позавчера последнийподтвержденный экстремум - подтвержденный максимум, то
39
тренд идет вниз. Во всех остальных случаях тренда нет, и цена,соответственно, находится в канале. На основе этого определениятренда и канала Зельдиным О.М, была создана хорошая торговаясистема для работы на рынке FOREX.
В дополнение к рассмотренным методам определениятренда классическими и вполне приемлемыми индикаторамиявляются линии тренда, линии линейной регрессии, методы наоснове крестиков - ноликов, параболики и некоторые другие. Однаконе все из этих индикаторов дают возможность определить боковойтренд. В этом случае надо использовать комбинацию индикаторов.Когда сигналы индикаторов не согласуются между собой, рынокнаходится в боковом тренде.
Мы так подробно остановились на методах определениятренда потому, что именно определение тренда является одной изосновных частей любой торговой системы.
1.9. Использование фигур технического анализа Включение фигур технического анализа в торговую систему,с одной стороны, может повысить ее результативность, так какмногие фигуры дают хорошую информацию о продолжении трендаили о его развороте. С другой стороны, определение большинствафигур технического анализа трудно формализуемо. В прекраснойкниге Томаса Р. Демарка «Технический анализ - новая наука»хорошо описаны проблемы, возникающие при рассмотрении фигуртехнического анализа и сделаны первые шаги к созданию строгихправил их построения. До сих пор построение фигур техническогоанализа является скорее искусством, чем наукой, и поэтомусоздать механистическую торговую систему с их использованиемдовольно трудно. Тем не менее нельзя отрицать полезность этихфигур при работе на рынке. Одна из основных ошибок, которуюделают начинающие трейдеры - использование фигур техническогоанализа не там, где они могут быть информативны. В основном,
40
это относится к фигурам перелома, поэтому в соответствии сметодикой Д.Мэрфи, сформулируем общие свойства, относящиесяко всем фигурам перелома.
1). Существенной предпосылкой формирования разворотнойфигуры является наличие четко выраженной предыдущейтенденции. Не может быть разворотной фигуры, показывающейразворот тренда вниз, если перед этим не было тренда вверх.Разумеется, конфигурация, характерная для какой-либо фигурыперелома, может возникнуть и на бестрендовом участке, но в этомслучае она не может предсказывать перелома, а является, скореевсего, «ложной тревогой». Кроме того, важнейшим свойствомразворотных фигур является возможность количественной оценкибудущего движения: исходя из величины предшествующего ходацены по тренду часто удается предсказать величину хода послеперелома тенденции.
2). Прорыв важных линий тренда является сильным сигналомо возможном переломе динамики рынка, хотя сам по себе прорывеще не есть сигнал перелома. Для того, чтобы быть уверенным втом, что перелом наступил, необходимо дождаться подтверждения.Например, на дневных свечках подтверждением может служитьзакрытые двух свечей подряд в нужном направлении.
3). «Чем крупнее модель, тем больше потенциал». Болеекрупная модель имеет больший размах цен (волатильность). Чембольше этот размах и чем более длительный период времени занялоформирование модели, тем мощнее будет последующее движениев предсказываемом направлении.
4). «Модели вершины, как правило, короче по времени и болееизменчивы (волатильны), чем модели основания». Это являетсяследствием эмпирического принципа:«цены, как правило, падаютбыстрее, чем растут». Вторым следствием является то, что«модели основания, как правило, характеризуются меньшимразбросом цен, и для их построения требуется большее количество
41
времени».
5). Объем торговли, как подтверждающий фактор, играетважную роль во всех фигурах, но при переломе рынка медведей крынку быков подтверждение повышенным объемом особенноважно. Общее правило заключается в том, что объем долженвозрастать при движении в направлении главной тенденции. Нопри переломе от восходящего к нисходящему тренду, особенно
4
после периода энергичного роста, рынок иногда «рушится подсобственным весом», то есть, при малом объеме торговли,Переход же от основания графика к подъему, как правило, долженсопровождаться ростом объема; иначе начало подъема можетоказаться ложным сигналом. К пятому пункту необходимодобавить, что на рынке FOREX объем играет незначительную роль.Это связно с тем, что если на рынке акций объем отражаетколичество денег, то на рынке FOREX объем отражает количествосделок. В этих условия десять сделок по 100 000$ дадут в десятьраз больший вклад в объем, чем одна сделка на 10 000 000$.
Обычно в торговые системы, которые не приходитсяоптимизировать на ЭВМ, достаточно легко включить такие фигурытехнического анализа, как уровни поддержки и сопротивления,дивергенции, двойные вершины и некоторые другие. Однако притестировании или оптимизации таких систем с использованиемнаиболее распространенных пакетов программ (например,MetaStock или SuperChart) могут возникнуть трудности, так какнет возможности в рамках этих пакетов строго определитьалгоритм распознавания этих фигур. Поэтому в дальнейшем мыне будем использовать фигуры технического анализа приоптимизации и тестировании торговой системы, выбранной намидля примера.
42
1.10. Комбинации свечей при построении системы
Использование комбинаций свечей при тестировании торговыхсистем может быть полезным добавлением к любой торговойсистеме. Многие комбинации свечей (например, звезды, харами,поглощение) можно определить, используя такие программы, какMetaStock и SuperChart. Это, в свою очередь, означает, что дляэтой комбинации свечей хорошо разработаны методы определения,и их можно использовать при создании механистических торговыхсистем.
При использовании комбинаций свечей для полученияполноценного рыночного сигнала необходимо знать цену закрытия.Сейчас, когда Интернет позволяет отслеживать цены в реальномрежиме времени, многие индикаторы могут дать сигналы напокупку или продажу в любой момент времени. В то же время дляпостроение законченной часовой свечи необходимо дождатьсяконца часа. Еще более долгий срок надо ждать завершения дневнойсвечи. Это, конечно, недостаток свечного анализа. Но с другойстороны это позволяет избежать лишних дерганий. Кроме того, ненадо забывать, что любой сигнал должно подтвердить движениецены, то есть после того, как комбинации свечей указала напредполагаемое движение цены, необходимо дождаться, пока ценареально пойдет в этом направлении.
При построении большинства индикаторов тожеиспользуются цены закрытия. И пусть Вас не обманывает тотфакт, что при наблюдении движения цен и индикаторов и реальномрежиме времени значения индикаторов существуют даже тогда,когда временной период еще не закончился. Точно так жесуществуют и свечи, которые можно строить, используя вместо цены закрытия цену последней совершенной сделки. Ни значенияиндикаторов, ни параметры свечей, полученные таким образом,не могут считаться достоверными. Эти хорошо видно, еслиобратить внимание на то, что в реальном режиме времени часто
43
небольшая свеча становится то черной, то белой (а RSI, например,меняет свое направление) в зависимости от цены последней сделки.Поэтому мы считаем, что, несмотря на запаздывание, комбинациисвечей могут давать не менее полезные сигналы, чем другиеиндикаторы. Очень хорошо и подробно об использовании свечейнаписано в книгах Нисона "Японские свечи: графический анализфинансовых рынков" и “New Japanese Charting TechniquesReveaed”.
1.11. Выбор лота
Напомним, что лот - это количество денег, с которыми выработаете в конкретной сделке. Вообще-то правила выбора лотаи правила работы с деньгами - это большая отдельная тема иподробно она рассмотрена в пособии, посвященном управлениюкапиталом. В этом пособии мы постараемся дать наширекомендации, не стараясь их строго обосновать теоретически.Для многих трейдеров данный пункт не столь важен - они никогдане варьируют лоты. Но если аналитик работает на достаточнокрупную финансовую компанию, то частичное взятие прибыли, либочастичное фиксирование убытков может составлять обычнуюповседневную деятельность. Такой аналитик может работать помногим рынкам одновременно и маневр финансами в зависимостиот ситуаций на рынках может быть весьма интересен, либонастоятельно необходим. Кроме того, определение оптимальногоразмера лота в зависимости от имеющегося в Вашемраспоряжении капитала тоже является непростой задачей. Вомногих зарубежных работах рекомендуют работать с таким лотом,чтобы возможные убытки ни одной позиции не превышали 2% отвсей суммы денег, которая имеется в Вашем распоряжении.Однако в наших условиях соблюдать это условие достаточносложно. Давайте рассмотрим, каким капиталом надо обладать,чтобы можно было соблюдать это правило. Наиболее
44
распространенная величина лота на начальных этапах – 100000$.При этом обычно величина плеча 1:100, то есть Вы продаете илипокупаете на 100000$, имея на депозите не менее 1000S,Возможный убыток при правильной работе определяется величинойстоп – лосса. Допустим, мы работаем со швейцарским франком ивеличина стоп - лосса равна 40 пунктам. Это реальная величинадля многих торговые систем. В этом случае потери присрабатывании стоп-лосса равны примерно 250$. Если 250$ должнысоставлять 2% от капитала, то Ваш капитал должен быть равен12 500$. Большинство начинающих трейдеров не обладает такимкапиталом. Что же делать в этом случае?
Во-первых, надо понимать, что для примера мы привелисамые жесткие условия. Даже в зарубежных работах часто вместо2% потерь фигурируют 5%. Это сразу снижает величинунеобходимого капитала до 5000$. Во-вторых, можно работать сменьшим лотом. Например, если работать с лотом в 50000$, топри этом капитал может быть равен 2500$, а если лот равен 10000$(это минимальный лот в FOREX-клубе), то начальный капиталдолжен быть ранен 500 $. Все сказанное выше никак не связано стем, по какой системе Вы собираетесь работать. И это, наверное,не совсем правильно. Поэтому попробуем подойти к величинелота, опираясь на свойства торговой системы и на величинуимеющегося капитала. Если Вы протестируете свою торговуюсистему, то увидите, что бывают периоды, когда она дает несколькоошибочных сигналов подряд. Это может случиться с любойторговой системой. Допустим, при тестировании торговой системына достаточно длинном временном периоде случилось четырепроигрыша подряд по 40 пунктов каждый. Чтобы мы могли и после
этих проигрышей работать с тем же лотом, у нас как минимум должна остаться сумма, которая позволит работать с тем же лотоми заплатить комиссионные. Если комиссионные составляют 10
долларов и мы хотим работать со швейцарским франком лотом в
45
100000$ (в этом случае один пункт в момент написания книгисоставлял примерно 6,3$), то начальный капитал должен составлять
(6,3$*40 + 10$)*4 + 1000S +10$=2058$
При этом мы предполагаем, что в дальнейшем болеедлинных периодов проигрышей не встретится. Мы в своей работевстречали такой неудачный период, когда наша любимая системадала шесть проигрышей подряд. Поэтому мы рекомендуем, еслиесть такая возможность, придерживаться следующего правила:размер лота не должен превышать трети Вашего капитала.Разумеется, это правило не является обязательным, но если Выбудете его придерживаться, то неудачный период не выбьет Вас срынка. Следующий вопрос, который возникает при выборе лота -менять ли лот во время игры. В принципе возможны разныеварианты. Если позиция дала прибыль, то можно уменьшитьлот, чтобы при развороте цены потери были меньше. Но при этоми прибыль будет меньше, если цена пойдет в нужную сторону.Можно увеличить лот, рассчитывая на то, что ход цены в нужнуюсторону будет продолжаться. Но в этом случае возрастут потери,если цена развернется. Мы не рекомендуем изменять лот приоткрытой позиции и ни в коем случае не увеличивать лот приубыточной позиции в надежде, что цена развернется и пойдет внужную сторону. Практически всегда это приводит к увеличениюубытка. Если Вам хочется увеличить лот, то задайте себе вопрос:если бы у меня не было открытой позиции, открыл бы я позициюсейчас? И в зависимости or ответа на этот вопрос принимайтерешение.
В практике работы трейдеров часто встречаетсяварьирование величиной открытой позиции после каких-то особеннозаметных удач или неудач. Психологически вполне понятно желаниеотыграться и взвинтить ставки; боязнь новой боли и новых потерь
46
- и снижение ставок после поражений; желание быстрееразбогатеть - и увеличение лотов после крупных удач. Насколькооправдано такое поведение?
Математическое моделирование позволяет получить важнуюинформацию к размышлению по данному вопросу. Рассмотримчетыре стратегии работы с лотом:
1. Сохранение того же лота.
2. Удвоение лота при выигрыше.
3. Снижение лота вдвое при проигрыше.
4. Удвоение при проигрыше.
В таблице 1.11.1 приведены результаты применениястратегий на примере одной из систем. Эти результатыпрактически не зависят от торговой системы (разумеется, кромесредней доходности).
Таблица 1.11.1
№ стратегииСредняя доходность систем в долларах% изменения доходности в зависимости от стратегииMIDD в долларах110340-13402105602.11850310070-2.4510474108704.82561Из этой таблицы хорошо видно, что удвоение позиций ведетк увеличению риска (увеличение MIDD), снижение лота вдвоеснижает риск сильнее, чем доходность. На сглаженность кривойдоходности (КД, о ней будет рассказано ниже) первые тристратегии не влияют никак. Четвертая стратегия очень сильноснижает сглаженность КД.
С нашей точки зрения результаты математическогомоделирования свидетельствуют о том, что лучше всегодействовать осторожно. И вообще варьирование лотом взависимости от текущих результатов лучше не практиковать.
47
1.12. Открытие позиций
Правила для открытия позиции могут быть самыми разными.Но в любом случае они должны быть четко сформулированнымии понятными. Обычно в этих правилах присутствует проверканаличия тренда и его направления. Использование осцилляторовпозволяет более точно определить удобный момент для открытияпозиции. Обычная ошибка начинающих трейдеров - это попыткаоткрыть позицию на самой вершине (или на самим дне) рынка ипоймать самое начало разворота цен. Тратятся огромные усилияна разработку такой торговой системы, которая давала быправильные сигналы без запаздывания. Обычно попытки создатьтакую систему заканчиваются разочарованием в торговыхсистемах вообще. Опытные трейдеры понимают, что рынку надодать время для того, чтобы новый тренд ясно обозначился, и послеэтого открывать позиции в направлении тренда. Да, при этом какая-то часть возможной прибыли будет упущена, но зато резкоуменьшается вероятность получения убытка.
Для удачного входа в позицию желательно использоватьданные трех временных интервалов. Это может быть система трехэкранов Элдера или ее аналог При работе на рынке в любоймомент времени мы должны учитывать три тренда.
Первый тренд - долгосрочный (при внутридневной работеэто дневной тренд, то есть тренд, определенный по дневнымсвечкам). Этот тренд используется для определения направления,в котором мы можем открывать позицию. Этот тренд дает намвозможность сделать следующее заключение: если мы будемоткрывать позицию, то мы будем открывать ее в направлении этоготренда. Для определения направления дневного тренда можнопользоваться индикаторами, построенными на часовых свечкахно использовать для их построения большие временные интервалы.Например, скользящая средняя, вычисленная по 120 часовымсвечкам, может быть использована для определения направления
48
дневного тренда.
Второй тренд - среднесрочный (при внутридневной работе -шестичасовой тренд или часовой тренд). При определении этоготренда используются более чувствительные индикаторы. Чащевсего здесь наряду с трендовыми индикаторами используют иосцилляторы для определения более точного момента вхожденияв рынок. Этот тренд говорит нам, когда надо открывать позицию.Третий тренд - краткосрочный. Это может быть часовой тренд,если среднесрочный тренд - шестичасовой (или дневной при работена дневных свечках). Но краткосрочный тренд может бытьпостроен и на пятиминутных свечках, если среднесрочный тренд- часовой. Этот тренд - самое краткосрочное движение цены,которое можно использовать для точного открытия позиции. Одиниз способов использования такого тренда мы опишем ниже в этомразделе. Правила использование этого тренда в торговой системене всегда удается записать с использованием стандартногопрограммного обеспечения для тестирования торговых систем,но это не мешает включить правила использования краткосрочноготренда в торговую систему, которая была отлажена сиспользованием стандартного программного обеспечения.
В хорошей торговой системе легко выделить сигналы,которые она дает на долгосрочном, среднесрочном икраткосрочном трендах. Сначала возникает сигнал накраткосрочном тренде, затем на среднесрочном и только потомна долгосрочном. Мы можем открыть позицию только в томслучае, если все три сигнала согласуются между собой.Следовательно, надо создать такую систему, которая, послепоявления сигнала, основанного на долгосрочном тренде, дастнесколько сигналов, основанных на среднесрочном и краткосрочномтрендах. Именно после того, как появился сигнал, основанный надолгосрочном тренде (например, цена закрытия пересекла свою120 - часовую скользящую среднюю), должен появиться сигнал,
49
основанный на среднесрочном тренде (например, RSI(12) пересекуровень 30 снизу вверх), и затем должен появиться сигнал,основанный на краткосрочном тренде (например, RSI(3) пересекуровень 50 снизу вверх). Появление сигналов именно в такомпорядке и является условием для открытия позиции.
Список полезных индикаторов, которые Вы можетеиспользовать для определения точек входа, очень велик, и всевремя появляются новые индикаторы. Обычно у каждого трейдераесть несколько любимых индикаторов, которыми он пользуется. Современем этот список может меняться, но в любом случае он небывает очень большим. Многие индикаторы дают практическиодинаковые сигналы, поэтому из группы таких индикаторовдостаточно использовать один. Мы рекомендуем на первых порахиспользовать торговые системы, основанные на комбинацияхскользящих средних, RSI и стохастическом осцилляторе. Онихорошо зарекомендовали себя на всех рынках в течение долгоговремени. И только по мере накопления опыта переходить к другим
индикаторам.
Чаше всего сигнал от торговой системы поступает призакрытии очередной свечки. Следовательно, открывать позициюможно по цене открытия следующей свечи. Однако реально этоне всегда удается из-за того, что требуется некоторое время напринятие решения о том, что надо открыть позицию и на связь сброкером. За это время цена может измениться. Это изменениецены называют проскальзыванием. Оно может быть какположительным, так и отрицательным. Если Вы будете быстрореагировать на сигналы Вашей торговой системы, топроскальзывание будет небольшим. При открытии позиции можноучесть, что большинство свечей имеют тени, то есть для нихсуществует возможность открыть позицию по более выгоднойцене, чем цена открытия свечи. Для часовых свечей на валютномрынке такая возможность имеется примерно для 60 % свечей.
50
Если у Вас есть возможность получать информацию о ценахдостаточно быстро, то мы рекомендуем при открытии позициидождаться отката цены. При работе внутри дня этого можнодобиться, используя пятиминутные свечки. Для примерарассмотрим алгоритм использования пятиминутных свечек дляоткрытия длинной позиции.
Если Вы получили сигнал на открытие длинной позиции ирешили действительно открыть длинную позицию, то можнопредложить следующее:
ждем появления минимума на пятиминутных свечках.Разумеется, если цена идет вверх, то сначала появитсямаксимум, и только потом цена пойдет вниз;
открываем длинную позицию, как только цена закрытияпятиминутной свечки будет выше максимальной цены тойпятиминутной свечки, на которой был достигнут минимум цен.
Рис. 1.12.1. Схема пятиминутных свечей для выбора моментаоткрытия длинной позиции.
На рис. 1.12.1 приведена схема, на которой показано, когданадо открывать длинную позицию по предложенному алгоритму.Пунктирной линией показано максимальное значение цены тойсвечки, на которой был достигнут минимум. Стрелкой указанасвечка, цена открытия которой и будет ценой открытии длинной позиции.
При работе с дневными свечками предложенный алгоритм
51
можно использовать для часовых свечек. Но в любом случае надопонимать, что позицию надо открывать тогда, когда цена идет внужном направлении, то есть движение цены подтверждаетсигналы Ваших индикаторов.
1.13 Закрытие позиции
В книге Чарльза Лебо и Дэвида В. Лукаса "Компьютерныйанализ фьючерсных рынков" утверждается, что правила закрытияпозиции важнее, чем правила открытия. С этим утверждениемможно спорить, но в любом случае 50 процентов успеха торговойсистемы обеспечивают именно правила закрытия позиции.Рассмотрим основные возможные варианты закрытия позиции.
1.13.1. Установка стоп - лосса.
Как показывает опыт многих поколений трейдеров, в первуюочередь надо определить величину стоп-лосса. Стоп-лоссопределяет величину потерь, которой Вы ограничиваете Вашиубытки. Стоп - лосс можно рассчитывать в пунктах или в долларах,но в любом случае для установки стоп - лосса Вы должны отдатьприказ (установить ордер) на покупку или продажу валюты, еслицена достигнет определенного уровня. Конечно, бывают случаи,когда после выполнения приказа на остановку потерь ценаразворачивается и идет в нужном направлении. Но при правильнойвеличине стоп-лосса это бывает редко и это недорогая плата завозможность ограничить свои потери. Те трейдеры, которые неустанавливают стоп-лосс, обманывают сами себя. Если Вы неуказали, какой стоп-лосс Вы установили, то это означает, что выустановили максимально возможный для Вас стоп-лосс, равныйразмеру Вашего депозита. Авторы неоднократно наблюдали, кактеряли весь свой депозит те трейдеры, которые были уверены,что они сумеют дождаться разворота цен в нужную сторону. Нанаш взгляд, установку стоп - лосса можно сравнить со страховкой.Если Вы застраховали, например, свой дом от пожара, то за это
52
Рис. 1.13.1. Часовые свечки евро. Стрелками указаны моменты
возможного повторного открытия позицииприходится платить, если даже пожара не будет (в нашем случаене будет очень сильного движения цены в неблагоприятномнаправлении).
После того, как Вы решили, что стоп - лосс надо ставить,встает вопрос о его величине. Из самых общих рассужденийпонятно, что величина стоп-лосса должна быть немного большеслучайных колебаний цены. Это позволит держать позициюоткрытой до тех пор, пока цена действительно не развернется. Изсказанного выше становится ясно, что для разных рынков величинаоптимального стоп-лосса будет разной. Кроме того, величина стоплосса зависит от того, на каких временных интервалах Выработаете. Для внутридневной торговли она меньше, чем дляторговли по дневным свечкам. Это связано с тем, что колебанияцены внутри дня обычно меньше, чем колебания цены на дневныхсвечах. Но в любом случае Вы сами определяете, что считатьслучайным колебанием цены.
В принципе, стратегии установка стоп - лоссов можноусловно разделить на два типа: установка маленьких стоп - лоссови установка больших стоп-лоссов, Установка маленьких стоп -лоссов позволяет избежать больших потерь на одной позиции идает возможность открыть позицию несколько раз приограниченной потере капитала, что очень важно при использованииторговых систем, ориентированных на редкие, но большиевыигрыши и частые, но маленькие проигрыши. Однако такие стоплоссы приводят к потере прибыли в тех случаях, когда послеотката цена все-таки разворачивается в нужную сторону. Выходомиз этого положении может быть одно или несколько правил,позволяющих быстро вернуться на рынок в случае разворота ценыв нужную сторону. Например, Вы работаете на часовых свечках,и у Вас была открыта короткая позиция, но при откате цены вверхВы ее закрыли. Тогда можно повторно открыть позицию в прежнемнаправлении, если цена закрытия поднялась выше 24-часовой
54
скользящей средней, но, не поднявшись выше 72-часовойскользящей средней, цена закрытия вновь опустилась ниже 24-часовой скользящей средней. На рисунке 1.13.1 приведен примеревро. Сплошной и пунктирной линиями указаны 24 -часоваяэкспоненциальная скользящая средняя и 72 - часоваяэкспоненциальная скользящая средняя соответственно. Стрелкамипоказаны моменты возможного повторного открытия позиции.Обратите внимание на стрелку, помеченную буквой А. Сильныеколебания цены затрудняют выбор удачного момента дляповторного открытия позиции.
Существует ошибочное мнение, что при установке стоп-лосса надо учитывать размер Вашего депозита. На самом делеразмер стоп-лосса определяется выбранной Вами торговойсистемой, а сработает он или нет, зависит от движения цены, а неот суммы денег на Вашем счете.
Есть много методов определения величины стоп-лосса.Например, использование статистических характеристик тенейчасовых свечей может быть использовано для определенияминимального размера стоп-лосса. Можно использовать дляустановки стоп-лосса диапазоны Боллинджера или еще болеесложные методы. Однако, как показывает опыт, в большинствеслучаев выбор в качестве стоп-лосса определенного числа пунктовдает результаты не хуже, чем более сложные процедуры. Однакопри любом методе определения стоп-лосса надо бытьпоследовательным. Например, рассмотрим результаты трейдера,который сначала работал со стоп - лоссом в 0 и после пятипоследовательных проигрышей потерял 0 х5= 00 и приэтом цена после закрытия позиции по стоп - лоссу разворачиваласьи начала идти в нужном направлении. В результате он не толькопотерял 00, но и пропустил пять потенциально прибыльныхдвижений цены. После этого он решил использовать болеесвободные остановки, увеличил стоп - лосс до 1500 долларов и
55
Рис. 1.13.2. Результаты работы торговой системы на исторических
данных для швейцарского франка.потерял их на следующей торговле. Таким образом он испыталнедостатки обоих методов, потеряв слишком много денег напоследней торговле я не получив преимущество полученияпотенциального дохода на первых торгах. Если бы любая из 0-х или $ 1500-х остановок применялась без изменений на этомпериоде, результат был бы намного лучше, чем та неудача, котораябыла вызвана непоследовательным подходом.
1.13.2.Стратегии выхода
После открытия позиция и установки стоп-лосса надовыработать стратегию выхода из открытой позиции при условии,что цена идет в нужном направлении. В этом случае мы должнывыбирать между получением небольшого, но верного дохода ипродолжением торгов в надежде получит большой выигрыш.Рассмотрим несколько стратегий выхода.
Первая стратегия - удержание позиции для получениябольших доходов. Эта стратегия работает на длинных трендах иможет дать прекрасные результаты, если Вы сможете позволитьсебе большие, хоть и временные, потери прибыли. Основнойпроблемой при работе по такой системе является практическинеудержимое желание закрыть позицию после потерисущественной части прибыли, не дождавшись разворота цены внужном направлении. На рис. 1.13.2 приведен результат работыторговой системы на часовых свечках для швейцарского франказа 15 месяцев. Система тестировалась на исторических данных.На верхней части рисунка показан график изменения прибыли впунктах (напоминаем, что для швейцарского франка один пунктравен 0, 0001). На этом графике видно, что возможная прибыльпревысила 4800 пунктов (кривая доходности, расположенная вверхней части рисунка, заканчивается возле цифры 0.5, чтоозначает 5000 пунктов, Более точно эта система за 20 месяцевдала прибыль 4849 пунктов), но при этом потери прибыли
57
Рис. 1.13.3. Пример открытия и закрытия позиции.
достигали 1800 пунктов (снижение кривой доходности возлеправого края рисунка). Несмотря на большую конечную прибыль,не много найдется людей, которые могут работать по такой
системе.
Необходимо также отметить, что подобные торговыесистемы предполагают малое количество сделок за длинныйпериод. На рис. 1.13.2 стрелками отмечены моменты совершениясделок. Видно, что за 20 месяцев было совершено всего 28 сделок,то есть в среднем по 1.4 сделке в месяц.
Вторая стратегия - ограничение прибыли заранее заданнымуровнем. При этом приходится ориентироваться на уровниподдержки или сопротивления. Однако цены могут и не достичьнамеченных целей, и тогда вместо прибыли можно получитьубыток. Кроме того, если Вы закроете позицию, а цены пойдутгораздо дальше намеченного уровня, то будет упущена возможнаяприбыль. Другой вариант этой стратегии - ограничение прибылизаранее заданной величиной. Этот вариант можно рекомендоватьк использованию и том случае, если Ваша торговая система даетсигналы на открытие позиции тогда, когда цена уже идет вопределенном направлении. В этом случае есть большаявероятность, что цена в этим направлении будет идти еще некотороевремя, и Вы сможете получить небольшую прибыль практическибез риска. Однако создание такой системы требует опыта работына рынке.
Третья стратегия - частичное закрытие позиции. Используяэту стратегию, Вы должны открыть позицию как минимум в двалота. После получения прибыли Вы закрываете один лот, и темсамым фиксируете некоторую прибыль. Если цена и дальше идетв нужном направлении, то второй лот даст возможностьиспользовать это движение цены. Однако у такой стратегии естьдва недостатка. Во-первых, она требует большего начального
капитала, так как надо открыть позицию размером в два лота, а
59
не в один. Во-вторых, если позиция открыта неудачно, то и убыткибудут в два раза больше.
Четвертая стратегия - скользящая остановка. На наш взгляд,это наиболее удачная стратегия. Суть ее в том, что по мереполучения прибыли Вы устанавливаете ордер на закрытие позициис таким расчетом, чтобы сохранить часть прибыли в том случае,если цена развернется. Правила установки ордера могут бытьразные. Рассмотрим один из вариантов на примере швейцарскогофранка. На рис. 1.13.3 приведены часовые свечи швейцарскогофранка. Стрелками указаны уровни открытия и закрытия позиций.Открытие позиции происходит после того, как цена достигламаксимального значения свечи додзи 1.5561 (на этой свечке былзафиксирован локальный минимум). По мере роста цены ордер назакрытие позиции останавливался на минимум предыдущего часа.В соответствии с этим позиция была закрыта по цене 1.5618. Нарисунке видно, что можно было бы получить и большую прибыль,однако надо помнить, что ни одна система не дает возможностьзакрывать (или открывать) позицию в самый выгодней момент.
Разумеется, перечисленные стратегии не исчерпывают всехвозможных правил для закрытия позиции, но они дают возможностьразработать на их основе собственные правила. Мы также нерассмотрели стратегии выхода, основанные на временныхпараметрах. Это связано с тем, что мы в основном ориентируемсяна работу но часовым свечкам, а в этом случае закрытие позициипо временным параметрам практически не используется.
1.14. Использование комментаторов.
Комментаторы бывают трех видов. Первый видкомментаторов - это прогнозы и советы, которые Вы можетеполучить, используя Интернет или информационную систему типаРейтер. В этом случае комментатором является человек илигруппа людей, которые регулярно делают обзор рынка и на
60
основании полученной ими информации и имеющегося у них опытадают прогнозы о том, что будет с рынком в ближайшее время.Некоторые из них делают также обзор событий, которые моглиповлиять на финансовые рынки и сообщают о выходемакроэкономических данных в ближайшее время. Прииспользовании этих комментаторов надо обратить внимание на то, что каждый из них ориентируется из свои временные интервалы:часовые, дневные или недельные. Мы рекомендуем выбратьодного или двух таких комментаторов, которые дают обзорфинансовых рынков, и регулярно читать их сообщения. Этопоможет Вам не пропустить важное событие, которое повлияло нафинансовый рынок или которое должно произойти в ближайшеевремя. При этом надо понимать, что о внезапных событиях(например, об интервенции йены) никакой комментатор заранее несообщит. Что же касается рекомендаций о покупке или продажепо такой-то цене, то можно сказать только одно: в любом случаеВы должны понимать, почему Вы решили купить или продатьвалюту именно по этой цене и принимать всю ответственность заэто на себя.
Второй вид комментаторов - это советы и правила,заложенные в программные продукты. В программном пакетеMetaStock - это правила и рекомендации, которые можно посмотреть,используя пункт меню Expert Advisor. Мы рекомендуемвнимательно изучить те советы, которые даются в этом пунктеменю. Это позволит Вам лучше понять, как работают техническиеиндикаторы. Однако мы не рекомендуем работать только на основеэтих советов.
Третий вид комментаторов - это Ваши друзья, знакомые ите, с кем Вы рядом работаете. На дилинговых площадках непринято давать конкретных советов. Это связано с тем, что еслисовет окажется неправильным, и в результате этого будут потеряныденьги, чисто психологически ответственность за это хотя бы
61
частично будет возлагаться на того, кто дал совет. Поэтому своемнение обычно высказывают примерно в такой формулировке: "Ядумаю, что швейцарский франк может пойти вверх, но в общем-то все может быть». Вам решать, как относиться к таким советам,но мы рекомендуем использовать их только в том случае, если онисовпадают с Вашим мнением. Но многие зарубежные опытныетрейдеры считают, что если уже все говорят, что надо покупать,значит, пора продавать.
Не надо путать комментаторов с теми, кто управляетВашими деньгами. В последнее время и в России появилась такаяуслуга, как управление капиталом.
На валютном рынке в основном используется два варианта:
1. Вы отдаете деньги в управление по договору и платите заэто определенный процент прибыли;
2. Вам предлагают работать по определенной торговойсистеме, обучают работе и обеспечивают консультации по меренеобходимости, но работаете Вы сами. В этом варианте формаоплаты может быть либо разовой, либо в виде процента отприбыли. Но в этом случае надо понимать, что хорошая торговаясистема не может быть дешевой и поэтому надо тщательновзвесить, сможете ли Вы сами работать но этой системе.
62
Глава 2. Coздание торговых систем2.1. Что такое оптимизация торговой системы
Создание любой торговой системы в первую очередьзаключается в том, чтобы сформулировать правила открытия изакрытия длинной и короткой позиций. Обычно в этих правилахприсутствуют некоторые индикаторы и параметры. При их
изменении меняется доходность торговой системы. Вопрос о том,надо ли оптимизировать торговые системы, или это являетсяпросто подгонкой системы под исторические данные, возникаеточень часто. Скорее всего, это связано с тем, что разные людипод оптимизацией торговой системы могут понимать абсолютноразные процедуры. Потому сначала попробуем определить, чтотакое оптимизация. Во-первых, под оптимизацией можно пониматьвыбор (или создание) торговой системы, которая решает нашизадачи лучше, чем другие системы. Например, мы ищем такуюсистему, которая на рынке йена/доллар в настоящий момент дастнаибольшую прибыль, и для этого выбираем систему из некоторогомножества систем с фиксированными параметрами. Это можетбыть, например, выбор между системами, основанными на разныхиндикаторах. Назовем это оптимизацией первого типа.
Во - вторых, под оптимизацией можно понимать нахождениетаких параметров выбранной торговой системы, которыепозволяют получить наилучшие результаты. Это может быть выборпериода для вычисления средней или период для вычислениястохастики. Назовем это оптимизацией второю типа.
Думаю, что ни у кого не вызывает сомнений, что присоздании любой торговой системы явно или неявно стараютсяиспользовать оба типа оптимизации. Действительно, как толькомы выбираем для работы какую-то торговую систему, то темсамым предполагаем, что мы будем использовать лучшую из
63
имеющихся у нас систем. То есть используем оптимизациюпервого типа. Но так как в любой системе имеются некоторыепараметры, то и значения этих параметров мы пытаемся выбратьтаким образом, чтобы получить наилучший результат. А это и естьоптимизация второго типа. Причем при создании торговых системэти два типа оптимизации невозможно разделить. Поэтому ответна вопрос о том, использовать или не использовать оптимизациюпри создании торговых систем ясен: оптимизацию использоватьнеобходимо. И совсем другой вопрос, как именно вводитьоптимизацию. При создании торговой системы можно выделитьнесколько этапов:
1. Возникновение идеи о том, на чем будет основана торговаясистема.
2. Выбор типа критериев или решающих правил. Например,
критерием может быть пересечение двух графиков или появлениенескольких белых свечей подряд.
3. Определение параметров системы. Параметры могутбыть выбраны из предположений о существовании циклов, иливзяты из литературы, или исходя из каких-то других предположений.
4. Тестирование системы.
5. Возвращение к предыдущим пунктам при необходимостивнесения изменений в систему.
2.2. Пример торговой системы.
Для примера попробуем создать торговую систему с учетомвсего скачанного выше и отладить её с использованием программыMetaStock. Список функций, которые используются в MetaStockприведен в приложении в книге «Программное обеспечениеFOREX. Пакет MetaStock: схемы, технические линии,индикаторы».
Пусть у нас возникла идея создать торговую систему наоснове хорошо известного индикатора RSI. Это первый этап
64
создания системы. Систему будем создавать в том же порядке, вкаком эта процедура рассматривалась в первой главе. Для удобствабудем нумеровать те условия, которые мы используем для созданияторговой системы.
1. Будем создавать систему для работы с швейцарским франком.
2. Данные фундаментального анализа мы учитывать небудем.
3. Мы будем создавать систему для работы внутри дня, начасовых свечках.
4. В качестве индикатора будем использовать RSI. RSI(n)означает, что для вычисления RSI используется n свечей.
Предположим, что система будет работать по тренду. Еслиона даст хорошие результаты для работы по тренду, можно будетпопробовать модернизировать ее для работы в канале.
Для определения направления тренда воспользуемсяиндикатором RAVI. Он может быть вычислен в MetaStock по следующей формуле:
(MOV(c,7,s) - MOV(c,65,s))/ MOV(c,65,s),
где MOV(c,n,s) означает простую среднюю цену закрытия,вычисленную за период в n свечей. Для дальнейшего использованиясоздадим заказной индикатор и обозначим его RIVA. Будемсчитать, что тренд направлен вверх, если RIVA возрастает, инаправлен вниз, если RIVA убывает. В MetaStock условиевозрастания RIVA можно записать так:
(fm(“RIVA”),-1) < fm(“RVA”)
а условие убывания записывается так:
(fm(“RIVA”),-1) > fm(“RVA”)
Формула RFF(A,-N) означает значение величины Aвычисленное N периодов назад. Например, (c,-3) означает ценузакрытия 3 часа назад, если работаем с часовыми свечами илицену закрытия три дня назад, если работаем с дневными свечами.
65
Фигуры технического анализа при построении системыиспользовать не будем.
Комбинации свечей при построении системы использоватьне будем.
Правила открытия и закрытия позиций с учетом сказанноговыше мы определим следующим образом. Длинную позицию надооткрывать, если RSI пересекает снизу вверх нижний уровень итренд при этом направлен вверх (RIVA возрастает). Эти же условияиспользуем для закрытия короткой позиции. Короткую позицию надо открывать, если RSI пересекает сверху вниз верхний уровень итренд при этом направлен вниз (RIVA убывает). Эти же условияиспользуем для закрытия длинной позиции. Однако мы пока неопределили значения трех параметров: количества свечек длявычисления RSI, величину нижнего уровня и величину верхнегоуровня. А ведь от значений этих параметров сильно зависитэффективность торговой системы. В MetaStock есть возможностьподобрать значения этих параметров таким образом, чтобы натех данных, на которых мы будем тестировать систему, этизначения параметров давали максимальную прибыль. Для этого
те параметры, значения которых мы будем подбирать, обозначимкак ОРТ1, ОРТ2 и OPT3. Для каждого параметра в программемы должны задать минимальное значение, максимальное значениеи шаг, с которым программа будет изменять параметры отминимального значения до максимального. В нашем примереОРT1 (число свечек для расчета RSI) будет меняться от 6 до 20 сшагом 2, ОРТ2 (нижний уровень) будет меняться от 15 до 45 сшагом 5, OPT3 (верхний уровень) будет меняться от 55 до 85 сшагом 5. С учетом всего сказанного, торговую систему можнозаписать в следующем виде:
Enter Long:
Cross(RSI(OPT1),OPT2) and (fmI(“RIVA”),-1) <
fm(“RIVA”)
66
Cose Long:
Cross(OPT3,RS(OPT1)) and (fm(“RIVA”),-1) >fm(“RVA”),
Enter Short:
Cross(OPT3,RSI(OPT1)) and (fm(“RIVA”),-1 >fm(“RIVA”),
Cose Short:
Cross(RSI(OPT1),OPT2) and (fm(“RVA”),-1) <fm(“RIVA”).
Функция Cross(x,y) принимает значение 1 ("Истина")тогда,когда для текущей свечки у<х, а для предыдущей свечки y>х.
10. В качестве критерия выхода из позиции выберем условиепотери не более 50% полученной прибыли.
11. Мы не будем использовать ордера для открытия позиции.
12. Определение оптимальной величины стоп-лосса являетсясложной задачей. Не вдаваясь в обоснование, определим величинустоп-лосса в 50 пунктов.
Теперь мы можем тестировать торговую систему. Для этогонам надо иметь массив данных по котировкам швейцарского франказа достаточно большой период времени. Если эти котировкипредставлены в виде часовых свечек, то можно сразу приступитьк тестированию. Если же котировки представлены в другом виде,то их надо преобразовать в часовые свечки. Максимальнаяприбыль, которую нам покажут результаты тестирования, а такжевсе остальные статистические характеристики, полученные врезультате тестирования, зависят от того, на каком временноминтервале мы проводили тестирование. Но в любом случае мысможем оценить эту систему и решить, можно ли ее использоватьдля работы, или надо ее улучшить. Рассмотрим тестирование этойторговой системы с использованием пакета Met Stock.
67
Глава 3. Создание торговой системы в MetaStock
3.1. Основные понятия.
Тестирование включает в себя следующие основные шаги.Ниже эти шаги расписаны подробно.
Шаг 1.
Формирование торговой системы путем определенияторговых правил (условий), которые должны выполняться при входе(закрытии) длинных или коротких позиций. Эти правилазаписываются с использованием функций MetaStock. Всепеременные, значения которых мы будем изменять в процессетестирования, обозначаются как opt1, opt2 и так далее. Всего можетбыть до десяти таких переменных. Для каждой из них необходимозадать минимальное значение, максимальное значение и шагизменения
Шаг 2.
Определить остановы внутри системы, которые будут
автоматически закрывать позицию в зависимости от выигрышаили потери денег. При тестирования торговой системы на часовыхсвечках этот шаг иногда пропускают, так как в MetaStock не всегдаудается записать те правила для закрытия позиции, которые Выхотите использовать. В этом случае окончательное тестированиеторговой системы потребует ручной доводки.
Шаг 3.
Тестирование торговой системы. Во время тестированияВаша система может быть в длинной позиции, в короткой позиции,или вне рынка. MetaStock использует Ваши торговые правила иостановы для определения прибыли системы, основанной на Вашихправилах. Если встречается сделка, то комиссионные считаютсяпо Вашим Критериям. При этом программа проверяет всевозможные комбинации параметров, которые определяются их
68
минимальными и максимальными значениями, а так же шагом ихизменения. Для каждой комбинации вычисляется полученнаяприбыль и множество других характеристик торговой системы.Полученные результаты сортируются (обычно в порядке убыванияприбыли) и записываются в отчет, который Вы можетепросмотреть после тестирования.
Шаг 4.
Посмотреть результаты тестирования. После окончаниятестирования MetaStock в отчете хранит всю информацию посделке до тех нор. пока Вы не запустите эту систему натестирование следующий раз (например, после редактирования илидля тестирования системы на другой валюте). Вы можетепросмотреть и распечатать как краткий, так и подробный отчеты.
Шаг 5.
Оптимизация Ваших торговых правил. После изученияотчета Вы можете изменить правила открытия или закрытиясделок, изменить минимальные или максимальные значенияпараметров, а также шаг изменения параметров. После этого надовернуться на Шаг 3. Скорее всего, для получения хорошей торговойсистемы Вам надо будет повторять шаги с 3 по 5 несколько раз.
После того, как Вы в MetaStock получили хороший результатот Вашей торговой системы, обязательно попробуйте улучшитьего изменяя условия закрытия сделок. Возможно, при этомпридется часть работы проделать с карандашом и бумагой, норезультат может окупить все затраты времени.
3.2. Окна для записи торговой системы
Так как для торговой системы мы хотим использоватьиндикатор RIVA, который не входит в список стандартныхиндикаторов MetaStock, то прежде всего мы должны создать этотиндикатор используя построитель индикаторов (Indicator Buider).
69
Для этого надо в основном меню выбрать пункт Toos, а в немвыбрать подпункт Indicator Buider (рис.3.1.I). После этогосоздать индикатор с именем RIVA no следующей формуле:
(MOV(c,7,s) - MOV(c,65,s)/ MOV(c,65,s).
Подробно о построении индикаторов рассказано в книге «ПакетMetaStock: схемы, технические линии, индикаторы». Послесоздания выберем в основном меню пункт Toos, а в нем выберемподпункт System Tester (рис.3.2.1). Таким образом Вы вызоветена экран диалоговое окно системного тестирования (рис.3.2.2)
Puc.3.2.1.Вызов диалогового окна системного тестирования.
Имена торговых систем, показанные Вам в диалоговом окне,будут различными. Обычно в MetaStock есть несколько торговыхсистем, которые поставляются вместе с пакетом для примеров.Однако при работе с пакетом в меню появляются имена техторговых систем, которые были созданы пользователямиMetaStock. Имена в окне располагаются по алфавиту, поэтомурекомендуется начинать названия своих систем не с буквы, а снуля или какого-нибудь другого символа. В этом случае все Вашисистемы будут расположены подряд, а не вперемешку с торговыми70
Puc.3.2.2. Диалоговое окно системного тестирования.
системами фирмы или других пользователей.
Диалоговое окно System Tester Diaog показывает Вамсписок всех тестов. Вы можете создать до 1000 системных тестов,Выбранный тест может быть отредактирован, скопирован, удален,распечатан и отлажен. Многократные тесты могут быть выбраныдля сравнения. Буква «R» напротив имени показывает наличиеотчета для данного теста. В этом окне есть несколько опций.Опишем кратко каждую из них.
3.2.1.Опции окна системного тестирования
New Используйте эту опцию, чтобы открыть системныйредактор (System editor), где Вы определите имя и правила длянового теста.
Edit. Используйте эту опцию, чтобы отредактироватьвыбранный тест.
Сору. Используйте эту опцию, чтобы скопироватьвыбранный тест. Вы попадете в системный редактор, где сможетеотредактировать, скопированный тест.
Deete. Используйте эту опцию, чтобы удалить выбранныйтест.
Print. Используйте эту опцию, чтобы распечататьвыбранный тест.
Test. Используйте эту опцию, чтобы начать отладочныйпроцесс для этого теста. Эта опция недоступна, если Вы выбралимногократный тест и покинули окно сравнения (Compare box), невыполнив контроля.
Report. Используйте эту опцию, чтобы получить общийотчет (отчет о сравнении, если тест обработан в разделе сравненияCompare box) по выбранному тесту. Опция не доступна, есливыбран тест без буквы «R» напротив имени.
Options. Используйте эту опцию, чтобы открыть диалоговоеокно System Testing Options, где Вы можете просмотреть опции
72
Рис. 3.3.1. Диалоговое окно System Editor
контроля и выдачи отчета.
Organizer. Используйте эту опцию для копированияторговых систем на другую ЭВМ.
Compare. Используйте эту опцию, чтобы сравнитьмногократный системный тест. Опция Test изменится на Compare,если этот раздел проработан. Использование большинства опцийподробно описано ниже. Для того, чтобы была доступна опцияReport, надо выделить систему, у которой уже есть отчет орезультатах тестирования.
3.3. Ввод правил для открытия и закрытия позиции
В диалоговом окне System Tester выберите опцию New.Появится диалоговое окно редактирования системы System Editor (рис. 3.3.1).
Диалоговое окно System Editor имеет разделы для введенияназвания системы (Name), заметок (Notes) и правил. В разделеName по умолчанию появляется запись
Cross(RSI(OPT1),OРТ2) and (fm(“RIVA”),-1) < fm(“RIVA”)Обратите внимание, что для включения в формулу
74
Рис. 3.3.2. Диалоговое окно System Editor после ввода информации
созданного нами индикатора мы используем запись fm(“RIVA”),а не пишем просто RIVA, как писали бы в том случае, если быRIVA был стандартным индикатором MetaStock.
Введите следующую информацию для трех оставшихсяторговых правил,Cose Long:
Cross(OPT3,RSI(OPT1)) and (fm(“RIVA”),-) >fm(“RIVA”)Enter Short:
Cross(OPT3,RSI(OPT1)) and (fm(“RVA”),-1) >fm(“RIVA”)Cose Short:
Cross(RSI(OPT1),OPT2) and (fm(“RIVA”),-) <
fm(“RIVA”)
Разумеемся, слова Cose Long, Enter Short, Cose Shortзаписывать не надо, но не забудьте выбрать соответствующиеопции (Cose Long, Enter Short, Cose Short) для введения каждого правила. После этого диалоговое окно будет выглядеть как нарис.3.3.2.
3.3.1. Использование окна функций (Paste Function)
Для того, чтобы правила было проще вводить, можновоспользоваться опцией Function. Она может быть подписанасерым шрифтом (то есть она не работает), но как только курсорбудет в том поле, где записываются правила, шрифт станет черным(опция может бытъ использована). При выборе этой опции появитсяокно функций (Paste Function) (рис, 3.3.3).
В этом окне слева приводится список категории функций, асправа список функций, которые есть в этой категории. Например,если выбрать слева категорию A, то справа появится список всехфункций, если выбрать категорию Custom Indicators, то справапоявится список созданных Вами индикаторов. Под этими
76
Puc. 3.3.3. Пример окна функций
списками выводится название выбранной Вами функции в томвиде, в каком оно будет вставлено в формулу. Если в квадратеPaste Arguments стоит галочка, то после названия функции в скобкахчерез запятую перечислены аргументы, которые должны бытьзаданы. Если в скобках несколько аргументов разделены незапятой, а пробелом, то это означает, что надо задать только одиниз них (обычно приводятся возможные варианты аргументов).Если галочка стоит в правом квадрате, то название функции всписке будет приведено не в сокращенном варианте, а в полномПосле того, как Вы выбрали нужную функцию, нажмите кнопкуОК, и функция автоматически появится в том месте формулы гдестоял курсор. После этого надо вставить нужные значенииаргументов функции.
3.3.2. Использование функции Aert()
В нашей системе мы не использовали функцию aert(), однакознать о том, как она работает, необходимо, если Вы хотитесоздавать реально работающие торговые системы,
Функция aert() используется в соединении с другимифункциями сохранения сигнала на определенное количествопериодов. Сигнал принимает значение «Истинно» на определенноеколичество периодов, даже если условие сигнала уже невыполняется. Следующий пример показывает применение функции
aert().
Enter Long: RSI (14) < 30 AND aert(stoch(5,3)<80,3)
Если данная запись была введена как правило Enter ong,система откроет длинную позицию, когда показатель RSI станет< 30 и стохастика была меньше 80 хотя бы в одном из трехпредыдущих периодов.
78
Рис 3.4.1. Окно для ввода оптимизируемых переменных
3.4. Параметры системы
3.4.1. Ввод переменных Opt
После того, как введены правила, по которым будет работатьсистема, надо задать те параметры, которые обозначеныпеременными ОРТ1, ОРТ2 и ОРТЗ и по которым мы будемоптимизировать систему. Оптимизация включает в себяопределение диапазона величин переменными OPT1, OPT2 иОРТЗ, в котором изменяются переменные и шаг изменения каждой.Затем MetaStock для каждого набора значений выполняет тест иопределяет результаты, которые дает система с этими значениямипеременных. Как было указано выше, в нашем примере ОРT1(число свечек для расчета RSI) будет меняться от 6 до 20 с шагом2, ОРТ2 (нижний уровень) будет меняться от 15 до 45 с шагом 5,ОРТЗ (верхний уровень) будет меняться от 55 до 85 с шагом 5.
Для ввода этих значений выберите в диалоговом окне SystemEditor (рис. 3.3.2) опцию Optimize. Если Ваши правила содержатсинтаксическую ошибку, появится поясняющее сообщение.Выберите опцию Ok для подтверждения ошибки, и курсор встанетна место предполагаемой ошибки. Но ошибка может быть и вдругом месте. Например, Вы могли забыть закрыть скобку, но нев том месте, где предлагает машина. Исправьте ошибку ивыберите опцию Optimize. Если синтаксических ошибок большенет, то появится окно для ввода оптимизируемых переменных (рис. 3.4.1)
По умолчанию значения всех переменных и шаг изменениякаждой переменной равны нулю. Поэтому общее число тестов тожеравно нулю, что и написано в левом нижнем углу окна.
Для того, чтобы задеть границы параметров и их шаг,выберите ту переменную, параметры которой вы хотитередактировать. На рис. 3.4.1 выбрана переменная 0PT1. Затемвыберите опцию «Edit». Появится окно собственно переменных(Variabe Properties) (рис. 3.4,2.).Так как была выделена
80
переменная ОРТ1 (рис. 3.4.1), то и редактировать можно значенияэтой переменной. Об этом говорит и надпись вверху окна (Name:ОРТ1)
Рис. 3.4.2. Окно переменных для редактирования
переменной ОРТ1
В поле Description записываются комментарии для того,чтобы в дальнейшем было ясно, где используется эта переменная.Заполнять это поле не обязательно, но сейчас запишите гуда«Период RSI». В поле Minimum занесите минимальное значениеОРТ1 - 6. В поле Maximum занесите максимальное значение ОРТ1- 20, в поле Step занесите шаг изменения значения OPT1 - 2. Затемнажмите кнопку ОК. Вернувшись в окно для вводаоптимизируемых переменных, выделите мышкой переменнуюOPT2, затем выберите опцию Edit и введите соответствующиезначения для ОРТ2. Потом проделайте аналогичную процедурудля переменной ОРТЗ. На рис. 3.4.3 приведен вид окна для вводаоптимизируемых переменных после того, как введена необходимаяинформация.
Посмотрите на значение параметра «Tota Tests» в левом
нижнем углу окна. Эта величина показывает количество тестов (здесь - 392), которое будет выполнено. Количество тестов не
81
Рис.3.4.3. Окно для ввода оптимизируемых переменных
после ввода информации
должно превышать 32000.Чем больше это число, тем дольше будетидти тестирование системы. Всегда разумно посмотреть на этувеличину после редактирования оптимизационных переменных, т. к.легко создать систему, которая будет генерировать слишком многотестов. Для выхода из окна выберите опцию «CLOSE».
3.5. Введение остановов
В дополнение к торговым правилам каждая торговаясистема может иметь до 5 остановов (то есть правил, привыполнении которых позиция закрывается). Остановы должнызакрывать открытые позиции, основываясь на их прибылях илипотерях. Например, останов Maximum Loss будет закрыватьпозицию, если убытки по ней превысят заданную величину,
При срабатывании останова позиция закрывается внезависимости от состояния торговых правил. Для каждого правилаВы определяете параметры, по которым срабатывает останов,позицию, которую он закрывает (длинную, короткую или обе) иединицы измерения (проценты или пункты). Остановавтоматически рассчитывает входные и выходные комиссионные.Например, останов Maximum Loss знает величину комиссионныхпри выходе и попытается закрыть позицию так, чтобы потери непревысили максимально допустимые после всех выплат.
Остановы устанавливаются опцией Stops в диалоговом окне System Tester. При выборе этой опции открывается окноостановов (Stops)
3.5.1. Прерывания (Breakeven)
Этот останов закрывает открытую позицию, если закрытоезначение позиции упадет ниже текущего денежного баланса (намомент открытия текущих торгов), то есть когда открытая позициядаст убыток. Останов помешается в цену, где торговля былазакрыта и полученный остаток будет равен текущему денежному
83
балансу. Чтобы предотвратить выполнение этого останова всякийраз, когда позиция при тестировании открывается первый раз(потому что комиссионные никогда не приносят выгоды, когдаторговля открыта впервые), выполнение этого останова доступнотолько тогда, когда появляется прибыль или доходы, величинукоторых Вы определяете в окошке Foor Leve ( «начальныйуровень»). Величина, которую Вы введете как начальный уровень,зависит от метода расчета и выражается и пунктах или процентах(рис. 3.5.1).
Рис 3.5 1. Окно установки прерывания
Если начальный уровень установлен на нуле, остановBreakeven будет выполняться только после того, как ценные бумагидорастут до уровня, когда позиция могла бы быть закрыта безвозможных потерь. Обычно этот тип останова используют приторговле акциями и практически не используют при работе на рынкеForex.
84
3.5.2. Изменчивость (Inactivity)
Пример окна для установки этого останова приведен на рис.3.5.2. Этот останов закрывает открытую позицию, когда цена ценнойбумаги не обеспечивает минимальное положительное изменениецен внутри определенного периода (положительное изменение ценопределено восходящим движением цен во время «длиннойпозиции» и нисходящим движением цен во время «короткой позиции»)
Рис 3.5.2. Пример установки параметров изменчивости
Параметр Minimum Change определяет минимально
необходимое изменение цены за определенное число периодов
(параметр Periods), необходимое для того, чтобы позиция не
были закрыта. Minimum Change рассчитывается в пунктах и
процентах (метод расчета задастся в Method), Для примера
определите Minimum Change в 40 пунктов, а количество
периодов в Periods возьмите 3. MetaStock автоматически
85
закроет позицию, где цена валюты изменялась менее чем на 40пунктов внутри любого интервала в 3 периода. Так как мысобираемся открывать и «длинные» и «короткие» позиции,
поставим галочки в метках Long и Short.
Данный останов производит анализ только но цене и поэтомуигнорирует комиссионные. Обычно при торговле внутри днясчитают, что если цена не пошла в нужном направления в течениекороткого периода (в этом примере в течении трех часов), топозиция была открыта не очень удачно и, возможно, ее лучшезакрыть.
3.5.3. Максимальная потеря (Maximum oss)
Pис.3.5.3. Пример установки стоп-лосса
Этот останов закрывает открытую позицию, когда потериот торгов превышают определенную величину Maximum Loss,Фактически этот останов устанавливает величину стоп-лосса. На
рис. 3.5.3 приведен пример установки стоп-лосса в 60 пунктов длядлинной и короткой позиций.
86
Внимание: Если установить Maximum Loss меньше илиравную величине Entry Comission (об установке размеракомиссионных расскажем ниже), любая торговая операция будетнемедленно закрыта после открытия позиции, т.к. все торги будутиметь убытки в момент открытия (из-за комиссионных).
3.5.4.Уровень прибыли (Profit Target)
Рис. 3.5.4. Пример установки уровни прибыли
Этот останов закрывает открытую позицию, когда достигнутопределенный уровень прибыли. При тестировании систем уровеньприбыли надо устанавливать, исходя из разумных соображении отом, какую прибыль Вы ожидаете получить от одной сделки. Этоважная величина при тестировании многих торговых систем. Делов том, что цена может пройти в нужном направлении на некотороечисло пунктов, а потом развернуться в противоположномнаправлении и уйти достаточно далеко до того момента, пока
87
система даст сигнал на закрытие позиции. При этом большаячасть прибыли может быть потеряна. Поэтому для примераустановите уровень прибыли в 120 пунктов. Пример такой установкиприведен на рис. 3.5.4.
3.5.5.Отслеживание (Traiing)
Этот останов закрывает открытую позицию, когда будетутеряна часть уже полученной прибыли. Каждый раз, когдаприбыль по позиций растёт, останов перемещается на новыйуровень, который представляет определенную часть от прибыли.Вы определяете ту часть прибыли, которой готовы рискнуть внадежде на то, что цена все-таки пойдет и нужном направлении,в разделе Profit Risk (величина выражается в пунктах или процентах).
Рис. 3.5.5. Пример установки параметров отслеживания
MetaStock позволяет определять количество периодов дляигнорирования. Если Вы определите «4», останов будет
88
запаздывать на 4 периода. Это значит, что прибыль (убыток) за последние 4 периода будут игнорироваться при определениитекущего уровня останова. Т.е. все перепады цен за последние 4
периода будут игнорироваться. При внутридневной торговлевозможны незначительные колебания цены, которые приведут ксрабатыванию этого останова, если не установить достаточноеколичество периодов для игнорирования. С другой стороны,большой период для игнорирования потерь может привести кубытку. Для примера установим величину риска в 50 процентов, аколичество периодов игнорирования будет равно 3. Результатыустановки приведены на рис. 3.5.5. Обратите внимание, что во всехпредыдущих остановах в качестве единиц измеренияиспользовались пункты, а в этом останове использовалисьпроценты.
Этот останов предназначен для ограничения прибыли и неограничивает убытков (останов ограничивает объем прибыли,которая может быть потеряна). Потери ограничиваются остановомMaximum oss.
Теперь, когда все нужные остановы установлены, нажмитекнопку ОК. Вы вернетесь в окно редактирования системы(рис.3.3.2). В этом окне также нажмите кнопку ОК и вернитесь вдиалоговое окно системного тестирования (рис. 3.2.2).
3.6. Добавочные параметры торговой системы
Для установки добавочных параметров торговой системыв диалоговом окне системного тестирования (рис.3.2.2) выберитеопцию Options. Откроется диалоговое окно параметров системы(System Testing Options). Выберите в нем ярлык Testing. Тогдапоявится окно для установки добавочных параметров торговойсистемы (рис.3.6.1). Рассмотрим эти параметры.
Торговая цена (Trade Price). В данном окне под торговойценой понимается та цена, по которой будет совершаться сделка.
89
При тестировании торговой системы Вы не должны забывать, чтоу Вас нет текущей цены в режиме реального времени, а есть толькоминимальная цена свечки, максимальная цена, цена открытия ицена закрытия. И только по этим ценам могут быть совершены
Рис.3.6.1. Диалоговое окно для добавочных параметров системы. Вэтом окне надо установить необходимые параметры для работы
системы.
сделки. Поэтому определите цены, которые должныиспользоваться для сигнала о том, когда совершается сделка (т.е,open — открытия, high — верхние, ow — нижние или cose —закрытия). Наиболее популярные — «open» и «cose». ПараметрDeay (задержка) позволяет установить величину задержки нагенерацию сигнала о сделке. Например, если установить Entry
90
Price как «open», а задержку равной как «1», то тогда сделкабудет совершена по ценам открытия следующего периода послетого, как будут выполнены условия для открытия (или закрытия)позиции. Если увеличить задержку до 3, то сделка будет совершеначерез два периода после выполнения условий. Аналогичные правиладействуют и при установке цен закрытия позиции (Exit Price). Приустановке параметров в полях под этим именем надо учесть, чтов большинстве торговых систем сигнал о совершении сделкивозникает после окончания периода (часа, дня или другого), таккак обычно в торговых системах в явном или в неявном видеиспользуется цена закрытия. Однако реально совершить сделкуможно только после возникновения сигнала, то есть не ранееоткрытия следующего периода (или более позднего) и посоответствующей цене. Например, торговая система,использующая RSI, после закрытия 10-часовой свечки обнаружила,что выполнились условия для открытия «длинной» позиции. Однакоближайший момент времени, когда Вы можете теперь открытьпозицию - это момент открытия 11 - часовой свечки, так как 10 -часовая свечка уже закрылась. Для того, чтобы именно по цене
открытия этой свечки и была совершена сделка, надо установить
Entry Price как «open», а задержку равной как «1». То естьнаиболее близкая к реальности система формирует цены открытияи закрытия с задержкой в 1 период (для дневных свечей этозавтрашние цены открытия).
Комиссионные (Commissions). Выберите типкомиссионных, взимаемых с Вас при совершении сделок (они могутбыть выражены в процентах, в долларах или в пунктах). На рис.3.6.1 видно, что за открытие позиции берутся комиссионные в 10пунктов (для швейцарского франка 10 пунктов равны 0.001), а призакрытии позиции комиссионные не берут. При необходимостиможно сформировать входные и выходные комиссионные. Еслирезультаты работы системы отображаются в пунктах, то в
91
комиссионные можно включить среднюю величину спрэда.Сделаем примерный расчет комиссионных для этого случая.Пусть Вы обычно работаете с лотом 100000 долларов, валюта -евро, комиссионные - 10 долларов, средний спрэд - 6 пунктов. Вэтом случае изменение цены на один пункт в нужном направлениидаст прибыль 10 долларов. Следовательно, для компенсациикомиссионных надо получить прибыль в 1 пункт. Добавим 6 пунктовспрэда и получим 7 пунктов, которые можно рассматривать каквеличину комиссионных, которую мы должны указать притестировании системы. Установка величины комиссионных - оченьважный шаг при настройке системы. Существуют торговыесистемы, которые без учета комиссионных дают постояннуюнебольшую прибыль, но с учетом комиссионных становятсяубыточными. Для нашей системы определим комиссионные в 10пунктов, то есть 0,001. При работе с йеной часто забывают, чтодля нее один пункт равен 0.1, а не 0.0001. Поэтому при переходеот йены к другой валюте необходимо изменить величинукомиссионных.
Позиции (Positions). Выберите тип позиции (длинная,короткая или обе), для которой будете тестировать систему. Обычнотестируют сразу длинные и короткие поздний, но иногда желательнопровести тестирование какой-то одной. Например, при работе сакциями обычно тестируют только длинные позиции.
Тестирование пунктов (Points Ony Test). Если Вы невыберете этот пункт, то система будет рассчитывать прибыли иубытки и долларах, a это не самый хороший вариант. Во-первых, вэтом случае величина прибыли определяется не только качествомсистемы, но и величиной лота. Во-вторых, в этом случае величиналота, для которого рассчитывается прибыль, зависит отпредыдущих сделок. Например, пусть граница резерва (см. ниже)равна нулю. Тогда, если первую сделку система совершит с лотом100000 долларов и получит прибыль в 200 долларов, то следующую
92
сделку система будет совершать с лотом 120000 долларов. Вреальной жизни это условие не выполняется хотя бы потому, чтосделки можно совершать только с лотами фиксированныхразмеров. Поэтому на валютных рынках рекомендуетсятестировать торговые системы в пунктах. В этом случае результатработы системы сразу покажет, сколько пунктов можно быловыиграть (или проиграть) при работе по этой системе. При этомне надо забывать, что для большинства валют 1 пункт равен0,0001, а для йены 1 пункт равен 0,01. В дальнейшем мы будемсчитать, что тестирование систем проводится а пунктах, если неоговорено иное.
Рис. 3.6.2. Диалоговое окно для добавочных параметров системы
после установки параметров
93
Начальный капитал (Initia Equity). Это начальныйкапитал. При тестировании системы в пунктах его величина неимеет значения и эта опция будет серого цвета.
Граница резерва в процентах (Margin Requirement %).Это процент от капитала, который вы должны оставить в резерве.При тестировании системы в пунктах его величина не имеет значения и эта опция будет серого цвета.
Процентная ставка на открытую позицию (AnnuaInterest Rate).Это проценты годовых по указанной ставке, которыенабегают в баланс капитала, когда он ни в длинной, ни в короткой позиций. Эта величина зависит от банка, в котором лежат деньги,но часто она равна нулю. После того, как будут выбраны указанныезначения, диалоговое окно параметров системы (System TestingOptions) должно быть таким, как на рис.3.6.2.
3.7. Параметры отчета о результатах тестирования
94
Рис. 3.7.1 Окно установки параметров отчета
После тестирования системы подробные результатыприводится в отчете. Подробно о нем будет скачано ниже. Ноосновные результаты могут быть сразу выведены на экран. Длятого, чтобы определить вид этих параметров, надо выбрать ярлыкReporting в диалоговом окне добавочных параметров (рис.3.6.2).Тогда откроется окно установки параметров отчета Reporting(рис.3.7.1). Установим необходимые значения полей в этом окне.
Восходящая стрелка (Up Arrow). Выбирает цветвосходящей стрелки, которая указывает момент открытия длиннойпозиции. Обычно это синий цвет.
Нисходящая стрелка (Down Arrow). Выбирает цветнисходящей стрелки, которая указывает момент открытия короткойпозиции. Обычно это красный цвет.
Знак останова (Stop Sign). Выбирает цвет останова (цветсимвола на схеме, когда происходит останов или закрытие). Еслипри этом одновременно происходит открытие противоположнойпозиции, то на экране будет изображена только стрелка,сигнализирующая об открытии позиции. Обычно это зеленый цвет.
Показать сигналы покупок и продаж (Dispay Buy/SeArrows). Выбирайте данный раздел, если Вы автоматическихотите видеть сигналы покупок и продаж после окончания теста(те самые стрелки и знак останова, о которых говорилось впредыдущих абзацах). Если тест содержит оптимизационныепеременные, то будут показаны сигналы для оптимальных покупоки продаж. Точно также, в случае сравнения будет выведенанаиболее прибыльная система. Выберем этот раздел для нашейсистемы.
Пометить линии покупок и продаж (Labe Arrows with Buy/Se). Выбрав этот раздел. Вы можете пометить сигналы покупок,продаж и знаки останова как Buy, Se, Stop соответственно. Этотраздел лучше не выбирать, так как надписи только загромождаютрисунок.
95
Перерисовать сигналы (Repace Existing Arrows). Припоявлении новых сигналов покупок и продаж старые сигналыавтоматически убираются. Рекомендуется выбирать этот раздел,чтобы не мешали символы от предыдущего тестирования системы.
Нанести линию капитала (Pot Equity Line). Выбирайтеданный раздел, если Вы хотите нанести линию капиталаавтоматически после выполнения теста. В случаеоптимизационных переменных линия капитала наносится длясамого прибыльного системного теста. Эта линяя показывает, какизменялся капитал в течение времени при работе выбраннойсистемы. Зачастую достаточно посмотреть на эту линию, чтобыоценить систему.
Перерисовать линию капитала (Repace ExistingLines). Если выбрать этот пункт, то новая линия капитала будетнарисована вместо предыдущей. В противном случае новая линиикапитала будет нарисована на экране в отдельном окне.Рекомендуем не отмечать этот пункт, так как часто бывает удобносравнивать линии капитала.
Отметить окончание теста (Notify When TestCompete). Выбирайте данный раздел, если Вы хотите получитьокно с сообщением, когда Ваш тест завершился. Это окно включаетв себя опцию «Report» для быстрого доступа к отчету по тесту
Максимум Отчетов (Maximum Report). Этомаксимальное количество отчетов, которое будет храниться надиске в процессе оптимизации. Если количество отработанныхтестов достигает максимума или Ваш диск переполнен,сохраняются самые прибыльные наработки по данной ценнойбумаге, Обычно вполне достаточно 50 отчетов. После того, какпараметры установлены, окно установки параметров отчетадолжно выглядеть как на рис. 3.7.1. Все параметры, которые былизаданы в окне System Testing Options,сохранят свое значение ипри тестировании другой системы до тех пор, пока Вы их не
96
измените. Теперь все параметры системы заданы. Для закрытияокна нажмите кнопку ОК, зятем в окне System Tester нажмитекнопку Cose. На этом создание системы можно считатьзаконченным. Мы рассмотрим применение этой системы дляработы со швейцарским франком, однако ее можно без измененийтестировать и для другой валюты. При этом необходимоучитывать, что у йены один пункт равен 0.01, а не 0,0001, как убольшинства валют.
3.8. Выбор валюты
Рис. 3.8.1. Окно пункта меню Fie
Мы уже говорили, что будем тестировать нашу торговуюсистему на швейцарском франке. Но для этого сначала надовывести ценовой график франка на экран. Для того, чтобывыбрать валюту, с которой будет работать система, выберемв основном меню пункт Fie. Если у Вас на экране нетоткрытого файла, то это окно имеет такой вид, которыйприведен на рис 3.8.1 (имена файлов внизу окна у каждогопользователя свои). В открывшемся окне выберем пунктменю Open (рис. 3.8.1). После этого появится окно Open (рис.
3.8.2). В нем расположен список тех файлов, которыесодержат данные. Если у Вас окно имеет другой вид, нажмитекрайнюю правую кнопку вверху окна.
97
Рис 3.8.2. Окно Open для выбора валюты
В поле Папка можно выбрать папку, в которой хранятсяданные. Кнопки, расположенные справа от этого поля, позволяютизменять информацию, которая выводится под ними.
Информация о файлах выводится в несколько колонок. Впервой колонке выводится имя файла, в котором содержатсяданные о ценах валюты. Однако если Вы захотите найти на ЭВМфайл с таким именем не используя MetaStock, то Вам это неудастся. Это связано с тем, что данные для MetaStock хранятся сиспользованием специального формата. Во второй колонкепоказано имя валюты или ценной бумаги, которая хранится в этомфайле. В третьей колонке показан период времени, которыйиспользовался при построении свечей. На рис. 3.8.2 этот периодравен 60 минутам, то есть в файлах хранятся данные по часовымсвечкам. В четвертой колонке указана начальная дата, а в пятойколонке конечная дата данных. На рисунке не видны еще двеколонки с указанием сжаты ли данные и где они находятся. Кнопкив правой части окна позволяют выбрать соответствующие опции:
Open -открыть выбранный файл;
Cance - вернуться в предыдущее окно:
Tempate - выбрать шаблон, с которым Вы хотите работать.Подробнее о шаблонах рассказано в пособии «Программноеобеспечение технического анализа. Пакет MetaStock»;
Рис 3.8.3. Окно загрузки данных
Option - эта кнопка позволяет определить период времени,который будет использоваться для тестирования системы. При
99
выборе этой опции появится окно загрузки данных (рис.3.8.3)
Если выбрать верхнюю строчку, то в поле Load period надоуказать количество свечек, которые будут использоваться длядальнейшей работы. Если это число превышает количество свечекв файле, то будут использоваться все свечки. Максимальновозможное число свечек в файле - 32000. В поле dispay periodуказано число свечек, которые отображаются на экране поумолчанию. При работе количество свечек на экране можноменять, используя соответствующие кнопки в левом нижнем углуэкрана, поэтому неважно, какое число будет стоять в этом поле.Если в этом окне выбрать нижнюю строчку, то при открытии файлапоявится дополнительное окно, в котором надо указать две даты;начало и конец периода, который нам необходим для работы. Мыпредлагаем выбрать первую строчку, ввести соответствующиезначения в поля, закрыть это окно и вернуться в окно Open.
Опция Find попользуется для нахождения файла, если файловочень много и визуально найти нужный трудно.
Для работы выберем файл CHFH, в котором хранятсячасовые свечи швейцарского франка и откроем его, нажав кнопкуOpen или дважды щелкнув мышкой по названию файла. На экранедолжен появиться график, похожий на рис. 3.8.4. Если с этимиданными уже работали, то на экране могут появиться также линии,символы или индикаторы, нарисованные во время предыдущихсеансов работы. Их можно удалить, используя подпункт DeeteA в опции Edit основного меню или выделив их и нажав клавишуDeete.
Теперь надо запустить созданную торговую систему натестирование Для этого выполните следующее:
в основном меню выберите опцию Toos;
в появившемся окне выберите опцию System Tester;
100
Рис. 3.8.4. Часовой график швейцарского франка
• в открывшемся диалоговом окне системного тестирования
мышкой выделите систему СHF_ 1 и выберите опцию Test,
нажав соответствующую кнопку в левом нижнем углу окна.После этого начнется тестирование Вашей торговой системы,
3.9. Окно контроля процесса оптимизации
После начала тестирования на экране появится окно дляконтроля процесса оптимизации System Test Optimization (рис.3.9.1), в котором отражается ход оптимизации системы.Рассмотрим эту информацию подробнее.
Рис. 3.9.1. Окно для контроля процесса оптимизации
Competed Tests - число тестов, которые успешновыполнены на данный момент. Invaid Test - число тестов, привыполнении которых были обнаружены ошибки (например, делениена ноль).
102
Tota Tests to Perform - количество тестов, которое должнавыполнить система для оптимизации.
Percent Compete - процент уже выполненных тестов.
Eapsed Hours - время, уже потраченное на тестирование.
Estimate Remaining Hours - время, которое осталось доконца тестирования. Если оно слишком велико, то имеет смыслизменить границы параметров или шаг их изменения.
Estimate Competion Time - текущие время и дата.
Best Gain/Loss - наилучший результат (наибольшаяприбыль), полученный на тех тестах, которые уже выполнены притекущем тестировании. После окончания тестирования это простосамый хороший результат. В нашем случае он вычисляется впунктах. Так как для франка 1 пункт равен 0,0001, то на рис. 3.9.1показана прибыль в 61 фигуру или в 6100 пунктов. Эта величинаокругляется и на экран выводится с точностью до двух цифр послезапятой. R отчете мы увидим, что максимальная прибыль равна6089 пунктов.
Worst Gain/Loss - наихудший результат, полученный на техтестах, которые уже выполнены при текущем тестировании.
Last Gain/Loss - результат, полученный при выполнениитекущего теста.
Disk Space Remaining - объем свободного места на диске.Если его недостаточно для записи отчетов, тестирование системыпрекращается.
Execution Priority - выбор режима работы компьютера примногозадачном режиме. Low - меньшая часть времени процессоратратиться на оптимизацию. Medium - средняя, High –большая. В однозадачном режиме этот параметр ни на что не влияет.
Minimize - эта опция сворачивает окно, но тестирование приэтом продолжается.
Cance - прекращает тестирование системы.
Время тестирования зависит от количества данных в схеме
103
Рис. 3.9.3. График франка с кривой доходности в верхней части.
Рис. 3.9.4. Возможный результат повторного тестирования
и быстродействия компьютера. После того, как тестированиезакончится, на экране появится сообщение об этом (рис. 3.9.2.).
3.9.2. Сообщение об окончании тестирования системы
Если в этом окне нажать кнопку Reports, то мы сразу сможемпросмотреть краткий отчет о результатах тестирования. Но лучшенажать кнопку ОК. Тогда на экране появится график цены с кривойдоходности в верхней части. Примерный вид этого графикаприведен на рис. 3.9.3.
На графике видно всего три сигнала, говорящие осовершении сделок. Разумеется, это очень мало. Скорее всего,дело в том, что мы установили неудачные значения для остановов.Чтобы убедится в этом, вернемся в окно системного тестирования(рис. 3.2.2) и нажмем кнопку Edit. Откроется диалоговое окноSystem Editor (рис. 3.3.1) и мы получим возможностьотредактировать нашу торговую систему. Нажмем на кнопку Stopи уберем все остановы в появившихся окнах. Для этого достаточноубрать метки возле Long и Short, то есть отменить использованиеостановов в «длинных» и «коротких» позициях. После этого ещераз запустим торговую систему на тестирование. В результатеполучим график, похожий на приведенный на рис. 3.9.4. В такомвиде график не очень информативен. Потому сожмем его так,чтобы на нем были все свечи (для этого надо нажать кнопку,указанную стрелкой на рис.3.9.4). В результате график примет вид,показанный на рис. 3.9.5. На этом графике хорошо видно, гдеоткрывались позиции вверх (стрелка вверх) и где открывалисьпозиции вниз (стрелка вниз).
106
Рис. 3.9.5. Результаты тестирования торговой системы
Сравнивая рисунки 3.9.3 и 3.9.5, мы видим, что результатыработы торговой системы стали гораздо лучше. Следовательно,мы действительно выбрали в первом случае для останововнеудачные параметры. В реальной жизни подбор параметров дляостановов является сложной задачей, и поэтому обычно первыйвариант торговой системы тестируют без установки остановов(как мы и сделали во втором варианте). И только если при этомполучаются обнадеживающие результаты, начинают подбиратьпараметры для остановов.
Мы тестировали систему на временном интервале с марта1999 года до середины августа 2000 года. В верхней части графика нарисована кривая доходности. Она начинается с нуля (в начальныймомент времени дохода нет) и показывает Ваш доход (или убыток)в каждый момент времени. Так как мы тестировали торговуюсистему в пунктах, то и доход показан в пунктах. На графике видно,что конечное значение кривой доходности больше 0.5 (напоминаем,что 0.5 - это 5000 пунктов). То есть система дала достаточнохорошую прибыль. Однако на кривой доходности видны провалы.Это говорит о том, что были периоды, в течении которых торговляпо этой системе приносила убыток. Если внимательно изучитькривую доходности (для этого ее надо рассмотреть в другоммасштабе), то можно увидеть, что максимальная глубина провала(то есть MIDD) достигает 9 фигур, но несмотря на это системадала хорошую прибыль и потому ее можно рассматривать какоснову для создания практически применимой торговой системы.Для более детального рассмотрения результатов тестированиянеобходимо посмотреть отчеты.
108
Глава 4. Просмотр отчетов
4.1. Краткий отчет (Summary Report)
4.1.1. Общие сведения
Для просмотра результатов тестирования, когда появитсясообщение «System Test Competed», выберите опцию «Report»(отчет можно будет просматривать и потом, воспользовавшисьопцией Reports в окне системного тестирования. Данный отчетсодержит информацию о каждом тесте (в данном случае-50тестов).
При тестировании системы MetaStock сохраняет десятки тысячдеталей тестирования. Эта информация хранится в сериях отчетов.Каждый отчет включает в себя дополнительную информацию потесту. Суммарный (или краткий) отчет (рис. 4.1.1.) содержиткраткое обобщение отчетов оптимизированной системы. Если всистеме нет оптимизационных переменных, только один тест будетпоказан в окне Summary Report,
Краткий отчет (Summary Report) показывает общиерезультаты тестирования и включает в себя краткие результатыкаждого выполненного теста. Если в торговых правилах нетоптимизационных переменных, высветится только одна строкаотчета. Краткий отчет можно вывести на экран выбором имениторговой системы (рядом с ней справа должна стоять буква «R»)в диалоговом окне System Tester и выбором опции Report. Ширинаколонок в отчете может регулироваться смещением разделителяс помощью «мыши» до нужной ширины.
Справа в окне есть несколько кнопок для выбора опций.
Print. Данная опция посылает содержимое раздела Краткийотчет (Summary Report) на принтер. Полное содержание разделаTests Report печатается независимо от того, какой разделподсвечен.
Sort. Данная опция позволит Вам сортировать информацию
109
Рис. 4.1.1. Суммарный (или краткий) отчет
раздела Summary Report. После выбора этой опции Вы должныустановить поле, по которому будет идти сортировка и порядоксортировки.
Reports. Данная опция позволит Вам подробно просмотретьрезультаты системного теста подробнее с помощыо открытиядиалогового окна System Report.
4.1.2. Описание колонок раздела «Краткий отчет»(Summary Report).
Test number - номер теста (по порядку исполнения).
Status - состояние теста, может иметь значения: «Ok» —корректный, «Invaid» — некорректный, «Terminated» —прерванный. Параметр «Invaid» появляется, если встречаетсяматематическая ошибка (например, деление на 0). Результат тестадоступен для просмотра, но его корректность сомнительна.
Параметр «Terminated» появляется, если торговое правилонельзя проверить (например, если правило, содержащеескользящую среднюю за 200 периодов, обрабатывает массивданных из 100 периодов). Если так случилось, и тест прервался,то Вы можете выбрать опцию Report, чтобы посмотреть, в чемпроблема.
Net Profit - чистая прибыль, выявленная в результатетестирования. Сюда включается завершающее значение пооткрытой позиций, существующее на момент окончания теста.Открытая позиция — последняя длинная пли короткая позиция,которая была открыта (но не закрыта ) торговым правилом.
Percent Gain or Loss - выраженная в процентах прибыль
или убыток по сравнению с балансом капитала на начало работы,
выявленная тестом. Сюда включаются завершающие значения пооткрытой позиции, существующие на момент окончания теста.
Данное значение недоступно для теста «Только в пунктах».
Tota Number of Trades - общее количество сделок,
111
сгенерированных тестом.
Сюда включаются только закрытые сделки и не включаютсяоткрытые позиции, существующие на момент окончания теста.Поэтому это количество может равняться 0, если в системе всегоодни незакрытые торги.
Winning Trades - количество закрытых сделок, врезультате которых получена прибыль.
Losing Trades - количество закрытых сделок,
закончившихся убытками.
Average Win/Average Loss - отношение прибылей кубыткам. Средняя прибыль считается как общая прибыль,деленная на количество прибыльных торгов. Средний убытокрассчитывается так же.
ОРТ - всего может быть до 10 колонок, которые выводятсяв конце раздела Summary Report (по одной на каждую переменную,по которой проводится оптимизация.). Колонка показываетзначение ОРТ-переменной, которая использовалась в тексте(именно при этом значении и были получены результаты,показанные в той же строке).
Sorting the Summary Report - с помощью опции Sortдиалогового окна Summary Report можно отсортироватьсодержимое раздела Summary Report. Обычно содержимое отчетасортируют в порядке убывания прибыли. При этом в первой строкестоят те параметры, при которых была получена максимальнаяприбыль.
Sort by - данная опция позволит выбрать поле сортировки.Сортировка по Net Profit (Общая прибыль) или Percent Gain orLoss (процент прибылей и убытков) позволит определить, какойтест принес больше всего денег
Ascending - сортировка по возрастанию.
112
Рис. 4.2.1. Окно систематического отчета
Descending - сортировка no убыванию.
4.2. Систематический отчет (System Report)4.2.1. Вызов систематического отчета
Если в окне краткого отчета (рис, 4.2.1) нажать кнопкуReports, то откроется окно для просмотра более подробного(систематического) отчета. Это окно приведено на рис.4.2.1.
Систематический отчет содержит 3 страницы с подробнымиотчетами по выбранному тесту. Кроме того, есть страница,содержащая торговые правила, оптимизационные правила итестовые опции. Справа размешены кнопки для вызова опций.
Arrows - эта опция используется для просмотра иперемещения линий покупок/продаж, выхода и остановов на схеме.Если на экране нет схемы, опция недоступна.
Pot Equity (нанести капитал) - Когда выбрана эта опцияпосле тестирования на экране появляется новое окно, в которомбудет нарисована кривая доходности. Линия начнется с начальногокапитала (Initia Equity), определенного в диалоговом окне SystemTesting и поднимается или опускается в зависимости от успехаторгов. График капитала может быть скопирован или перемещенв другие схемы как индикатор.
Print - эта опция открывает диалоговое окно Print, котороепозволит распечатать отчет.
Inspect - появляется, если открыты страницы Trades илиEquity. Выберите эту опцию для получения «Детального отчета оторгах» (Trade Detai report).
4.2.2 Страница Resuts Report
Данная страница содержит подробный обзор выбранноготеста. Ее вид приведен на рис. 4.2.1. Из всех четырех страницсистематического отчета эта страница используется чаше всего.Она содержит следующие данные.
114
Tota Net Profit - общая прибыль (убыток), выявленнаясистемой. Сюда включаются значения открытых позиций, которыесуществовали на конец теста (т.е. включаются нереализованныеприбыли/убытки на конец теста).
Percent Gain/Loss - общий процент прибыли (убытка) поотношению к начальным вложениям.
Initia Investment - вложения в начале теста (Вы ихопределяете в диалоговом окне System Testing Options).
Open Position Vaue - окончательное значение открытыхпозиций, которые существовали на конец теста. Последняя позицияпокупки (короткая позиция) автоматически закрыта по ценепоследнего загруженного периода.
Annua Percent Gain/Loss - годовой процент прибыли(убытка). Годовая прибыль (убыток) рассчитывается так:
Annua Gain /Loss - 365 / Days Tested x Tota Net Profit
Days Tested - количество протестированных дней,
Tota Gain/Loss - общая прибыль (убыток).
Interest Earned - ставки заработаны, когда системанаходилась ни в длинной, ни в короткой позиции (в позиции «аут»),
Current Position - текущая позиция теста (длинная, короткаяили «аут»).
Date Position Entered -Дата введения текущей позиции.
Buy/Hod Profit - Прибыль от стратегии покупки и держанияценных бумаг. Стратегия покупки и держания ценных бумагзаключается в том, что Вы покупаете в первый день, отраженныйв схеме и удерживаете позицию. Прибыль рассчитывается сиспользованием цен первого и последнего дня. В расчет берутсявходные комиссионные.
В идеале Вы хотите, чтобы Ваш системный тест сделалбольшую прибыль, чем стратегия покупки и держания (т.е.
115
показатель Tota Net Profit должен быть больше чем Buy/HodProfit). Иначе торги могут не оправдать усилий и времени.
Учтите, что если показатель Buy/Hod Profitотрицательный, то стратегии удержания ценных бумаг и короткихпозиций должна дать прибыль на эту сумму.
Buy/Hod Percent Cain/Loss - процентный показательприбыли по Buy /Hod Profit к начальным вложениям.
Days in Test - количество тестируемых календарных дней.
Annua Buy/Hod Percent Gain /Loss - годовой процентныйпоказатель прибыли по Buy/Hod Profit к начальным вложениям.Смотрите также формулу для Annua Percent Gain/Loss.
Tota Cosed Trades - количество завершенных сделок(открытая позиция в конце торгов не включается).
Average Profit Per Trade - средняя прибыль по сделкам(исключая все значения открытых позиций Open Position Vaue).
Tota Long Trades - количество завершенных «длинных» сделок.
Winning Long Trades - количество завершенныхприбыльных «длинных» сделок.
Commissions Paid - Общее количество комиссионных,уплаченных за время тестирования. Сюда не включаютсяожидаемые комиссионные на закрытие открытой позиции в концетеста.
Average Win/Average Loss Ratio - Отношение среднейприбыли к средним убыткам. Средняя прибыль есть суммаприбыли, деленная на количество прибыльных сделок. Такжесчитаются средние убытки.
Tota Short Trades - количество завершенных «коротких» сделок.
Winning Short Trades - количество завершенныхприбыльных «коротких» сделок.
Tota Winning Trades - общее количество прибыльных
116
сделок.
Amount of Winning Trades - общий выигрыш поприбыльным сделкам. Этот показатель не включает в себяоткрытую позицию в конце теста. Потому, сумма показателейTota Winning Trades и Tota Loss Trades (см ниже) могут неравняться показателю «Tota Net Profit»,
Average Win - средняя прибыль по прибыльным сделкам.
Largest Trade - максимальная прибыль, полученная за однусделку.
Average Length of Win - средняя продолжительностьприбыльных сделок (в свечках).
Longest Winning Trade - продолжительность самой долгойприбыльной сделки (в свечках).
Most Consecutive Wins - наибольшее числопоследовательных прибыльных сделок.
Tota Losing Trades - общее количество убыточных сделок.
Amount of Losing Trades - общие потери от убыточныхсделок. Этот показатель не включает в себя открытую позицию вконце теста. Поэтому сумма показателей Tota Winning Trades иTota Loss Trades может не равняться показателю «Tota NetProfit».
Average Loss - средний убыток по всем убыточнымсделкам.
Largest Loss - максимальный убыток за одну сделку.
Average Length of Loss - средняя продолжительностьубыточных сделок.
Largest Losing Trade - длительность самой убыточнойсделки.
Most Consecutive Losses - наибольшее числопоследовательных убыточных сделок.
Tota Bars Out - общее количество периодов, когда торговаясистема была в позиции «аут» (ни в длинной, ни в короткой).
117
Longest Out Period - наибольшее количество периодов(свечек), когда система была в позиции «аут».
Average Length Out - среднее количество периодов впозиции «аут».
System Cose Drawdown - наибольшее падение капиталапо отношению к начальным вложениям, основанное на закрытойпозиции. Это показывает разницу между упавшей закрытойпозицией и начальными вложениями.
System Open Drawdown - наибольшее падение капиталапо отношению к начальным вложениям, основанное на открытойпозиции. Это показывает разницу между открытой позицией иначальными вложениями.
Max Open Trade Drawdown - наибольшее падение капитала,наблюдаемое по одним торгам (по отношению ко «входным ценам»торгов). Не путать с величиной MIDD. MIDD может включать всебя убытки по нескольким убыточным позициям и в MetaStockне рассчитывается. Показатель Open Position Drawdown дляторгов показан в детальном отчете по торговле (Trade DetaiReport).
Profit/Loss Index - показатель, который сравниваетколичество прибыльных и убыточных сделок.
Данный показатель формирует из показателей Winning
Trades и Losing Trades одно значение, которое изменяется от -100 до +100. Если это значение отрицательное, то система приносит
общий убыток. Чем ближе данный показатель к + 100, тем система
лучше.
Reward/Risk Index - показатель сравнивает риск ивознаграждение. В данном показателе риск определяется какпоказатель System Open Drawdown (нижней точкой падениякапитала по отношению к начальным вложениям). Вознаграждениеопределяется как показатель Tota Net Profit (максимум на линиикапитала). Данный показатель объединяет показатели Reward и
118
ПоказательВознаграждениеРиск+100ВысокоеНет+50СреднееСредний0НетНет-50НизкоеСредний-100Очень низкоеВысокийRisk в одно значение. которое изменяется от -100 (самоерискованное) до +100 (самое безопасное). 0 означает равенствопоказателей Reward и Risk.
Buy/Hod Index - Данный показатель показывает прибыльсистемы по отношению к прибыли по стратегии покупки иудержания ценных бумаг. Значение «-50» означает, что прибыльсистемы была половина от прибыли по стратегии покупки иудержания ценных бумаг. Значение «25» означает, что прибыльсистемы была на 25% больше прибыли но стратегии покупки иудержания ценных бумаг. 0 означает их равенство.
?
4.2.3 Страница Trades Report (Отчет по торгам)
Начало этой страницы показано на рис. 4.2.2. Остальнуючасть страницы в MetaStock можно просмотреть с помощьюлинеек прокрутки, расположенных справа и снизу окна. На даннойстранице показаны результаты всех сгенерированных системойсделок. Ширину колонок можно отрегулировать смещениемвертикального разделителя начала колонки с помощью мыши донужной ширины.
Эта страница содержит следующие колонки.
Trade Number - номер сделки, сгенерированной тестом (неучитывая «аут» позиции).
Trade Тyрe - тип торгов. Возможны следующие варианты:OUT - когда не открыты ни длинные, ни короткие позиции. Втечение этого периода ставки накапливаются в годовыхрасходах по ставкам (Annua Interest Rate), которые Вы
119
Рис. 4.2.2. Страница Trades Report систематического отчета
определяете в диалоговом окне «System Tester».
LONG - длинные торги. SHRT - короткие торги.
NSFL - прерванные длинные торги из-за недостаточных фондов
для покрытия комиссионных. (Not Sufficient Funds for Long
trade). Торги не могут проводиться пока размеры ставок не
увеличат капитал до размеров, достаточных для покрытия комиссионных.
NSFS - прерванные короткие торги из-за недостаточных
фондов для покрытия комиссионных (Not Sufficient Funds for
Short trade). Торги не могут проводиться, пока размеры ставок
не увеличат капитал до размеров, достаточных для покрытия
комиссионных.
OPEN - длинные или короткие торги, не закрытые в конце
теста. (Заметьте, что отчет по прибылям и убыткам,
выданный по этим торгам есть значение при закрытой позиции
на конец временного периода),
Entry Date -дата введения позиции,
Cose Date - дата закрытия позиции.
МАЕ (Maximum Adverse Excursion) - худшая извнутридневных цен ставится напротив позиции, измеренной по
входной цене.
Profit/Loss - общая прибыль (убытки), реализованные по торгам.
Reason for Cose - Описание причины закрытия торгов.
4.2.4. Страница Equity Report (Отчет по капиталу)
На этой странице приводится баланс по капиталу длякаждой свечки. Общий вид этой страницы приведен на рис. 4.2.3.Ширину колонок в Equity Report можно отрегулироватьсмещением вертикального разделителя у начала колонки спомощью мыши до нужной ширины.
Эта страница содержит следующие колонки.
121
Рис. 4.2.3. Общий вид страницы Equity Report
Рис. 4.2.4. Окно детального отчета
Bar Number - количество периодов, отсчитанных слеванаправо по схеме.
Date - дата каждого временного периода, анализируемого при тестировании.
Ending Position - позиция, которая была в действии послеобработки временного периода. Например, если системаизменилась с длинной позиции на короткую, то поле «Position»покажет «Short».
Cose - торговая стоимость ценной бумаги за выданнуюдату. Заголовок колонки может быть показан как Open, High, Low, Cose в зависимости от выбора поля Price Fied в диалоговомокне System Testing Options.
Current Equity - капитал на конец временного периода. Этавеличина появляется при выборе опции Pot Equity.
Change in Equity - изменение капитала с моментапредыдущего периода торгов.
Если выбрать конкретный момент времени (номер свечки вкрайней левой колонке) и нажать кнопку Inspect, расположеннуюсправа, то можно получить подробный отчет по состоянию дел ввыбранный момент времени (Trade Detai Report). Пример отчетаприведен на рис. 4.2.4.
Это окно содержит следующую информацию.
Trade Number - количество торгов, сгенерированных тестомна рассматриваемый момент времени (позиции «аут» неучитываются).
Days in Trade - количество свечек, прошедших с открытияпозиций до их закрытая.
Trade Type - тип торгов.
Bars in Trade - количество временных периодов в торгах.
Entry Date - дата открытия позиции.
Entry Price - торговая цена на момент открытия позиции.
Entry Commission - комиссионные, уплаченные при
124
Рис. 4.2.5 Пример системной страницы
открытии позиции.
Cose Date - дата закрытия позиции.
Cose Price - торговая цена на момент закрытия позиции.
Cose Commission - комиссионные, уплаченные на моментзакрытия позиции.
Equity At Entry - количество доступных наличных денег на
момент открытия позиция (перед уплатой входных комиссионных).
Equity At Cose - количество доступных наличных денег намомент закрытия позиции (после у платы выходных комиссионных).
Open Position Drawdown - наибольшее падение капиталаза данную сделку за торги (no отношению к начальному).
Profit or Loss - прибыль (убытки) по данной сделке.
Percent Profit or Loss - процент прибылей (убытков) поданной сделке (основан на начальном Entry Amount и конечномCose Amount значениях капитала).
Чтобы закрыть окно детального отчета, надо нажать кнопкуCose.
4.2.5. Системная страница (System Page)
Системная страница показывает в диалоговом окне SystemReport торговые правила, ОРТ-переменные и их значения,определенные в диалоговом окне System Testing Options. Примерэтой страницы приведен на рис. 4.2.5. К сожалению в этом окне неудается показать правила торговой системы полностью.
На этом мы заканчиваем рассмотрение информации,которую предоставляют в Ваше распоряжение краткий исистематизированный отчеты. Конечно, не всю эту информациюВы будете использовать каждый день. Но по мере того, как будетрасти Ваш опыт, Вы сможете все точнее оценить, какая именноинформация представляет для Вас наибольший интерес.
126
Глава 5. Торговые системы на основе конвертов
5.1. Построение конвертов
Обычно конвертом называют две линии, построенныетаким образом, что одна из них расположена выше цены, а втораяниже. Между ними часто строится третья линия (обычно некотораяскользящая средняя), от которой и рассчитывается расстояние доверхней и нижней линий конверта. Это расстояние называютшириной конверта. Ширина конверта может измеряться впроцентах, в пунктах, и стандартных отклонениях (например, припостроении диапазона Боллинджера), в долларах и так далее. Вчем именно измеряется ширина конверта зависит от того, какойименно конверт строится. Для построения любого конвертанеобходимо:
* записать правило построения средней линии;
* записать правило построения нижней линии;
* записать правило построения верхней линии.
Например, если Вы хотите построить конверт на основескользящих средних, то это можно сделать следующим образом.Сначала строим среднюю линию. Пусть это будет простаяскользящая средняя, построенная по ценам закрытия 24 свечек. ВMetaStock это записывается так: Mov(c,24,s). Верхнюю границуможно сдвинуть вверх от средней линии, например, на 40 пунктов.Тогда правило для построении верхней границы будет иметь вид:
Mov(c,24,s) + 0.0040
Нижнюю границу можно сдвинуть вниз от средней линии,например, на 60 пунктов. Тогда правило для построения нижнейграницы будет иметь вид:
Mov(c,24,s) - 0.0060
127
Рис. 5.1.1. Конверт из скользящих средних с постоянным сдвигом
от середины. Верхняя и нижняя части конверта разной ширины
Рис. 5.1.2. Конверт на основе Price Channe и скользящей средней
Объединяя эти выражения, получим индикатор дляпостроения конверта. В MetaStock это будет записано так:
Mov(c,24,s);Mov(c,24,s) + 0.0040;
Mov(c,24,s) - 0.0060
Обратите внимание на точку с запятой после первых двухстрок. Они обязательно должны стоять после всех выражений, заисключением последнего. После него точку с запятой можно неставить. Нa рис. 3.1.1 приведен пример построения такого конвертадля часовых свечей франка. В данном примере рассмотрен вариантпостроения конверта, у которого верхняя и нижняя линия находятсяна разном расстоянии от средней линии. Но обычно конвертыстроят таким образом, что эти расстояния одинаковые и средняялиния проходит точно в середине конверта.
При построении этого конверта его ширина не зависела отцены. Это не самый удачный вариант. На основе скользящихсредних можно также построить конверт, ширина которого будетзависеть от цены. Например, можно взять в качестве верхней инижней границы канала максимальные и минимальные цены за 24часа (индикатор Price Channe), а в качестве средней линии выбратьэкспоненциальную скользящую среднюю за 12 часов (рис. 5.1.2).
Ниже в этой главе мы рассмотрим несколько вариантовпостроения торговой системы, основанной на одном хорошоизвестном конверте - диапазоне Боллинджера. Практически всепредложенные варианты систем легко могут быть использованыс любым из других конвертов.
130
Рис. 5.2.1. Диапазон Боллинджера на часовых свечах швейцарского франка
5.2. Торговые системы, основанные на диапазонеБоллинджера
На основе диапазона можно построить очень много разных
систем. Мы начнем с наиболее простой торговой системы и будемпостепенно предлагать различные варианты, которые, возможно,смогут ее улучшить. Мы не будем останавливаться на расчетахсамого диапазона Боллипджера (этот способ описан в любой книгепо техническому анализу). Отметим только, что для построениядиапазонов Боллинджера надо задать количество свечек длярасчета скользящей средней - n, тип скользящей средней (простая,взвешенная или какая-то другая) и ширину диапазона - d. Ширинадиапазона измеряется в среднеквадратичных отклонениях (см.описание диапазона Боллинджера). На рис 5.2.1 приведен примердиапазона Боллинджера для часовых свечек швейцарского франка,построенный на основе простой скользящей средней с n =20 и d=2.
Если внимательно рассмотреть рисунок 5.2.1, то можнозаметить, что часто цена, выйдя за границу диапазонаБоллнпджера, разворачивается и идет к другой границе. При этоммы пытаемся «поймать» самое начало разворота, то есть строим«разворотную» торговую систему. Поэтому для создания первоговарианта торговой системы можно предложить следующиеправила.
1. Открываем длинную позицию, когда цена закрытия пересечет
нижнюю границу диапазона Боллинджера снизу вверх.
2. Закрываем длинную позицию, когда цена закрытия пересечетверхнюю границу диапазона Боллинджера сверху вниз.
3. Открываем короткую позицию, когда цена закрытия пересечетверхнюю границу диапазона Боллинджера сверху вниз.
4. Закрываем короткую позицию, когда цена закрытия пересечетнижнюю границу диапазона Боллинджера снизу вверх.
В этой торговой системе правила для открытия одной позициисовпадают с правилами для закрытия другой позиции. Такие
132
торговые системы называются разворотными. В дальнейшем привычислении диапазонов Боллинджера мы будем использоватьпростую скользящую среднюю, а параметры n и d будем подбиратьс помощью оптимизации торговой системы в MetaStock. С учетомэтого, условия для открытия и закрытия позиции в MetaStock можнозаписать так:
Enter Long: Cross(C, BBandBot(C, opt1, S, opt2))Cose Long: Cross(BBandTop(C, opt1, S, opt2),C)Enter Short: Cross(BbandTop(C, opt1, S, opt2),C)Cose Short: Cross(C, BbandBot(C, opt1, S, opt2))
Переменная opt1 определяет количество свечек длявычисления скользящей средней в диапазоне Боллинджера, апеременная opt2 определяет ширину диапазона. Для оптимизацииторговой системы будем изменять opt1 от 12 до 60 с шагом 4, аopt2 – от 1 до 5 с шагом 0.5. Где и как записывать эти значенияподробно объяснено выше, при создании торговой системы наоснове RSI и RAVI. Обычно начинающие трейдеры спрашивают,почему мы взяли именно эти цифры для минимального имаксимального значения параметров. Ответ очень прост - этизначения берутся «на глазок». В данном примере мы решили, чтонет смысла рассматривать скользящую среднюю с периодомменьше 12 часов (половина суток) и с периодом больше 60 часов(половина рабочей недели). Но никто не мешает Вам изменитьэти диапазоны. При этом надо помнить, что чем шире диапазони чем меньше шаг, тем дольше будет проходить тестированиеторговой системы.
При оптимизации системы мы не будем использоватьникаких остановов, систему будем тестировать в пунктах, размеркомиссионных установим равным 0.001, то сети 10 пунктов, времятестирования с 22.10.98 года по 6.12.99 года.
В результате оптимизации этой торговой системы наилучшиерезультаты были получены при opt1 = 56 и opt2 =3.5. При этом был
133
Рис. 5.2.2. Результаты тестирования первой системы, основанной
на диапазоне Боллинджера.
получен доход в размере 5650 пунктов, то есть больше 56 фигур.На рис 5.2.2 показаны моменты открытия позиций и криваядоходности.
Если оценивать эту торговую систему только по доходности,то систему можно считать очень хорошей. Однако внимательноерассмотрение кривой доходности и изучение систематическогоотчета показывает, что при работе по этой системе были периоды,когда MIDD достигал 800 пунктов. Разумеется, хотелось бы этуторговую систему улучшить. Мы рассмотрим несколько отдельныхметодов улучшения торговой системы, но Вы можете использоватьнесколько методов одновременно.
5.2.1. 1-й метод изменения торговой системы
Рассматривая области открытия позиции, можно заметить,что часто бывает, например, такая ситуация: цена закрытияпересекла сверху вниз верхнюю границу диапазона Боллинджера,была открыта «короткая» позиция, но далеко вниз цена не пошла, аразвернулась и пошла вверх. Разумно было бы в этом случаезакрыть «короткую» позицию. Аналогичные рассуждения можнопривести и для «длинной» позиции. Чтобы это учесть, введем вправила для закрытия позиции добавочные условия:
* «длинная» позиция закрывается и в том случае, когда цена
закрытия пересекает нижнюю границу Боллинджера сверху
вниз;
* «короткая» позиция закрывается и в том случае, когда цена
закрытия пересекает верхнюю границу Боллинджера снизу
вверх.
В MetaStock эти правила открытия и закрытия позицийзаписываются так.
Enter Long: Cross(C, BBandBot(C, opt1, S, opt2))Cose Long: Cross(BBandTop(C, opt1, S, opt2),C) or
135
Cross(BBandBot(C, opt1, S, opt2),C)
Enter Short: Cross(BbandTop(C, opt1, S, opt2),C)Cose Short: Cross(C, BbandBot(C, opt1, S, opt2)) or
Cross(C, BBandTop(C, opt1, S, opt2))
Обратите внимание, что в этом случае торговая системауже не будет оборотной, так как, например, правила закрытия «ко-роткой» позиции не совпадают с правилами открытия «длинной»позиции.
Мы не будем приводить результаты тестирования этого и
других вариантов торговой системы, предоставляя это Вам в
качестве упражнения.
5.2.2. 2 -й метод изменения торговой системы
При открытии «длинной» позиции вместо цены закрытияможно использовать минимальную цену, то есть открывать«длинную» позицию тогда, когда минимальная цена пересечетнижнюю границу Боллинджера снизу вверх. Аналогичнокороткую позицию можно открывать, когда максимальная ценапересечет верхнюю границу сверху вниз.В MetaStock эти правила открытия и закрытия позиций
записываются так.
Enter Long: Cross(L, BBandBot(C, opt1, S, opt2))Cose Long: Cross(BBandTop(C, opt1, S, opt2),C)Enter Short: Cross(BbandTop(C, opt1, S, opt2),H)Cose Short: Cross(C, BbandBot(C, opt1, S, Opt2))
В этот же метод можно включить вариант использованияминимальной и максимальной цены для закрытия позиций.
136
5.2.3. 3-й метод изменения торговой системы
Вместо цен закрытия используют скользящую среднюю сочень коротким периодом. Мы рекомендуем в этом случаеиспользовать простую скользящую среднюю, а ее периодвключить в число переменных, по которым проводится оптимизация.
В MetaStock эти правила открытия и закрытия позицийзаписываются так.
Enter Long: Cross(Mov(C,opt3,s),BBandBot(C, opt1, S, opt2))
Cose Long: Cross(BBandTop(C, opt1, S, opt2),Mov(C,opt3,s))
Enter Short: Cross(BBandTop(C, opt1, S, opt2),Mov(C,opt3,s))
Cose Short: Cross(Mov(C,opt3,s), BBandBot(C, opt1, S, opt2))
В этом варианте появилась новая переменная, по которойпровидится оптимизация - opt3. Для нее минимальное значениеможно взять равное 3, максимальное - 7, а шаг изменения выбратьравным 1. Подобное сглаживание можно проводить и прииспользовании максимальных и минимальных цен.
5.2.4. 4-й метод изменения торговой системы
Рассматривая график диапазона Боллинджера, можнозаметить, что цена перед разворотом часто доходит не допротивоположной границы, а до средней линии, и отбивается отнее. С учетом этого можно добавить в торговую системуследующие условия.
Открывать «длинную» позицию, когда цена закрытияпересечет среднюю линию диапазона Боллинджера (скользящуюсреднюю) снизу вверх. Если в момент пересечения «длинная»позиция уже открыта, то второй раз она не откроется.
Закрывать «длинную» позицию, когда цена закрытияпересекает среднюю линию диапазона Боллинджера сверху вниз.
137
Открывать «короткую» позицию, когда цена закрытияпересечет среднюю линию диапазона Боллинджера сверху вниз.Если в момент пересечения «короткая» позиция уже открыта, товторой раз она не откроется.
Закрывать «короткую» позицию, когда цена закрытияпересечет среднюю линию диапазона Боллинджера снизу вверх.
В MetaStock эти правила открытия и закрытия позицийзаписываются так.
Enter Long: Cross(C, BBandBot(C, opt1, S, opt2)) or
Cross(C, Mov(c,opt1,s))
Cose Long: Cross(BBandTop(C, opt1, S, opt2),C) orCross(Mov(c,opt1,s),C)
Enter Short: Cross(BBandTop(C, opt1, S, opt2),C) orCross(Mov(c,opt1,s))
Cose Short: Cross(C, BBandBot(C, opt1, S, opt2)) orCross(C, Mov(c,opt1,s))
5.2.5. 5-й метод изменения торговой системы
В этом методе можно задать величину некоторых останововдля выхода из позиции. К сожалению, MetaStock не позволяетавтоматически подбирать оптимальную величину останова. Крометого, опытные трейдеры обычно используют такие методы длявыхода из позиции (например, скользящий take-profit), которые вMetaStock установить нельзя. Поэтому мы рекомендуемиспользовать остановы только для установки стоп-лосса и/иливеличины выигрыша, которой Вы ограничиваетесь (Profit Target).Разумеется, возможны и другие методы изменения торговыхсистем, но пока мы ограничимся перечисленными выше.
138
Рис. 5.3.1. Диапазон Боллинджера и RSI для швейцарского франка
5.3. Совместное использование диапазонаБоллинджера и осцилляторов.
Мы уже говорили, что сейчас мы используем диапазонБоллинджера для построения разворотной торговой системы. Припостроении таких торговых систем большую помощь могутоказать осцилляторы. Рассмотрим возможности использованияосциллятора RSI совместно с диапазоном Боллндджера. При этомпри использовании самого диапазона Боллинджера мы ограничимсясамым простым вариантом. Вы легко сможете изменить этотвариант, используя методы, описанные выше.
5.3.1. Базовый вариант
Рассматривая одновременно графики диапазонаБоллинджера и RS1 (рис. 5.3.1) нетрудно заметить, что обычноесли цены выше верхней границы диапазона Боллинджера, то RSIимеет большие значения, а если цена ниже нижней границы, кRSI имеет низкие значения. Поэтому можно попробоватьиспользовать RSI следующим образом,
1. Открывать «длинную» позицию, если цена ниже нижней границыдиапазона Боллинджера и RSI начал возрастать (то естьзначение RSI больше, чем было на предыдущей свечке).
2. Закрывать «длинную» позицию, если цена выше верхнейграницы диапазона Боллипджсра и RS1 начал убывать (то естьзначение RSI меньше, чем было на предыдущей свечке).
3. Открывать «короткую» позицию, если цена выше верхнейграницы диапазона Боллинджера и RSI начал убывать.
4. Закрывать «короткую» позицию, если цена ниже нижнейграницы диапазона Боллинджера и RSI начал возрастать.
В MetaStock эти правила открытия и закрытия позицийзаписываются так.
140
Enter Long:
(C< BBandBot(C, opt1, S, opt2)) and rsi(opt3)>ref(rsi(opt1),-1)
Cose Long:
C>BBandTop(C, opt1, S, opt2) and rsi(opt3)Enter Short:
C>BBandTop(C, Opt1, S, opt2) and rsi(opt3) (C< BBandBot(C, opt1, S, opt2)) and rsi(opt3)>ref(rsi(opt3),-1)
Выражение ref(rsi(opt3),-) это величина RSI(opt3) напредыдущей свечке. Для оптимизации системы до opt3 можновыбрать следующие параметры: минимальное значение 5,максимальное значение - 25, шаг изменения 2, В дальнейшемэти параметры можно изменять.
Если эту систему протестировать, то можно увидеть, чтоона слишком «дерганная», то есть слишком часто открывает изакрывает позиции. Чтобы избавиться от этого, попробуемприменить сглаживание RSI.
5.3.2. Сглаживание RSI
Для сглаживания RSI воспользуемся простой скользящейсредней. То есть вместо RS1 будем использовать среднюю от RSIс периодом 3. Как показывает опыт, в подавляющем большинствеслучаев это наилучший вариант. Более длинный период частоприводит к тому, что сигнал на открытие позиции возникнетслишком поздно.
В MetaStock эти правила для открытия и закрытия позицийзаписываются так.
141
Enter Long: (C< BBandBot(C, opt1, S, opt2)) and
mov(rsi(opt3),3,s)>ref(mov(rsi(opt3),3,s),-1)
Cose Long: C> BBandTop(C, opt1, S, opt2) and
Enter Short: C> BBandTop(C, opt1, S, opt2) andmov(rsi(opt3),3,s)Cose Short: (C< BBandBot(C, opt1, S, opt2)) and
Мы рекомендуем провести тестирование этой торговойсистемы с использованием останова Profit Target (максимальнаявеличина выигрыша) и установить его равным 0.006 (60 пунктов).У нас при этом получалось очень хорошее соотношениеприбыльных торгов к убыточным.
ВалютаprofittotawinAv w/Jpy-21141960,53Eur-1381790,93Gbp31425170,53Chf-32225140,75
Таблица 6.2 Результаты тестирования RSI на часовом фунте
153
Cose ong: Cross(opt3, RSI(opt1)) AND Mov(C, 24,
* Канал
Таблица 6.10. Результаты тестирования «трендового» RSI
profittotaWinAv w/MIDDOpt1Opt2Opt3Chf5101072,16267224868Eur115915142,03274102464Gbp79622-207262472Jpy474430,9376303668
profittotaWinAv w/MIDDOpt1Opt2Opt3Chf10621587,5123262892Eur8315100,681344144060Gbp5261885,81175104484Jpy1114862,84515304076
* Канал
157
RSI успешные сделки (%)88869689«плохие» сделки (%)12(12)14(7)4(0)11(5)-суммарный доход (в пунктах)295724882663401112139Stochasticуспешные сделки (%)84758691-«плохие» сделки (%)16(12)25(15)14(10)9(3)-суммарный доход (в пунктах)468827782830334013636Wiiams %Rуспешные сделки (%)84707878 -«плохие» сделки (%)16(9)30(19)22(19)22(15) -суммарный доход (в пунктах)37291636205622859706 Франк Евро Йена Фунт Сумма
mov(rsi(opt3),3,s)
mov(rsi(opt3),3,s)>ref(mov(rsi(opt3),3,s),-1)
5.3.3.Учет запаздывания разворота RSI
При реальной работе возможна ситуация, когда цена закрытия
уже пересекла нижнюю границу диапазона Боллинджера, a RSI
еще не успел развернуться вверх. В этом случае мы можем
пропустить возможность для открытия «длинной» позиции.
Возможна аналогичная ситуация и для «короткой» позиции. Поэтому
в базовом варианте торговой системы в правиле для открытия «длинной» позиции условие «цена закрытия меньше нижней границыдиапазона Боллинджера» заменим условием «минимальная ценазакрытия за несколько предыдущих свечек меньше нижнейграницы». Аналогично в правиле для открытия «короткой» позицииусловие «цена закрытия больше верхней границы диапазонаБоллинджера» заменим условием «максимальная цена закрытияза несколько предыдущих свечек больше верхней границы".Условия закрытия позиции в этом варианте менять не будем.
В MetaStock эти правила открытия и закрытия позицийзаписываются так.
142
Enter Long: (v(C,opt4)< BBandBot(C, opt1, S, opt2)) andrsi(opt3)>ref(rsi(opt3),-)
Cose Long: C>BBandTop(C, opt1, S, opt2) and
rsi(opt3)Enter Short: hhv(C,opt4)> BBandTop(C, opt1, S, opt2) andrsi(opt3)Cose Short: (C
Границы и шаг изменения для переменной opt4 могут быть,например, такими: минимальное значение - 1, максимальноезначение – 6, шаг изменения – 1. При желании соответствующимобразом можно изменить и условия закрытия позиции.
5.3.4. Использование RSI для закрытия позиции
RSI можно использовать и для того, чтобы закрыватьпозицию, если цена развернулась не дойдя до противоположнойграницы диапазона Боллинджера. Например, для закрытия«короткой» позиции можно использовать следующее добавочноеусловие: RSI пересек снизу вверх уровень 50, то есть он опустилсяниже 50, а затем развернулся и пошел вверх. Аналогичное условиеможет быть записано и для закрытия длинной позиции.
В MetaStock эти правила открытия и закрытия позицийзаписываются так.
Enter Long: (C
Cose Long: (C>BBandTop(C, opt1, S, opt2) and
rsi(opt3)Enter Short: C>BBandTop(C, opt1, S, opt2) and
rsi(opt3)143
Cose Short: (C< BBandBot(C, opt1, S, opt2)) andrsi(opt3)>ref(rsi(opt3),-1) or Cross(rsi(opt3),50)
Вместо одного уровня 50 можно взять два разных уровнядля «длинной» и «короткой» позиций, вместо RSI-сглаженный RSIи так далее.
На этом мы заканчиваем главу о торговых системах,основанных на конвертах. Еще раз обращаю Ваше внимание, чтовместо диапазонов Боллинджера можно использовать любой изконвертов, а вместо RSI - любой из осцилляторов (стохастику,%W и т.д.). В заключение этой главы необходимо отметить, чтовсе перечисленные выше торговые системы надо рассматриватьтолько как примеры для создания собственных торговых систем.
144
Глава 6. Простые торговые системы на основеосцилляторов
При работе внутри дня наиболее часто используютсячасовые данные. Однако до настоящего времени классическая
литература и отечественные исследования в области техническогоанализа используют в основном дневные и большие (недельные,месячные) интервалы времени. При описании техническихиндикаторов их параметры приводятся для дневных свечей илидля более длинных периодов. Кроме того, подавляющеебольшинство исследований осцилляторов проводилось на рынкеакций, а не на валютном рынке.
В данной главе мы попытались выяснить возможностьопределения оптимальных значений параметров осцилляторов длячасовых свечек на примере простейших торговых систем иопределить устойчивость этих значений. Для проверкииспользовались два широко распространенных осциллятора: RSI иStochastic, и на их основе строились простейшие торговые системы.Построение и тестирование торговых систем проводилось сиспользованием программы MetaStock.
6.1. Система на основе RSI
Индекс относительной силы (Reative Strength Index) -популярный осциллятор, составленный Уэллссом Уайдлером в 1978году.
Автор рекомендовал для вычисления RSI использовать 14периодов. Впоследствии широкое распространение получили 9-дневный и 25-дневный. Чем меньшее количество периодов (внашем случае часов) берется для расчета, тем болеечувствителен индикатор. Значение индикатора изменяется впределах от 0 до 100, рекомендованные для использованиясигнальные линии проходят на уровне 30 и 70.
145
Рис. 6.1. Моменты открытия длинной и короткой позиции на часовых
свечках швейцарского франка (указаны стрелками)
На основе данного индикатора была построена простаяоборотная торговая система:
* открываем длинную позицию, когда RSI пересекает снизу вверх
нижнюю сигнальную линию;
* закрываем длинную позицию при пересечении RSI сверху вниз
верхней сигнальной линии;
* открываем короткую позицию, когда RSI пересекает сверху
вниз верхнюю сигнальную линию;
* закрываем короткую позицию при пересечении RSI снизу вверх
нижней сигнальной линии.
Для примера на рис. 6.1 показаны моменты открытия длин-ной и короткой позиции по этим правилам,
На языке формул, используемых в программе MetaStock,эта торговая система выглядит следующим образом:Enter ong: Cross(RSI(4), 30)Cose ong: Cross(70, RSI(14))Enter short: Cross(70, RSI(14))Cose short: Cross(RSI(I4), 30).
При тестировании использовались следующие параметры;* Подсчет прибыли осуществлялся в пунктах,* Комиссионные на открытие позиции составляют 10 пунктов(в эти 10 пунктов включаем и спрэд)
Для исследования использовались данные с 1 января 1999года по 24 апреля 1999 года, по 2700 часовых свечей на каждомрынке. После тестирования четырех валют (йена, евро, английскийфунт и швейцарский франк) были получены следующие результаты:
147
Таблица 6.1
где:
Profit - прибыль системы, выраженная в пунктах
Tota - общее количество сделок (сделкой считается параоткрытие позиции, закрытие позиции)
Win -количество выигрышных сделок
Av w/ - отношение среднего выигрыша к среднемупроигрышу. Чем больше данное отношение, тем лучше. Для«нормальной» системы это отношение всегда больше 1.
Как видно из таблицы 6.1 все рынки за исключением рынкафунта являются убыточными для данной системы.Положительный доход от работы системы на фунте не говорит овозможности применять данную систему на определенных рынках,так как он слишком мал для реальной торговли.
Таким образом, можно сделать вывод о том, чторекомендованные значения параметров не могут дать хорошихрезультатов, если их использовать в простой торговой системе.
Чтобы усилить влияние оптимизации параметров наследующем этапе работы было выполнено разбиение всегоимеющегося ценового ряда данных на 5 3-х недельных интерваловс последующей оптимизацией параметров системы на каждом интервале.
Параметры системы менялись в следующих пределах:Opt1 от 6 до 30 с шагом 4Opt2 от 24 до 48 с шагом 4Opt3 от 60 до 92 с шагом 4
Были получены следующие результаты:
148
profittotawinAv w/Opt1Opt2Opt316611095,9463664270022-182460349622-262460476833-264472535711-302868
Таблица 6.3. Результаты тестирования RSI на часовой евро
profittotawinAv w/Opt1Opt2Opt3126833-2236682221870,241028643423645,08142460470012102,2562472543513111,1063276
Таблица 6.4. Результаты тестирования RSI на часовой йене
profittotawinAv w/Opt1Opt2Opt3192020152,0862864277766-264864393800-63292449116113,03103260558155-102464Таблица 6.5. Результаты тестирования RSI на часовом франке
profittotawinAv w/Opt1Opt2Opt311139335,941824762635121037,3963680374333-264468465422181,1064072560477-144064
Как видно из таблиц 6.2-6.5 при оптимизации параметровсистема становится прибыльной причем она дает вполне устой-чивую, стабильную величину дохода. Прочерк в таблице означа-ет, что убыточных сделок не было. Система, протестированная
нами, показала хорошее отношение количества выигрышных сде149
Рис. 6.3.1. Стохастический осциллятор на часовых свечках
английского фунта. Сплошная линия -%К, пунктирная - %D.
лок к проигрышным сделкам (85%).
Анализируя полученные параметры индикаторов видно, чтоих значения меняются в широких пределах и, что более важно, непрослеживается определенных тенденций в их изменении. Оче-видно, их изменчивость связана с изменениями в поведении ценывалюты. Большая изменчивость параметров индикатора показы-вает, что рекомендованные значения 14, 30 и 70 не являются опти-мальными для рассмотренной торговой системы, хотя и были ре-комендованы для дневных свечей.
6.2. Системы ни основе SHASTIC
Стохастический осциллятор представлен двумя линиями.
Главная - %К и дополнительная - %D, скользящее среднее от %К
(см. рис. 6.3.1).
Стохастический осциллятор имеет четыре параметра:
N1 - количество временных периодов используемых при
расчете стохастики.
N2 - период сглаживания (1 - быстрая стохастика, 3 медленная).
N3 - период сглаживания используемый при расчете %D,N4- метод используемый для расчета %D
(экспоненциальное, среднее взвешенное сглаживание).Формула для %К имеет следующий вид.
%K=100*[(С-L)/(H-L)], гдеC - цена закрытия,
L - самый низкий уровень цены за период N1,
Н - самый высокий уровень цены за период N1.
%D расчитывается как скользящее среднее от %К за N3периодов сглаженным методом N4.
Осциллятор изменяется от 0% до 100%, сигнальные уровнипроходят на уровнях 20% и 80%.
Правила построения торговой системы полностью совпада151
ют с правилами построения системы на основе RSI.
В терминах языка формул MetaStock это выглядитследующим образом:
Enter ong: Ref(Stoch(5,3),-1) <= 20 AND Stoch(5,3) > 20
Cose ong: Stoch(5,3) < 20
Enter short: Ref(Stoch(5,3), -1) >= 80 AND Stoch(5,3) < 80
Cose short: Stoch(5,3) > 80
При тестировании использовались следующие параметры:* Подсчет прибыли осуществлялся в пунктах.* Комиссионные за открытие позиции составляют 10 пунктов.
После тестирования системы были получены следующиерезультаты (см. таблицу 6.5):
Таблица 6.5.
profittotawinAvg w/Jpy-1779240951,14Eur-888172661,17Gbp-3778265900,78Chf-21042911111,3
Как видно из таблицы 6.5 убытки от работы данной системыоказались более значительными, чем убытки от работы системына основе RSI. Показательным является то, что большие потериприбыли система на основе стохастики наблюдаются на фоне до-вольно большого отношения среднего выигрыша к среднему про-игрышу (больше 1). Это вызвано тем, что большинство сделок вэтой системе приносит относительно небольшие убытки.
Для тестирования на трехнедельных наборах данныхпроводились следующие изменения в параметрах системы:
ОРТ1 (20% сигнальная линия) от 8 до 44 с шагом 4ОРТ2 (80% сигнальная линия) от 60 до 96 с шагом 4
Были получены следующие результаты (см. таблицы 6.6-6.9):
152
Таблица 6.6.Результаты тестирования SH на часовом фунте
profittotawinAv w/Opt1Opt21243733,3189621551480,7912883160631,7988841891571,5688059725111,471272
Таблица 6.7.Результаты тестирования SH на часовой марке
profittotawinAv w/Opt1Opt214725410,7789223911263,251288326922101,96872447028152,052080530515101,51688
Таблица 6.8. Результаты тестирования SH на часовой йене
profittotawinAv w/Opt1Opt2149724131,661684220841142,573664344917111,382892442816111,3112845484853,101692Таблица 6.9.Результаты тестирования SH на часовом франке
profittotawinAv w/Opt1Opt2158530171,79287227445132,16287231171992,2340964381634,048925421561,112096При сравнении результатов тестирования с результатамитестирования RSI можно заметить, что система на основе SHдает меньшую прибыль. Также заметно, что количество сделок,вырабатываемых данной системой больше, чем у предыдущей,Из таблиц 6.6-6.9 видно, что изменчивость оптимальных значений
велика и нет возможности рекомендовать наилучшие.
6.3. Модификация систем
6.3.1. RSI и тренд
Попробуем улучшить системы, учитывая состояние рынка.Существует два основных состоянии рынка: тренд и канал. Длятого чтобы сделать окончательные выводы об устойчивостипараметров, необходимо провести тестирование на каждом видерынка. Для этого в системы вводились дополнительныеограничительные условия. Для выявления типа рынка используемпростые скользящие средние.
Будем считать, что рынок находится в тренде, есливыполняется одно из условий:
* SMA(x)>SMA(y)>SMA(z) либо* SMA(x)
Считаем, что рынок находится в канале, если не выполняетсяни одно из этих условий.
В нашем примере скользящее среднее вычисляется по ценезакрытия и имеет следующие периоды усреднения: короткое -24часа (сутки), среднее - 60 часов (неделя) и длинное 120 часов (2недели).
Введя дополнительные условия на открытие позиций, мызаставили работать систему либо только на тренде, либо только вканале.
Применим все вышеизложенное к системе, основанной наRSI. В терминах языка формул MetaStock переписанные условиявыглядят следующим образом:
* Тренд
Enter ong: Cross(RSI(opt1), opt2 ) AND Mov(C, 24, S)>
Mov(C, 60, S) and Mov(C, 60, S)> Mov(C, 120, S)
154
S)
S)
Mov(C, 60, S) and Mov(C, 60, S)> Mov(C, 120, S)
Enter ong: Cross(RSI(opt1), opt2 ) AND (Mov(C, 24, S)>Mov(C, 60, S) and Mov(C, 60, S) > Mov(C, 120, S))=FaseCose Long: Cross(opt3, RSI(opt1)) AND (Mov(C, 24,S)
Тесты приводились на 4 валютах. Полученные результатыпредставлены в таблицах 6.10 - 6.11.
Таблица 6.11 .Результаты тестирования «канального» RSI
155
Сравнивая полученные результаты с результатами, получен-ными для системы без учета тренда, можно сказать, что:
* Модифицированные системы дают прибыль на всех рынках вотличие от простой системы, которая показывает значитель-ные убытки. Данный факт говорит о том, что система, рабо-тающая на трендовых участках рынка и оптимизированная наних, показывает себя с лучшей стороны, чем система опти-мизированная на всем интервале, и система, работающая наканальных рынках и оптимизированная на них, показывает себяс лучшей стороны, чем система оптимизированная на всеминтервале.
* Возросло отношение среднего выигрыша к среднему проиг-рышу (в 3 и более раз).
* По большему отношению среднего проигрыша к среднемувыигрышу для канальной системы можно сделать вывод, чтоRSI лучше работает на канальных рынках.
6.3.2.Стохастика и тренд
Применяя вышеизложенные принципы к стохастическомуосциллятору, получим следующие формулы:
* Тренд
Enter ong: Ref(Stoch(5,3),-1)<=Opt1 AND Stoch(5,3) > opt1AND Mov(C, 24, S)> Mov(C, 60, S) and Mov(C,60,S)>Mov(C, 120,S)
Cose Long: Ref(Stoch(5,3),-1)>=opt2 AND Stoch(5,3)
156
opt1 AND Mov(C, 24, S)> Mov(C, 60, S) andMov(C,60,S)>Mov(C, 120, S)
Enter Long: Ref(Stoch(5,3),-1)<= opt1 AND Stoch(5,3) > opt1AND (Mov(C, 24, S)> Mov(C, 60, S) and Mov(C,60,S)>Mov(C,120, S)) = Fase
Cose Long: Ref(Stoch(5,3), -1) >= opt2 AND Stoch(5,3)
Тестирование проводилось на франке, евро, фунте и йене.Полученные результаты представлены в таблицах: 6.12 и 6.13.
Таблица 6.12. Результаты тестирования «трендового» SH
profittotaWinAv w/MIDDOpt1Opt2Chf-5931541,321111892Eur76617123,54304892Gbp294532,08442896Jpy193312,95648896Таблица 6.13. Результаты тестирования «канального» SH
profittotaWinAv w/MIDDOpt1Opt2Chf3861982,135201292Eur19520101,412291284Gbp11130141,343602072Jpy112231191,914082884Из таблиц видно, что:* Модифицированные системы показали прибыль почти на всех
рынках в отличие от простой стохастики, показавшей убыт-ки. Данный факт говорит о том, что при разработке торговойсистемы желательно включать в нее фильтры для определе-ния состояния рынка (тренда или канала) и для каждого со-стояния вырабатывать свою стратегию игры.
* Увеличилось отношение среднего выигрыша к среднему про-игрышу, хотя не так значительно как для RSI.
Отметим, что при закрытии позиции тренд можно было бы ине учитывать. Тогда количество сделок было бы больше ирезультаты тестирования изменились бы. Этот вариант торговойсистемы рекомендуем протестировать в качестве упражнения.
На основании проделанной работы можно сделатьследующие выводы:
* параметры индикаторов, рекомендуемые классическойлитературой по техническому анализу, не являютсяоптимальными для часовых свечей на валютных рынках.Скорее всего, это вызвано большой волатильностьювнутридневных рынков по сравнению с дневными илинедельными;
* несмотря на большую волатильность внутридневного рынкаFOREX, учет тренда является необходимой частью торговыхсистем, предназначенных для работы с часовыми свечками;
* даже учет тренда не позволяет однозначно определитьпараметры осцилляторов, которые были бы оптимальными втечение длительного времени для разных валют. Поэтомулюбая торговая система, основанная на осцилляторах, будетиметь некоторый процент убыточных сделок (как, впрочем, иоснованная на любых индикаторах).
158
Глава 7. Дивергенция в качестве основы торговой системы.
Существует два основных способа использования осцилля-торов:
* использование состояний перекупленности и перепроданности;
* использование дивергенции осциллятора и цены валюты.
Пример торговой системы с использованием состояний пе-рекупленности и перепроданности нами уже был рассмотрен. Те-перь рассмотрим возможности использования дивергенций для со-здания торговой системы. К сожалению, пакет MetaStock плохоприспособлен к изучению и тестированию торговых систем, осно-ванных на дивергенции, и поэтому при создании таких систем боль-шую часть работы приходится проделывать вручную. Приведен-ные ниже результаты исследований могут быть использованы Вамипри создании собственных торговых систем.
Нами были рассмотрены простые торговые системы на основесигналов дивергенции с такими осцилляторами как: RSI, SH иWiiams %R. На основе полученных данных сделаны выводы овозможности использования дивергенции при торговле валютой, овероятности предсказания смены рыночных трендов и величинысамих трендов, о возможной прибыльности от подобныхфинансовых операций.
Мы считаем, что на «бычьем» рынке дивергенцию мынаблюдаем в том случае, когда цена образует новый локальныймаксимум, который выше предыдущего, а осциллятор образуетновый локальный максимум, который ниже предыдущего. На«медвежьем» рынке дивергенцию мы наблюдаем в том случае,когда цена образует новый локальный минимум, который нижепредыдущего, а осциллятор образует новый локальный минимум,который выше предыдущего. Это достаточно понятное
159
определение, но на практике часто возникают сложности. Частона фоне большой значимой дивергенции наблюдаются меньшиепо размеру и на первый взгляд незначимые формации, которые вдальнейшем могут оказать влияние на рыночные тенденции.Усугубляет ситуацию то, что довольно редки ситуации, в которыхпики цены и осциллятора совпадают по времени. Чаще всего онинемного разнесены по времени. И это затрудняет использованиестандартного программного обеспечения для исследованияторговых систем, основанных на дивергенции.
Для тестирования были использованы часовые данные поосновным валютам (евро, фунт, франк, йена) с октября 1998 годапо октябрь 1999 года. Так как евро появилось только с 1 января1999 года, то для котировок в 1998 году использовались котировкиэкю.
Исследование дивергенций проводилось для трехосцилляторов: RSI, Stochastic и Wiiams %R,
7.1. Дивергенция RSI
При исследовании дивергенции параметр для RSI (числосвечек для вычисления индикатора) был выбран равным 12. Этозначение близко к стандартному значению параметра. Кроме того,12 часов - это половина суток. Так как сигналы дивергенцииявляются сигналами разворота тренда, то имеет смысл брать врасчет только те случаи дивергенции, при которых осциллятор, внашем случае RSI, находится в области перекупленности илиперепроданности. С учетом этого условия дивергенциярассматривалась только при RSI, лежащем в области от 0 до 40 иот 60 до 100. Каждая дивергенция характеризуется рядомпараметров:
* время, характеризующее удаленность пиков друг от друга;
* разница в цене валюты;
* разница в значениях RSI;
160
* параметр «тренд», характеризующий значимость даннойдивергенции. Он рассчитывается как разница в цене валюты намомент второго экстремума и цене а конце движения,предсказанного дивергенцией.
Если расчет времени, разницы значений цены и RSI невызывал затруднений, то определение величины тренда являетсядостаточно трудным делом. Довольно редкими были ситуации,когда новое движение представлялось гладкой, ровной линией.Практически всегда на ней присутствовали откаты, и было весьмазатруднительно определить, что считать концом движения. Дляупрощения данной ситуации было решено определять тренд подвижению RSI. Довольно часто после формирования сигналовдивергенции RSI уходит в область перекупленности из областиперепроданности и наоборот. Время, которое он движется из однойобласти в другую, мы считаем временем существования новогопредсказанного движения. В тех ситуациях, когда, начав такоедвижение, он возвращается назад, мы будем считать величинутренда до момента возврата RSI назад. Так же необходимозаметить, что все вычисления на графике цен проводились с ценойзакрытия,
В силу всего вышесказанного правила торговли будут иметьследующий вид:
Открытие длинной позиции - вторая впадина RSIнаходится выше первой и обе они находятся ниже 40 в то времякак вторая впадина ценового графика не превышает первой.
Открытие короткий позиции - второй пик RSI находитсяниже первого и оба они лежат выше 60 в то время как второй пикценового движения не ниже первого.
Закрытие позиций - RSI пересек линию 40 для короткойпозиции (60 для длинной), либо, не дойдя до нее, резко развернулсяназад, либо цена совершила откат на 30 и более пунктов.
Для лучшего понимания материала, ниже приведен при161
Рисунок 7.1. Дивергенция цены и индекса относительной силы
мер дивергенции на фунте (рис.7.1.). Хорошо заметны расхожде-ния во впадинах цены и индикатора. Так же видно, что после раз-ворота вверх и непродолжительного движения тренд резко меняетнаправление и делает скачок вниз. Данная дивергенция скореебудет убыточной, вследствие того, что RSI не смог пересечь уро-вень 60 пунктов (чтобы мы успешно зафиксировали прибыль), хотяесть возможность получить небольшую прибыль, зафиксировавее после резкого разворота RSI. Ни рисунке так же хорошо видносовпадение пиков на графике цены и осциллятора.
Проведенное тестирование для RSI дало следующееколичество сделок: франк – 33, евро – 29, йена – 28, фунт – 38. Какмы можем видеть, количество сделок довольно мало, и составляетпримерно 3 сигнала в месяц. На основе полученных результатовпостроены графики, часть из которых показана на рис, 7.2 – 7.4.Аналогичные графики были построены и для других валют. Таккак конечной целью любой системы является получение прибыли,то все графики показывают зависимость прибыли от другихвеличии (то есть по оси Y отложена прибыль в пунктах. Величинатренда выражена в пунктах, time - это время (в часах) междупиками дивергенции, price - разница котировок на пикахдивергенции, RSI - разница в значениях RSI на пиках дивергенции.Возможное несовпадение количества точек на разных графикаходной валюты говорит о совпадении значений параметров дляразных сделок, то есть точки наложились друг на друга.
По графикам можно определить наиболее типичныепараметры дивергенции. Так по всем четырем валютам можносказать, что типичное расстояние между пиками не превышает15 часов, даже на фунте количество пиков с расстоянием большим15 часов составляет менее 15% от общего числа пиков. Весьмахарактерным является то, что лишь малая часть сигналовдивергенции являются ложными.
Необходимо также заметить, что в реальных условиях
163
Рис. 7.2. Зависимость прибыли от расстояния между пиками на франке.
Рис. 7.3. Зависимость прибыли от разницы цены пиков на франке.
Рис. 7.4. Зависимость прибыли от разницы RSI пиков на франке.
практическая ценность дивергенции уменьшается из-заопределенных условий. Любая дивергенция является комбинациейдвух пиков/впадин, благодаря чему цена актива после формированиявторого экстремума просто обязана совершить откат назад. Другимфактором, влияющим на производительность дивергенции, являетсяневозможность открыть позицию сразу после формированиявторого экстремума. При тестировании на исторических данныхмы видим этот экстремум и открываем позицию на втором пике/впадине. В реальной игре для того чтобы увидеть дивергенциюнеобходимо дождаться отката цены после формирования второгопика, что уменьшает нашу прибыль. С учетом всего сказанногодивергенции с прибылью меньшей, скажем, 30 пунктов необходимоотбросить как ложные, не дающие прибыль или даже убыточныесигналы. После такого отбора количество «плохих» дивергенцийувеличивается: JPY-4(0), CHF-12(12), EUR-14(7), GBP-11(5)в % от общего числа дивергенций. В скобках указан процентубыточных сделок.
Суммарная прибыль от работы системы на всех рынках -12111 пунктов или в среднем по 3000 пунктов прибыли на каждыйрынок. Среднее количество сделок на рынок равняется 32. Средняяприбыль на сделку для каждого рынка: СВР- 106 пунктов, JPY-95 пунктов, EUR - 86 пунктов, CHF - 90 пунктов. Для того, чтобыполучить реальные цифры, необходимо вычесть из каждогозначения комиссионные, снимаемые при открытии позиции, иучесть спрэд. Это примерно 10 пунктов. Выставив стоп-лосс науровне 40-50 пунктов, можно улучшить приведенные показатели.Так на франке имеется четыре ложных сигнала с суммарнымубытком более 360 пунктов, который можно уменьшить до 160пунктов.
167
7.2. Дивергенция стохастики
При исследовании дивергенции цены со стохастическимосциллятором использовались стандартные параметры 5 и 3 ссигнальными линиями на уровне 30% и 70%. Рассматриваласьглавная (быстрая) %К линия.
Были использованы те же правила, как и для индекса силысо смещением уровней сигнальных линий до 30% и 70%.Основная проблема при тестировании связана с тем, чтоэкстремумы стохастики не всегда совпадают с экстремумамицены по времени. Обычно второй экстремум стохастикизапаздывал на 1-3 часа от экстремума цены. Для того чтобы неувеличивать количество параметров описывающих дивергенции,было решено в качестве параметра разноса экстремумов вовремени использовать разнос цены. В таких случаях величинаценового движения рассчитывалась с момента формированиявторого пика на графике стохастического осциллятора.
Нами были построены графики зависимости величинытренда от времени, цены и продолжительности тренда.
Относительно стохастики можно выдвинуть аналогичное RSIпредположение, что типичная длина дивергенции не превышает15 часов или даже: с высокой степенью точности (90%) расстояниемежду пиками не превышает половины суток (12 часов).Рассматривая графики зависимости дохода от продолжительноститренда (рис. 7.5 - 7.7) можно сказать, что типичнаяпродолжительность тренда не превышает 36 часов, а те редкиеотклонения в длительности обусловлены открытием позиции впятницу и переносом ее до понедельника следующей недели.
Посчитаем количество «плохих» сделок с использованием(без использования) 30 пипсового барьера: EUR - 25(15), СНF16(12), JPY - 14(10), GBP - 9(3) в % от общего числа сделок.Прибыль от работы на всех четырех рынках составила 13636пунктов. Количество сигналов дивергенции, усредненное по всем
168
Рис. 7.5. Зависимость прибыли от расстояния между пиками на франке.
Рис 7.6. Зависимость прибыли от разницы цены пиков на франке.
Рис. 7.7. Зависимость прибыли от разницы стохастики пиков на франке.
Рис. 7.8. Зависимость прибыли от расстояния между пиками на франке.
Рис. 7.9. Зависимость прибыли от разницы цен на пиках для франка
Рис. 7.1.0. Зависимость прибыли от разницы %R на пиках для франка.
рынкам - 40. Средний доход от сделки EUR - 53 пункта, CHF - 94пункта, JPY - 101 пункт, GBP - 101 пункт. Как и в случае с RSIустановка стоп-лосса на уровне 50 пунктов уменьшает убыток(например, на евро с 690 пунктов до 350).
7.3. Дивергенция %R
При исследовании данного осциллятора был выбранстандартный временной параметр 12 и сигнальные линии,ограничивающие значимые дивергенции уровнями -80 и -20. Частьполученных результатов представлены на графиках 7.8 -7.10.
Как и в случаях с предыдущими осцилляторами оценки «пло-хих» сделок по уровню 30 пунктов дают следующие результаты;EUR – 30(19), СНF – 16(9), JPY – 22(19), GBP – 22(15) в % от обще-го числа сделок. Число дивергенций за рассмотренный период наодной валюте в среднем равно 40 или приблизительно 3 в месяц.Суммируя общую прибыль от работы системы на всех четырехрынках, мы получим 9706 пунктов прибыли.
Из графиков следует, что характерное расстояние междупиками дивергенции не превышает 12 часов.
7.4. Выводы
Несмотря на то, что в исследовании использовались «гру-бые» необработанные системы на основе дивергенции цены и ин-дикатора были получены весьма впечатляющие выводы. Нижеприведена итоговая таблица, с суммарными данными по всем ва-лютам и всем индикаторам.
Как видно из таблицы результаты исследования более чемобнадеживающие. Можно сказать, что при всех допущениях и ог-раничениях при работе на реальном рынке, возможно падение по-казателей в районе 10%, но даже после этого результаты исследо-вания весьма заманчивы.
Во всех трех вариантах количество сигналов с положитель175
ной прибылью значительно превышает количество убыточных сиг-налов, что говорит о практический значимости методов торговлиоснованных на дивергенции и возможности создания на их основеработоспособных прибыльных торговых систем.
Проведенные оценки дохода от работы торговой системывместе с оговоренными условиями по размеру начального капи-тала дают возможность получать стабильную прибыль.
Использование дополнительных условий по ограничению воз-можных убытков позволяет использовать дивергенции наряду сдругими методами торговли.
К недостаткам данного метода можно отнести частоту по-явления дивергенции (до 4 раз в месяц). Данный факт ограничива-ет ее использование в краткосрочных финансовых операциях вкачестве основного источника сигналов открытия позиции.
Сравнивая между собой осцилляторы можно сказать, чтопри сравнительно одинаковом количестве сделок наибольшую до-ходность показал стохастический осциллятор; наименьшую осцил-лятор Уильямса. При тестировании рынков был заметен рост «под-вижности» индикаторов от наименее «подвижного» RSI к наибо-лее «подвижному» Wiiams %R. Так же эта «изменчивость» мо-жет быть замечена при рассмотрении графикой дивергенции, гдеможно проследить реакцию всех трех осцилляторов на сравнитель-но одинаковые по величине колебания цены.
Также получено два практически значимых вывода о том,что расстояние между экстремумами формирующими дивергенциюв большинстве (90%) случаев не превышает 12 часов - любаядивергенция формируется за половину суток. Дивергенция, котораяформируется за более длительный срок, скорее всего, должнарассматриваться не на часовых, а на дневных свечках.
177
Список литературы
1. Ахелис С.Б. Технический анализ от А до Я.
2. Гальперин В.М., Гребенников П.И., Леусский А.
Тарасевич Л.С. Макроэкономика: Учебник. СПб, Изд-во
СПбГУЭФ, 1997
3. Де Марк Т.Технический анализ - новая наука. – М.,Диаграмма, 1997
4. Дерри Т. Б.Учебник практического валютного дилинга. - М.:
ФИНТЕХ, 19965. Колби Р.В., Мейерс Т.А.Энциклопедия технических
индикаторов рынка. Владивосток, 19966. ЛеБо Чарльз, Дэвид В Лукас. Компьютерный анализ
фьючерсных рынков.- М.: издательский дом Альпина, 1997
7. Мэрфи Дж. Технический анализ фьючерсных рынков: теория и практика. - М.: Сокол, 1996
8. Нисон С. Японские свечи: графический анализ финансовых рынков. Современное руководство по древней инвестиционной методике Востока, - М., Диаграмма, 1998
9. Пискулов Д. Ю. Теория и практика валютного дилинга. -
М.;Инфра-М, 1996
10. Платонова И. Н. (ред.) Валютный рынок и валютное регулирование, - Москва: БЕК, 1996
11. Рэдхэд К., Хьюс С. Управление финансовыми рисками. М.: Инфра-М, 1996
12. Сорос Дж. Алхимия финансов. – M.: Инфра-М, 1996
13. Уидроу Б., Стириз С. Адаптивная обработка сигналов. - М„ Радио и связь, 1988
14. Федер Е. Фракталы. – М., Мир, 1991
15. Хэррис Дж. М. Международные финансы.- М.: «Фи:шнъ» 1996.
16. Шмелев В.В. Коллективные валюты - от счетных единиц к международным деньгам.– М., Финансы и статистика, 1990
17. Элдер А. Основы биржевой игры. М.: Светочъ, 1996
18. Элдер А. Практическое пособие дилеру биржевых и
178
внебиржевых рынков, (Психология, технический анализ рынка, управление деньгами, менеджмент риска, стратегия и тактика биржевой игры). - М: «АЗИМУТ ПЛЮС», 1995
19. Эрлих А. Технический анализ товарных и фондовых рынков. M., 1996
20. Babcock B.Jr. Trading systems. - Business one Irvine, HOMEWOOD, III.,1989
21. Bradney G. The Japanese Art of Candesticks - серия статей в журнале East West Exchange, 1995 - 96 гг
22. Carro D. Aby. Jr. Points & Figure Charts. - Traders Press, Greenvie, 1996
23. Fischer R. Fibonacci Appications and Strategies for Traders, - Wiey & Sons, New York e.a., 1993
24. Henderson H., Kay A.F. Introducing competition to the goba currency markets - Futures, V, 28, No 4, 1996, 305-324
25. Hoden К., Pee D,A., Thompson J.L. Economic forecasting: an Introduction, -Cambridge Univ. Press, 1990
26. Likhovidov V. Variationa approach to unsupervised earning agorithms of neura networks. - Neura Networks, vo. 10, no 2, p.p. 273-289, 1997
27. Luca С. Trading in the Goba Currency Markets. - PrenticeHa, Eng. Ciffs, New Jersey, 1994
28. Makridakis S., Wheewright S.C. Forecasting methods formanagement. - J. Wiey & Sons, New York e.a., 1989
29. Mis T.C. Non-inear forecasting of financia time series: anoverview and some new modes - Journa of Forecasting, v.15,1996,127-135
30. Morris G.L. Candestick charting expained. Timeess techniquesfor trading stocks and futures. - IRWIN Professiona Pubishing,Chicago e.a., 1995
31. Pummer T. The psychoogy of technica anaysis. - IRWIN
Professiona Pubishing. Chicago e.a., 199532. Pring M.J. Technica anaysis expained. The successfu
investor's guide to spotting investment trends and turning points. Mc Graw-Hi,New York e.a., 1981
179
33. Pring M.J. Martin Pring on market momentum. - Goucester,
1993
34. Rothstein N. H. (ed.) The Handbook of Financia Futures. A
Guide for Investors and Professiona Financia Managers. - McGraw-Hi Book Company, New York e.a., 1984
35. Tushar S. Chande. Beyond Technica Anaysis: How Deveop and Impement a Winning Trading System. -New York: Jon Wiey
& Sons, Inc
180