Каждая свеча на дискретном графике цены имеет 4 важные точки:
- цена открытия;
- максимальная цена;
- минимальная цена;
- цена закрытия.
Само "тело" свечи определяется расстоянием от точки открытия до точки закрытия временнОго периода. Это расстояние будем считать рациональным диапазоном. Тогда "тени" свечи, определяемые максимумом и минимумом - иррациональным расстоянием, вызванным ошибочными или импульсивными действиями трейдеров. В статье, посвященной алгоритмам расчета волатильности, я подробно разбирал технологию определения рыночного шума. Так и здесь, высчитывая отношения рационального диапазона к общему диапазону за период, можно узнать, насколько шумным является рынок в данный момент. Рассмотрим график:
В верхней части графика находится индикатор рыночного шума (красный) и соответствующая ему длина окна (синий), в котором идет поиск максимальных и минимальных значений. Именно за этот период и будет рассчитываться верхняя и нижняя границы предполагаемого канала. Хорошо видно, что чем больше уровень шума, тем большая длина временнОго окна используется. Такой подход позволяет адекватно реагировать на статистические изменения в ценовых колебаниях и динамически изменять границы канала.
Отдельно нужно сказать о функции адаптации длины окна к шуму. Метод прямого переноса значений тут не подходит, потому что даже в лучшем случае значения шума редко опускаются ниже отметки в 40%. Поэтому здесь применялся метод шкалирования, когда текущее значение шума определяет длину окна из заранее заданного диапазона. Логически это непростая процедура, поэтому распишу ее подробнее:
1. Заранее определяем минимальное и максимальное значение длины временнОго окна, по которому будем определять верхнюю и нижнюю границы канала;
2. Определяем положение значения шума относительно его предыдущих значений за достаточно репрезентативный период:
- рассчитываем максимальное и минимальное значения шума за этот период;
- определяем %% положение по формуле (значение-минимум)/(максимум-минимум). Таким образом, текущее положение шума всегда будет в границах от нуля до единицы.
3. Рассчитываем положение в новой шкале по формуле (%% положение в старой шкале*(максимальное окно - минимальное окно));
4. Рассчитываем собственно длину окна, прибавляя к числу из пункта 3 значение минимально допустимого окна.
Таким образом, независимо от абсолютного значения шума, длина окна всегда будет выбираться из заранее определенного нами диапазона. Такой подход позволяет избегать большого количества ложных входов и не упускать слишком большую часть потенциальной прибыли, вовремя фиксируя окончание движения.
Но отфильтровать излишний шум, присущий периодам "флэта" можно и при помощи популярных индикаторов тренда. В качестве таких индикаторов можно использовать любую численную характеристику направленного движения: это и автокорреляция, и нормированная разность скользящих средних, и разность логарифмов. Но сейчас я хочу продемонстрировать использование в качестве аргумента адаптации самый популярный трендовый индикатор ADX. Логика построения ценовых каналов при использовании такого индикатора очень проста и эффективна: чем сильнее на рынке тренд, тем меньше длина временнОго окна. Смотрим полученный график:
В верхней части графика зеленым цветом представлен индикатор силы тренда, синим цветом - соответствующая ему длина окна. Отдельно нужно рассказать о функции адаптации, используемой в этом случае - это метод обратного переноса. Сила тренда по шкале АДХ очень редко превышает значение в 70 пунктов. Поэтому при определении скользящего окна можно рассчитывать величину ( 70 - АДХ ). И поставить дополнительное условие, чтобы длина окна автоматически приравнивалась 4, если значение величины получится меньше 4. Таким образом, мы ограничим снизу допустимую длину временного окна.На графике хорошо видно, как изменяется нижняя раница канала по мере усиления тренда. Такой подход позволит выжать максимум из каждого тренда, минимизируя вероятность преждевременного выхода на ранних стадиях.
Автор статьи: Тарас Правдюк