8 февраля 2009
"Индикатор значимости" использует преимущества медианной цены, чтобы дать объективный анализ сопротивления и поддержки.
Стратегии, следующие за трендом, будь то систематические или дискретные, как правило, дают не более 40 процентов прибыльных сделок. Хотя это не обязательно означает, что стратегия (или определенный уровень отакрытия сделки) бесполезна, вполне возможно улучшить результативность, оценивая вероятность успеха прорыва до того, как он произойдет.
Если так, то Вы могли бы исключить торговые сигналы с наименьшей вероятностью успеха, подстроить размер своей позиции в зависимости от вероятности успеха сделки или даже перевернуть определенные сигналы, если анализ указывает, что рынок с большей вероятностью развернется, чем продолжит свой тренд.
Средняя цена (например, значение скользящей средней) является, вероятно, самым распространенным инструментом для определения входов и выходов у стратегий, следующих за трендом. Но у использования вместо обычной средней то, что называется медианной ценой, есть одно врожденное преимущество - она может использоваться для оценки вероятности успеха прорыва или разворота.
Чтобы создать индикатор для такой задачи, однако, Вы сначала должны подумать о том, как определить прорыв или пересекающиеся ценовые уровни, что требует некоторого знания теории поддержки и сопротивления, а также волатильности.
Волатильность, поддержка-сопротивление и медианная цена
Вообще говоря, чем больше рынок колеблется, тем меньше уверенности в том, что он будет делать дальше, что затрудняет определение того, является ли определенный ценовой уровень жизнеспособным уровнем поддержки или сопротивления рынка.
Теперь вспомните теорию техническую анализа, которая говорит - чем чаще тестируется уровень поддержки или сопротивления и чем ближе около него располагаются ценовые кластеры, тем более он существенен; а чем более он существенен, тем с большей вероятностью он удержится при следующем испытании. Зато, когда он, наконец, будет пробит, цена, скорее всего, стремительно уйдет от него на значительное расстояние.
Медианная цена за определенный период имеет равное число ценовых точек выше и ниже своего значения, что позволяет вычислить, насколько существенен данный ценовой уровень в качестве уровня поддержки или сопротивления. (Это не относится к средней цене, самому высокому максимуму или самому низкому минимуму за тот же самый период. Например, 20-дневный самый высокий максимум не поможет в этом отношении, потому что выше него цен быть не может). Чтобы проделать это, Вы можете измерить, насколько дисперсно цены окружают линию медианы; чем более разбросана цена, тем менее существенна она в качестве уровня поддержки/сопротивления.
Сравнение дисперсии цен с обеих сторон медианной ценовой линии также помогает определить, будет ли уровень функционировать в качестве поддержки или сопротивления. Для этого мы должны подробно изучить, как рассчитывается индикатор и сравнить его с поведением цены на графике.
В конце статьи приведен код индикатора для программы TraderStudio.
Расчеты индикатора
Во-первых, вычислите среднее расстояние между ценовыми точками бара (открытие, максимум, минимум, закрытие) и медианную цену за выбранный период. Положительное среднее расстояние (MeanDist) указывает, что цены шире колебались над медианной ценой, а не под ней; отрицательное значение MeanDist говорит, что цены шире колебались ниже медианной цены.
Во-вторых, вычислите средний квадрат разности между всеми расстояниями и MeanDist. (Эти значения берутся в квадрат для гарантии того, что это всегда будут положительные числа). Большая величина получившейся средней разности (AvgDiff) указывает, что цены колебались значительно больше чем, что предполагает значение MeanDist; малое значение AvgDiff указывает, что цены колебались значительно меньше, чем это показывает MeanDist.
Умножая MeanDist на AvgDiff (и ограничивая пределы самых высоких и самых низких значений до +/-50), мы получаем заключительный индикатор - величину значимости, которая принимает форму осциллятора на Рисунке 1. У индикатора есть следующие особенности:
1. Низкое значение индикатора (положительное или отрицательное, но близкое к нолю) указывает на сильный уровень поддержки/сопротивления; высокое значение (положительное или отрицательное) указывает на слабую поддержку/сопротивление.
2. Положительное значение индикатора означает, что поддержка является более существенной чем сопротивление, потому что цены ниже медианной цены были ближе к медиане, чем цены выше нее. Наоборот, отрицательное значение индикатора означает, что сопротивление является более значимым, чем поддержка, поскольку цены выше медианы были сконцентрированы ближе к медианной цене, чем цены ниже нее.
3. Наконец, чрезвычайно высокие положительные значения индикатора значимости предполагают, что рынок перекуплен, в то время как чрезвычайно большие отрицательные цифры предполагают, что рынок перепродан. Вы можете использовать значения +/-50 для указания экстремально больших положительных и отрицательных значений, а откаты от этих уровней - как потенциальные возможности для покупки или продажи. Однако, эти значения неоптимизированы и должны быть подвергнуты дальнейшему исследованию.
Конечно, в любой конкретной ситуации работа медианной цены в качестве поддержки или сопротивления зависит от ее последних значений относительно цены. Кроме того, естественно, что малые значения (около ноля) более важны, чем их знак, положительные они или отрицательные, потому что значения индикатора могут быстро измениться, когда рынок движется в пределах относительно узкого диапазона цен выше и ниже медианной цены. (Если ценовой диапазон является узким, то должны быть другие, соседние уровни поддержки и сопротивления ниже и выше медианной цены, которые также могут использоваться, как уровни для открытия сделок).
Индикатор значимости в работе
Чтобы изучить, как все это сочетается вместе, давайте посмотрим на Рисунок 1 и разберем сценарии A-F. Мы сравниваем зеленую медианную линию на графике цены с индикатором значимости в нижней части этого графика.
Рисунок 1. Значимость поддержки-сопротивления.
В примере A индикатор значимости перемещается в пределах узкого диапазона, указывая, что сформировался сильный уровень поддержки/сопротивления. В середине сентября выше медианной цены сформировалось дополнительное сопротивление, а к концу сентября - и дополнительная поддержка; эти уровни сопротивления должны наблюдаться на возможность прорывов.
Когда происходит прорыв, линия значимости в идеале должна двинуться в том же самом направлении, но не слишком быстро, поскольку это указывало бы, что рынок становится перекупленным или перепроданным. В данном случае случился прорыв вниз и рынок быстро стал перепроданным, на что указывает цифра -50 в показаниях линии значимости в середине октября.
Точка B отмечает два перепроданных значения в середине октября, которые были хорошими возможностями для покупки в начале того, что впоследствии оказалось приличным восходящим трендом. В конце октября - начале ноября цена столкнулась с существенной областью поддержки/сопротивления, оставшейся еще с сентября; первоначально рынок был не в состоянии пробиться через оба этих уровня.
Более значимым из этих двух уровней оказался более низкий, о чем говорили близкие к нолю значения осциллятора во время тестирования. Пробой этого уровня около 725.00 вверх предложил еще одну хорошую возможность для покупки.
В начале консолидации в точке C маленькое движение цены вниз привело к большому колебанию индикатора значимости до -50. Такое может случиться, когда рынок стремительно отбирает часть хорошего тренда, особенно, если волатильность тренда была высокой в начале, а затем медленно уменьшалась. Здесь у нас имеется рискованная возможность покупки, когда индикатор развернулся от -50 вверх.
В сценарии C рынок нашел поддержку там, где был уровень сопротивления из сценария A, уровень, который мы уже знаем, как значимый. Хотя это должно придать ситуации бычий характер, область поддержки/сопротивления, сформированная в сценарии C, выглядит не слишком значимой, о чем говорят изменчивые цифры индикатора значимости в этот момент.
Далее, в сценарии D, после короткого толчка вверх рынок нашел поддержку там, где в сценарии C располагалось сопротивление. На сей раз низкие цифры индикатора значимости предполагают, что консолидация, формирующаяся вокруг срединной цены (сразу под 800.00), в будущем будет играть важную роль.
Во время большей части этой консолидации осциллятор оставался положительным, это должно указывать нам, что поддержка сильнее сопротивления и придавать ситуации бычий характер. Однако, когда в марте произошел прорыв наверх, направление индикатора значимости противоречило направлению прорыва - признак слабости, хотя у нас и не было никакого другого способа узнать о приближении долгосрочной вершины.
После нескольких дней свободного падения рынок достиг дна в конце мая (точка E). Это могла быть хорошая рискованная возможность покупки, если бы это дно или последующий разворот совпали с индикатором значимости, двинувшимся от -50 вверх. (Помните, однако, что значения +/-50 у нас неоптимизированы). В данном случае, однако, рикошет был слишком быстрым, чтобы предложить какие-либо хорошие возможности для сделки, а индикатор значимости сразу переместился в зону перекупленности.
Следующий ход вниз в начале июня также случился столь быстрым, что наш индикатор с пороговым значением 50 не смог стать полезным инструментом для торговли. (Се ля ви, не все инструменты будут работать всегда, даже когда сценарии кажутся идеальными).
Наконец, сценарий F обращает наше внимание на поведение цены в сентябре и в начале октября. Но сначала отметьте два важных ценовых уровня, сформированные в июле. Один - вершина, совпавшая со значимым дном паттерна февраля-марта (D), а другой - дно, совпавшее со значимым нижним уровнем паттерна августа-сентября (A). Кроме того, верхнее сопротивление в сценарии F совпадает с серединой канала сценария C.
В течение наклоненной вверх консолидации июля-октября, цифры индикатора значимости почти все время располагались сразу под нулевой линией, что указывает нам, что сопротивление является более значимым, чем поддержка. Это не значит, что рынок обязательно прорвется вниз, но это, скорее всего, означает, что прорыв наверх будет более взрывным и более быстрым, чем движение вниз.
Это оказались действительно важные уровни поддержки и сопротивления - за пределами сценария F - вершина и дно июля. Только когда один из этих уровней четко будет пробит, мы снова можем искать хорошее направленное движение. Как оказалось, это было восходящее движение, и оно изначально было резким (Рисунок 2). После короткого отката, в конце ноября рынок рванул выше 900.00. На начало декабря индикатор значимости показал, что поддержка является более сильной, чем сопротивление, значит, текущий восходящий тренд должен противостоять попыткам прорыва вниз и, таким образом, продолжится еще в течение некоторого времени.
Рисунок 2. Новая поддержка.
Код
Код для пакета TraderStudio 2.0 может быть скопирован с сайта www.activetradermag.com/code.htm.
Sub LineSignificance(LookBack As Integer)
'Copyright (C), 2006: Thomas Stridsman
Dim Median As BarArray(250)
Dim Counter, ArraySize, ArrayMidPoint As Integer
Dim MedianArray, DistArray, SqErrorArray As Array
Dim SumDist, MeanDist, SumSqError, AvgDiff, Significance As Double
'Calculate the Median:
ArraySize = LookBack * 4
ReDim(MedianArray, ArraySize)
For Counter = 0 To (LookBack - 1) Step 1
MedianArray[Counter * 4 + 0] = Open[Counter]
MedianArray[Counter * 4 + 1] = High[Counter]
MedianArray[Counter * 4 + 2] = Low[Counter]
MedianArray[Counter * 4 + 3] = Close[Counter]
Next
NumSort(MedianArray)
ArrayMidPoint = ArraySize / 2
Median = (MedianArray[ArrayMidPoint - 1] + MedianArray[ArrayMidPoint]) / 2
'End of Median calculations
'Calculate the support/resistance significance:
'By first calculating the mean distance between all price observations and
the?'median price over the lookback period:
ReDim(DistArray, ArraySize)
For Counter = 0 To (ArraySize - 1) Step 1
DistArray[Counter] = MedianArray[Counter] - Median
SumDist = SumDist + DistArray[Counter]
Next
MeanDist = SumDist / ArraySize
'Second, we calculate the average squared (to keep it always positive) differ-
ence 'between all the distances and the mean distance:
ReDim(SqErrorArray, ArraySize)
For Counter = 0 To (ArraySize - 1) Step 1
SqErrorArray[Counter] = (DistArray[Counter] - MeanDist)^2
SumSqError = SumSqError + SqErrorArray[Counter]
Next
AvgDiff = Sqr(SumSqError / (ArraySize - 1))
'Multiplying gives us the final value:
Significance = MeanDist * AvgDiff
'This just limits the highest absolute values of the significance line, indicating
those 'times when either the support or the resistance is very insignificant, to
50:
Significance = Max(Min(Significance, 50), -50)
Plot1(Significance)
End Sub
Thomas Stridsman
© ACTIVE TRADER
Стратегии, следующие за трендом, будь то систематические или дискретные, как правило, дают не более 40 процентов прибыльных сделок. Хотя это не обязательно означает, что стратегия (или определенный уровень отакрытия сделки) бесполезна, вполне возможно улучшить результативность, оценивая вероятность успеха прорыва до того, как он произойдет.
Если так, то Вы могли бы исключить торговые сигналы с наименьшей вероятностью успеха, подстроить размер своей позиции в зависимости от вероятности успеха сделки или даже перевернуть определенные сигналы, если анализ указывает, что рынок с большей вероятностью развернется, чем продолжит свой тренд.
Средняя цена (например, значение скользящей средней) является, вероятно, самым распространенным инструментом для определения входов и выходов у стратегий, следующих за трендом. Но у использования вместо обычной средней то, что называется медианной ценой, есть одно врожденное преимущество - она может использоваться для оценки вероятности успеха прорыва или разворота.
Чтобы создать индикатор для такой задачи, однако, Вы сначала должны подумать о том, как определить прорыв или пересекающиеся ценовые уровни, что требует некоторого знания теории поддержки и сопротивления, а также волатильности.
Волатильность, поддержка-сопротивление и медианная цена
Вообще говоря, чем больше рынок колеблется, тем меньше уверенности в том, что он будет делать дальше, что затрудняет определение того, является ли определенный ценовой уровень жизнеспособным уровнем поддержки или сопротивления рынка.
Теперь вспомните теорию техническую анализа, которая говорит - чем чаще тестируется уровень поддержки или сопротивления и чем ближе около него располагаются ценовые кластеры, тем более он существенен; а чем более он существенен, тем с большей вероятностью он удержится при следующем испытании. Зато, когда он, наконец, будет пробит, цена, скорее всего, стремительно уйдет от него на значительное расстояние.
Медианная цена за определенный период имеет равное число ценовых точек выше и ниже своего значения, что позволяет вычислить, насколько существенен данный ценовой уровень в качестве уровня поддержки или сопротивления. (Это не относится к средней цене, самому высокому максимуму или самому низкому минимуму за тот же самый период. Например, 20-дневный самый высокий максимум не поможет в этом отношении, потому что выше него цен быть не может). Чтобы проделать это, Вы можете измерить, насколько дисперсно цены окружают линию медианы; чем более разбросана цена, тем менее существенна она в качестве уровня поддержки/сопротивления.
Сравнение дисперсии цен с обеих сторон медианной ценовой линии также помогает определить, будет ли уровень функционировать в качестве поддержки или сопротивления. Для этого мы должны подробно изучить, как рассчитывается индикатор и сравнить его с поведением цены на графике.
В конце статьи приведен код индикатора для программы TraderStudio.
Расчеты индикатора
Во-первых, вычислите среднее расстояние между ценовыми точками бара (открытие, максимум, минимум, закрытие) и медианную цену за выбранный период. Положительное среднее расстояние (MeanDist) указывает, что цены шире колебались над медианной ценой, а не под ней; отрицательное значение MeanDist говорит, что цены шире колебались ниже медианной цены.
Во-вторых, вычислите средний квадрат разности между всеми расстояниями и MeanDist. (Эти значения берутся в квадрат для гарантии того, что это всегда будут положительные числа). Большая величина получившейся средней разности (AvgDiff) указывает, что цены колебались значительно больше чем, что предполагает значение MeanDist; малое значение AvgDiff указывает, что цены колебались значительно меньше, чем это показывает MeanDist.
Умножая MeanDist на AvgDiff (и ограничивая пределы самых высоких и самых низких значений до +/-50), мы получаем заключительный индикатор - величину значимости, которая принимает форму осциллятора на Рисунке 1. У индикатора есть следующие особенности:
1. Низкое значение индикатора (положительное или отрицательное, но близкое к нолю) указывает на сильный уровень поддержки/сопротивления; высокое значение (положительное или отрицательное) указывает на слабую поддержку/сопротивление.
2. Положительное значение индикатора означает, что поддержка является более существенной чем сопротивление, потому что цены ниже медианной цены были ближе к медиане, чем цены выше нее. Наоборот, отрицательное значение индикатора означает, что сопротивление является более значимым, чем поддержка, поскольку цены выше медианы были сконцентрированы ближе к медианной цене, чем цены ниже нее.
3. Наконец, чрезвычайно высокие положительные значения индикатора значимости предполагают, что рынок перекуплен, в то время как чрезвычайно большие отрицательные цифры предполагают, что рынок перепродан. Вы можете использовать значения +/-50 для указания экстремально больших положительных и отрицательных значений, а откаты от этих уровней - как потенциальные возможности для покупки или продажи. Однако, эти значения неоптимизированы и должны быть подвергнуты дальнейшему исследованию.
Конечно, в любой конкретной ситуации работа медианной цены в качестве поддержки или сопротивления зависит от ее последних значений относительно цены. Кроме того, естественно, что малые значения (около ноля) более важны, чем их знак, положительные они или отрицательные, потому что значения индикатора могут быстро измениться, когда рынок движется в пределах относительно узкого диапазона цен выше и ниже медианной цены. (Если ценовой диапазон является узким, то должны быть другие, соседние уровни поддержки и сопротивления ниже и выше медианной цены, которые также могут использоваться, как уровни для открытия сделок).
Индикатор значимости в работе
Чтобы изучить, как все это сочетается вместе, давайте посмотрим на Рисунок 1 и разберем сценарии A-F. Мы сравниваем зеленую медианную линию на графике цены с индикатором значимости в нижней части этого графика.
Рисунок 1. Значимость поддержки-сопротивления.
В примере A индикатор значимости перемещается в пределах узкого диапазона, указывая, что сформировался сильный уровень поддержки/сопротивления. В середине сентября выше медианной цены сформировалось дополнительное сопротивление, а к концу сентября - и дополнительная поддержка; эти уровни сопротивления должны наблюдаться на возможность прорывов.
Когда происходит прорыв, линия значимости в идеале должна двинуться в том же самом направлении, но не слишком быстро, поскольку это указывало бы, что рынок становится перекупленным или перепроданным. В данном случае случился прорыв вниз и рынок быстро стал перепроданным, на что указывает цифра -50 в показаниях линии значимости в середине октября.
Точка B отмечает два перепроданных значения в середине октября, которые были хорошими возможностями для покупки в начале того, что впоследствии оказалось приличным восходящим трендом. В конце октября - начале ноября цена столкнулась с существенной областью поддержки/сопротивления, оставшейся еще с сентября; первоначально рынок был не в состоянии пробиться через оба этих уровня.
Более значимым из этих двух уровней оказался более низкий, о чем говорили близкие к нолю значения осциллятора во время тестирования. Пробой этого уровня около 725.00 вверх предложил еще одну хорошую возможность для покупки.
В начале консолидации в точке C маленькое движение цены вниз привело к большому колебанию индикатора значимости до -50. Такое может случиться, когда рынок стремительно отбирает часть хорошего тренда, особенно, если волатильность тренда была высокой в начале, а затем медленно уменьшалась. Здесь у нас имеется рискованная возможность покупки, когда индикатор развернулся от -50 вверх.
В сценарии C рынок нашел поддержку там, где был уровень сопротивления из сценария A, уровень, который мы уже знаем, как значимый. Хотя это должно придать ситуации бычий характер, область поддержки/сопротивления, сформированная в сценарии C, выглядит не слишком значимой, о чем говорят изменчивые цифры индикатора значимости в этот момент.
Далее, в сценарии D, после короткого толчка вверх рынок нашел поддержку там, где в сценарии C располагалось сопротивление. На сей раз низкие цифры индикатора значимости предполагают, что консолидация, формирующаяся вокруг срединной цены (сразу под 800.00), в будущем будет играть важную роль.
Во время большей части этой консолидации осциллятор оставался положительным, это должно указывать нам, что поддержка сильнее сопротивления и придавать ситуации бычий характер. Однако, когда в марте произошел прорыв наверх, направление индикатора значимости противоречило направлению прорыва - признак слабости, хотя у нас и не было никакого другого способа узнать о приближении долгосрочной вершины.
После нескольких дней свободного падения рынок достиг дна в конце мая (точка E). Это могла быть хорошая рискованная возможность покупки, если бы это дно или последующий разворот совпали с индикатором значимости, двинувшимся от -50 вверх. (Помните, однако, что значения +/-50 у нас неоптимизированы). В данном случае, однако, рикошет был слишком быстрым, чтобы предложить какие-либо хорошие возможности для сделки, а индикатор значимости сразу переместился в зону перекупленности.
Следующий ход вниз в начале июня также случился столь быстрым, что наш индикатор с пороговым значением 50 не смог стать полезным инструментом для торговли. (Се ля ви, не все инструменты будут работать всегда, даже когда сценарии кажутся идеальными).
Наконец, сценарий F обращает наше внимание на поведение цены в сентябре и в начале октября. Но сначала отметьте два важных ценовых уровня, сформированные в июле. Один - вершина, совпавшая со значимым дном паттерна февраля-марта (D), а другой - дно, совпавшее со значимым нижним уровнем паттерна августа-сентября (A). Кроме того, верхнее сопротивление в сценарии F совпадает с серединой канала сценария C.
В течение наклоненной вверх консолидации июля-октября, цифры индикатора значимости почти все время располагались сразу под нулевой линией, что указывает нам, что сопротивление является более значимым, чем поддержка. Это не значит, что рынок обязательно прорвется вниз, но это, скорее всего, означает, что прорыв наверх будет более взрывным и более быстрым, чем движение вниз.
Это оказались действительно важные уровни поддержки и сопротивления - за пределами сценария F - вершина и дно июля. Только когда один из этих уровней четко будет пробит, мы снова можем искать хорошее направленное движение. Как оказалось, это было восходящее движение, и оно изначально было резким (Рисунок 2). После короткого отката, в конце ноября рынок рванул выше 900.00. На начало декабря индикатор значимости показал, что поддержка является более сильной, чем сопротивление, значит, текущий восходящий тренд должен противостоять попыткам прорыва вниз и, таким образом, продолжится еще в течение некоторого времени.
Рисунок 2. Новая поддержка.
Код
Код для пакета TraderStudio 2.0 может быть скопирован с сайта www.activetradermag.com/code.htm.
Sub LineSignificance(LookBack As Integer)
'Copyright (C), 2006: Thomas Stridsman
Dim Median As BarArray(250)
Dim Counter, ArraySize, ArrayMidPoint As Integer
Dim MedianArray, DistArray, SqErrorArray As Array
Dim SumDist, MeanDist, SumSqError, AvgDiff, Significance As Double
'Calculate the Median:
ArraySize = LookBack * 4
ReDim(MedianArray, ArraySize)
For Counter = 0 To (LookBack - 1) Step 1
MedianArray[Counter * 4 + 0] = Open[Counter]
MedianArray[Counter * 4 + 1] = High[Counter]
MedianArray[Counter * 4 + 2] = Low[Counter]
MedianArray[Counter * 4 + 3] = Close[Counter]
Next
NumSort(MedianArray)
ArrayMidPoint = ArraySize / 2
Median = (MedianArray[ArrayMidPoint - 1] + MedianArray[ArrayMidPoint]) / 2
'End of Median calculations
'Calculate the support/resistance significance:
'By first calculating the mean distance between all price observations and
the?'median price over the lookback period:
ReDim(DistArray, ArraySize)
For Counter = 0 To (ArraySize - 1) Step 1
DistArray[Counter] = MedianArray[Counter] - Median
SumDist = SumDist + DistArray[Counter]
Next
MeanDist = SumDist / ArraySize
'Second, we calculate the average squared (to keep it always positive) differ-
ence 'between all the distances and the mean distance:
ReDim(SqErrorArray, ArraySize)
For Counter = 0 To (ArraySize - 1) Step 1
SqErrorArray[Counter] = (DistArray[Counter] - MeanDist)^2
SumSqError = SumSqError + SqErrorArray[Counter]
Next
AvgDiff = Sqr(SumSqError / (ArraySize - 1))
'Multiplying gives us the final value:
Significance = MeanDist * AvgDiff
'This just limits the highest absolute values of the significance line, indicating
those 'times when either the support or the resistance is very insignificant, to
50:
Significance = Max(Min(Significance, 50), -50)
Plot1(Significance)
End Sub
Thomas Stridsman
© ACTIVE TRADER
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Жалоба