Разделы



Характеристики входов на основе осцилляторов

Основанные на осцилляторах входы обладают преимуществами опере­жения или совпадения по времени с поведением цены, следовательно, они пригодны для входов, направленных против тренда, и теоретически мо­гут обеспечивать высокий процент выгодных сделок. Осцилляторы обыч­но работают наилучшим образом на циклических или не подверженных трендам рынках. На этих рынках осцилляторы указывают на максимум или минимум еще до начала движения цен. Таким образом, проскальзы­вание минимально или даже отрицательно, и переоценка позиции стано­вится положительной уже при очень малом движении цены. В таких слу­чаях легко получить солидную прибыль даже при неоптимальной страте­гии выхода. Считается, что на рынках тренды присутствуют всего около 30% времени; по нашим данным, на многих рынках — еще реже. При ис­пользовании соответствующих фильтров для избежания осцилляторных входов во время сильного тренда, видимо, можно создать замечательную модель входа. Такое фильтрование — прямая противоположность тому, которое используют при тестировании систем, основанных на пробоях, когда необходимым условием было наличие трендов, а не их отсутствие. Основная слабость простых осцилляторных входов в том, что они ма­лоэффективны при длительных трендах и часто выдают множество лож­ных сигналов разворота. Некоторые осцилляторы легко застревают на крайних значениях, например стохастический нередко имеет значение 100 очень долго, если на рынке происходит сильное направленное движе­ние. Кроме того, большинство осцилляторных моделей не регистрирует тренды, в отличие от систем на скользящих средних и пробоях, которые не пропустят практически ни одного значимого тренда. Многие трейде­ры говорят, что тренд — твой друг, что большая часть доходов возника­ет после большой волны и что прибыль от такого крупного успеха по­крывает частые и мелкие убытки, свойственные для следующих за трен­дом систем. Поскольку осцилляторные входы направлены против тренда, настроены на мелкие движения рынка, особое значение имеет хорошая стратегия выходов для снижения урона, который возникнет при движе­нии тренда против сделок.

Биржа Форекс разрешает любому желающему зарабатывать на колебаниях курсов валют любых мировых валют законно, в любое время дня и ночи, не выходя из дома и даже не имея специального образования!

МЕТОДИКА    ТЕСТИРОВАНИЯ

Все приведенные ниже тесты были осуществлены с помощью осцилля-торных моделей на портфеле разнообразных ценных бумаг. Можно ли получать прибыльные сделки с осцилляторными моделями? Как они ра­ботают во времени — ухудшается или улучшается их функционирова­ние за последние годы? Целью нашего тестирования был ответ на эти вопросы.

Во всех тестах использовался стандартный выход, описанный в пре­дыдущих главах. Правила входов будут рассмотрены параллельно с ко­дом модели и отдельными тестами. Сделки закрывались при поступлении приказа на вход в обратном направлении или при исполнении стандарт­ного выхода. Платформа тестирования тоже была стандартной.

п»ї

За последние годы мы закодировали на языке C ++ ряд осциллято­ров, описанных в Technical Analysis of Stocks and Commodities и в ряде других источников. В этой главе мы сравниваем работу версий C ++ ос­цилляторов MACD , RSI и стохастического с их версиями в TradeStation . В большинстве случаев результаты идеально совпадали, но в одном слу­чае, а именно для Медленного %К, результат разительно отличался. Раз­бор кода показал, что TradeStation рассчитывает Медленный %К как экс­поненциальное скользящее среднее от Быстрого %К. В нашем же коде отдельно рассчитываются простые скользящие средние с периодом 3 дня для числителя и знаменателя формулы Быстрого %К. Согласно уравне­ниям, приведенным Мейбахом (Meibahr , 1992) и другими источниками, правильной является наша версия на C ++. Если читатели захотят повто­рить наши расчеты в TradeStation и обнаружат расхождения, мы насто­ятельно рекомендуем проверить функции индикаторов TradeStation . Кроме того, при попытке закодировать правильную версию Медленно­го %К для TradeStation на EasyLanguage мы неожиданно обнаружили, что TradeStation без предупреждения может выдать неверные результа­ты, если одна пользовательская функция вызывает другую. Когда мы из­менили код так, чтобы рассчитывалась промежуточная переменная (что­бы избежать совместных вызовов), были получены правильные резуль­таты. В этих тестах использовалась версия TradeStation 4.02 от 29 июля 1996 г.

Нижеследующий код включает большинство использованных в тес­тах моделей входов на основе осцилляторов. Реальный расчет осциллято­ров достигается путем вызова внешних функций.



 



 


]

Логика кода весьма напоминает программу, использованную для тес­тирования скользящих средних. Сначала копируется ряд параметров в местные переменные для простоты ссылок и считывания дальнейшим кодом. Затем проверяется наличие непригодных сочетаний параметров, например для MACD (osctype = 4) длина короткого скользящего средне­го должна быть меньше, чем длинного, иначе тест будет пропущен. В сле­дующем крупном блоке osctype выбирает вид рассчитываемого осцилля­тора (1 — быстрый стохастический, 2 — медленный стохастический, 3 — классический RSI , 4 — классический MACD ) . Осциллятор oscline затем рассчитывается в виде ряда данных или вектора, генерируются дополни­тельные кривые, связанные с ним, например сигнальная линия sigline или медленная версия осциллятора. Верхний (upperband ) и нижний (lowerband ) пороги либо рассчитываются, либо задаются. Для стохастического осцил­лятора используются стандартные пороги 80 и 20, для RSI — пороги на уровне 70 и 30. Хотя MACD как таковой не имеет порогов, пороги для него устанавливаются на уровне плюс-минус полтора стандартных отклоне­ния от нуля. Затем начинается процесс перебора данных, день за днем.

п»ї

В цикле перебора данных представляют интерес два главных блока — первый генерирует сигналы покупки и продажи, а также цены для лимит­ного и стоп-приказов, используемых выбранной моделью. Параметр mode /type выбирает модель: 1 — модель перекупленности/перепроданно-сти, 2 — модель сигнальной линии, 3 — модель на расхождении. При этом используется один из вышеперечисленных осцилляторов, выбранный параметром osctype . Последний блок производит вход в рынок согласно выбранному значению параметра ordertype : 1 — для входа по цене откры­тия, 2 — по лимитному приказу, 3 — по стоп-приказу. Затем симулятор использует стандартную модель выхода для закрытия сделок.

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

 

Результаты тестов

Проводилось тестирование трех осцилляторных моделей входа: на осно­ве понятия перекупленности/перепроданности (осцилляторы RSI и сто­хастический), на основе взаимодействия осциллятора с сигнальной лини­ей (стохастический осциллятор и MACD ) и на основе расхождения (ста­тистический осциллятор, RSI и MACD ). Все индивидуальные комбинации были исследованы с входами по цене открытия, по лимитному приказу и по стоп-приказу. Сравнение результатов всех трех видов входов приве­дено ниже в данной главе.

Табл. 7-1 и 7-2 содержат результаты каждого из 21 тестов. Данные рас­пределены по торгуемым финансовым инструментам, по моделям, пока­завшим прибыль и убыток в пределах выборки (табл. 7-1) и вне пределов выборки (табл. 7-2). Первый столбец (SYM ) — это символ рассматривае­мого рынка, первая строка — номер теста. Степень прибыльности и убы­точности рынков для каждой модели указана следующим образом: один минус (—) означает убыток в $2000 — 4000, два минуса (- -) — убыток более $4000; один плюс ( + ) означает прибыль $1000 — 2000, два плю­са ( + + ) — прибыль более $2000; пустая ячейка означает прибыль до $ 1 0 0 0 или убыток до $1999 со сделки.

Читать далее: Тестирование  моделей,  основанных на понятии перекупленности/перепроданности