При разработке торговых систем часто приходится заниматься постоянными подгонками параметров и тестированием системы снова и снова. Чем глубже вы исследуете идею, тем с большим количеством проблем встречаетесь. Особенно часто это бывает, когда идея выглядит сначала весьма хорошей.
В реальной торговле никогда не бывает простых вещей. Вернее бывают, но только на бумаге. Чем больше вы тестируете систему, тем более явно вырисовываются ее ограничения и недостатки. Прогресс иногда бывает весьма медленным, однако тот процесс часто завершается вознаграждением, поскольку при помощи тестирования вы зачастую обнаруживаете новые идеи и концепции, о существовании которых вы раньше даже не подозревали. В статье Торговля по внутридневным колебаниям мы попытались проанализировать простой паттерн, основанный на изменениях цены. Цель исследования заключалась в обнаружении закономерностей в изменении цены. В данном случае мы провели статистический анализ снижений цены на .0010 пунктов в рамках одной свечи по паре Австралийский доллар/Доллар США и последующих реакций рынка, придя к выводу, что за таким снижением часто следует повторяющееся специфическое движение цены. В данной статье мы посмотрим на вторую сторону монеты. Попробуем разобраться, что происходит на рынке, после того как в рамках одной свечи от максимума предыдущей имеет рост на .0010 пунктов. Формируются ли после такого движения узнаваемые ценовые паттерны. Наконец, мы попытаемся проанализировать возможность использования на практике наших наблюдений.
На рисунке 1 мы видим 10-минутный график валютный пары AUD/USD для временного интервала с 17 по 18 января 2006 года. Голубыми точками отмечены 10-минутные свечи, на которых ценах падала на .0010 пунктов ниже минимума предыдущей свечи. Красными точками отмечены свечи, на которых цена вырастала на .0010 пунктов выше максимума предыдущей свечи.
В предыдущей статье мы доказали, что в течение следующих 20 свечей после снижения цены на .0010 пунктов ниже минимума предыдущей имеет место быть не сильная, но заметная восходящая тенденция. Для анализа нам был избран диапазон с 21 ноября по 19 декабря (2.900 10-минтуных свечей). Кроме того, нам удалось доказать, что эта восходящая тенденция не есть характерная часть ценового поведения пары на данном этапе. На рисунке 2 мы видим самые большие восходящие движения для следующих 20 свечей после свечи, на которой зарегистрировано снижение на .0010 пунктов. В среднем ни для одной для последующих 20 свечей вероятность закрытия с повышением не составляла ниже 61 %. При этом самые большие восходящие движения для каждой свечи были больше самых больших нисходящих движений.
Подойдем с противоположной стороны.
А теперь давайте посмотрим, что происходит на рынке после формирования обратного паттерна. Т.е. движения цены в рамках свечи на .0010 пунктов вверх над максимумом предыдущей свечи. Для анализа нами использовались 10-минутные графики для периода с 16 августа 2005 по 19 декабря 2005 года (12.000 10-минутных свечей). Нами было обнаружено 95 примеров подобного ценового феномена (рост на .0010 пунктов).
На рисунке 3 приведены общие итоги нашего анализа, посвященного тому, как ведет себя цена в течение следующих 20 периодов (10-минутных свечей) после указанного нами ценового паттерна. Также как и для нисходящего паттерна, последующее ценовое движение достаточно невелико. Однако вероятность нисходящего движения (% < 0) для 19 из 20 следующих свечей была более 50 %.
На рисунке 4 мы можем сравнить медианное максимальное нисходящее движение и максимальное восходящее движение для каждой из 20 свечей. Как видим максимальное нисходящее движение значительно больше, что является еще одним подтверждением того, что существует тенденция снижения цены после формирования анализируемого паттерна. Хотя эта тенденция весьма малозаметна.
Итак, как же мы можем распорядиться информацией по тенденции AUD/USD менять направление движения после появления на графиках «Свечей .0010 пунктов»? Начнем с того, что реакция цены на появление таких свечей в принципе может считаться слабой. Как видно на рисунке 4 максимальное движение вниз для свечей с 12 по 20 составляет .0012 -0014 пунктов. Вопрос заключается в следующем: следует ли торговать по нашему паттерну ?
Вводим сигнальный фильтр.
До настоящего момента мы не делали попыток классифицировать сигналы и выделить из их числа те, которые могут быть «лучше», чем другие. Единственное, что удается уяснить на первый взгляд, это то, что наша система страдает тем же самым явным недостатком, который свойственен для индикаторов и других систем, основанных на ловле краткосрочных рыночных максимумов и минимумов. Сигналы на открытие длинной позиции превалируют, когда рынок резко снижается, тогда как в периоды роста пары, превалируют сигналы на короткие позиции. Посмотрим на рисунок 5. За период резкого снижения цены система сгенерировала 4 сигнала на покупку и только один сигнал на продажу.
Чтобы преодолеть эту нехорошую тенденцию мы введем простое фильтрующее правило: длинные сигналы будут приниматься только тогда, когда текущая цена находится выше уровня закрытия предыдущей свечи. Соответственно короткие сигналы будут приниматься только, когда текущая цены ниже уровня закрытия предыдущей цены. В результате при нисходящих трендах многие сигналы на покупку должны дезавуироваться. Тоже самое и с сигналами на продажу при восходящих трендах. Вместо этого, правило должно оставлять действенными только сигналы в периодах, когда цена откатывается от дневного тренда и искать входы на рынок в направлении этого тренда.
Конечно, эта техника несовершенна. Посмотрев на рисунок 5, мы увидим, что в результате введения этого правила, все торговые сигналы были аннулированы. Мы применил это правило для приблизительно 2.500 10-минутных свечей в период с 3 по 24 января. За этот период система сгенерировала 21 сигнал на покупку и 19 сигналов на продажу. Правило фильтра отменило большинство из них: осталось только три сигнала на покупку и семь сигналов на продажу. Интересен тот факт, что в указанный период на рынке на дневном базисе доминировал восходящий тренд.
На рисунках 6 и 7 дано сравнение самых больших движений вверх и вниз для базовых сигналов и отфильтрованных сигналов. Как видим, отфильтрованные сигналы в среднем продуцировали более значительные движения в направлении открытой позиции и менее значительные движения против открытой позиции. Кроме того, во всех интервалах вероятность рост цены после сигнала к покупке и снижения цены после сигнала к продаже увеличилась (не показано).
Однако, следует отметить, что эффективность фильтра в указанных период весьма сомнительна, поскольку при его введении было отменено больше длинных сделок, чем коротких. Но, не следует забывать, что это фильтрующее правило лишь одно из многих. Существует множество других техник для открытия позиций в направлении текущего тренда, которые также можно протестировать.
Тестирование на других рынках и временных фреймах.
Как мы уже отмечали в предыдущей статье, наша концепция теоретически может быть применена и к другим рынкам и временным диапазонам. Тестирование тактики на других рынках и в других временных фреймах является непременным условием оценки ее жизнеспособности. Следующие правила позволяют нам превратить нашу тактику в более динамичную и настраиваемую стратегию, которую можно тестировать на других рынках.
Вместо того, чтобы использовать абсолютные значения движения цены, в новой стратегии мы будем использовать определенное процентное соотношение движения вверх и вниз к диапазону свечи. Например, требованием для открытия длинной позиции будет формирование минимума, на 125 % от предыдущего 5-свечевого диапазона ниже предыдущего. Такое правило делает систему динамичной. Чем более волатилен рынок, тем шире диапазон, тем больше должно быть движение, дающее сигнал для сделки.
Далее. Простой «фильтр тренда» в данном случае будет заключаться только в том, чтобы текущая цена была выше или ниже, чем цена Х свечей назад в зависимости от того, длинную или короткую позицию вы открываете.
Вот формула для торгового сетапа:
Go long if Low <= Low[1] - Multiplier * average(Range,Length)
и
Low[1] - Multiplier * average(Range,Length) <= low[Length2]
Где
Length (Длинна) = число свечей для калькуляции диапазона (например, 5=5 свечей).
Multiplier (Множитель) = процентное соотношение, используемое для определения, насколько сильным должно быть движение по отношению к среднему диапазону. Например: множитель 1.25 будет означать, что последний минимум должен быть на 125 % 5-дневного диапазона ниже предыдущего минимума.
Length2 (Длинна 2) = Число свечей, которые берутся в качестве периода для сравнения с текущим минимумом (например, значение 20 означает, что текущий минимум должен быть ниже минимума 20 последних свечей).
Итак, если мы хотим открыть длинную позицию, после того как цена упала ниже минимума предыдущей свечи на 120 % 10-дневного среднего диапазона, а также когда минимум текущей свечи ниже минимума пяти предшествующих свечей, формула будет выглядеть следующим образом:
Go long if Low <= Low[1] - 1.2 * average(Range,10)
и
Low[1] - 1.2 * average(Range,10) <= low[5]
Легко можно вставить другие тренд-фильтры или диапазоны.
Для коротких позиций правила разворачиваются.
Цена – это самое главное.
Хотя многие трейдеры часто используют осцилляторы и другие индикаторы для определения краткосрочных колебательных максимумов и минимумов, самое движение цены дает более точную и первичную информацию. Другое важное преимущество использование непосредственно ценового движения заключается в том, что вам не надо ждать закрытия свечи, чтобы открыть позицию. В результате вы можете выставлять лимит-ордера на определенном расстоянии над или под максимумом/минимумом предыдущей свечи и открыть позицию немедленно после того, как пара достигла вашей цены.
|