В процессе загрузки ресурсов... загрузка...

Динамическая стратегия обратной точки, основанная на полосах Боллинджера и фрактальных прорывах

Автор:Чао Чжан, Дата: 2024-06-28 15:06:36
Тэги:ББМ.А.SMAСДFRAC

img

Обзор

Эта стратегия представляет собой динамическую систему идентификации переломных точек, которая сочетает в себе полосы Боллинджера и фракталы цен. Она направлена на захват основных точек перелома рынка путем выявления переломов цены полос Боллинджера и важных уровней фракталов для генерации торговых сигналов. Стратегия использует широко используемый индикатор полос Боллинджера и теорию фрактала цен в техническом анализе, пытаясь найти высоковероятные торговые возможности на волатильных рынках.

Принципы стратегии

Основные принципы стратегии основаны на следующих ключевых элементах:

  1. Боллингерские полосы: использует 20-периодный простой скользящий средний (SMA) в качестве средней полосы, с верхними и нижними полосами, установленными на 2 стандартных отклонения выше и ниже.

  2. Фракталы цены: стратегия использует 5 свечей для выявления бычьих и медвежьих фракталов.

  3. Сигналы прорыва:

    • Когда цена опускается ниже нижней полосы Боллинджера, она обозначается как потенциальный выход вниз.
    • Если после падения цена поднимется и превысит последний высокий уровень, будет сгенерирован длинный сигнал.
    • Когда цена проходит выше верхней полосы Боллинджера, она обозначается как потенциальный выход вверх.
    • Если после восходящего прорыва цена падает и прорывается ниже последнего медвежьего фрактального минимума, генерируется короткий сигнал.
  4. Исполнение сделки:

    • Откройте длинную позицию, когда будет выявлен быстрый фрактал.
    • Откройте короткую позицию, когда будет обнаружен медвежий фрактал.

Этот дизайн сочетает в себе элементы торговли, следующей за трендом, и обратной торговли, целью которой является захват основных поворотных моментов на рынке.

Преимущества стратегии

  1. Многократное подтверждение: стратегия сочетает в себе два независимых технических показателя, диапазоны Боллинджера и фракталы цен, обеспечивая множественное подтверждение и снижая риск ложных прорывов.

  2. Динамическая адаптация: полосы Боллинджера автоматически корректируются в зависимости от волатильности рынка, что позволяет стратегии адаптироваться к различным рыночным условиям.

  3. Сбалансированный подход к тренду и реверсии: стратегия может охватывать как продолжение тренда (через фрактальные прорывы), так и потенциальные точки реверсии (через прорывы полосы Боллинджера), увеличивая свою гибкость.

  4. Чистые точки входа: четкие торговые сигналы определяются посредством специфических условий (прорывы полосы Боллинджера и фрактальные прорывы), что уменьшает необходимость субъективного суждения.

  5. Визуальная помощь: стратегия отображает полосы Боллинджера и фрактальные точки на графике, помогая трейдерам интуитивно понять структуру рынка и потенциальные торговые возможности.

Стратегические риски

  1. Отставание: использование 20-периодных полос Боллинджера и фракталов с 5-ю свечами может привести к задержке сигналов, потенциально упускающих возможности на быстро меняющихся рынках.

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

  3. Отсутствие механизма стоп-лосса: В текущей стратегии отсутствуют ясные правила стоп-лосса, что может привести к чрезмерным потерям при неправильных сделках.

  4. Переоценка: на сильно волатильных рынках стратегия может генерировать слишком много торговых сигналов, увеличивая затраты на транзакции.

  5. Единая временная рамка: стратегия основана на данных из одной временной рамки, потенциально игнорируя важные структуры рынка в более широкие временные рамки.

Направления оптимизации стратегии

  1. Ввести стоп-лосс и тек-профит: подумайте о установке точек стоп-лосса на средней полосе Болинджера или противоположной полосе Болинджера и динамически регулируйте уровни стоп-лосса на основе ATR (средний истинный диапазон).

  2. Добавить торговые фильтры: ввести дополнительные индикаторы (такие как RSI или MACD), чтобы отфильтровать потенциальные ложные сигналы прорыва и улучшить качество торговли.

  3. Многочасовой анализ: включать информацию о тенденциях из более крупных временных рамок, выполняя сделки только в направлении более крупной тенденции для улучшения показателей выигрыша.

  4. Оптимизировать параметры: Провести обратные тесты для оптимизации таких параметров, как периоды полосы Боллинджера и количество фрактальных свечей, чтобы найти наилучшую комбинацию для конкретных рынков.

  5. Добавить фильтры волатильности: ужесточить условия торговли в периоды низкой волатильности, чтобы избежать переоценки на рынках с ограниченным диапазоном.

  6. Подумайте о сдерживании остановок: постепенно увеличивайте точки сдерживания потерь по мере того, как сделки становятся прибыльными, чтобы закрепить частичную прибыль.

  7. Включить подтверждение объема: объединить информацию о объеме для подтверждения действительности прорывов, улучшая надежность сигнала.

Резюме

Динамическая стратегия переменных точек, основанная на полосах Боллинджера и фрактальных прорывах, представляет собой комплексную систему, которая сочетает в себе идеи торговли по тренду и перевороту. Она использует полосы Боллинджера для оценки относительного положения цен, используя фракталы цен для определения ключевых уровней поддержки и сопротивления.

Основные преимущества стратегии заключаются в ее многочисленных механизмах подтверждения и способности динамично адаптироваться к волатильности рынка. Однако она также сталкивается с рисками задержки сигнала и потенциальных ложных прорывов. Для повышения надежности стратегии рекомендуется внедрить механизмы стоп-лосса, анализ многочасовых рамок и дополнительные торговые фильтры.

Благодаря постоянной оптимизации и корректировке, эта стратегия имеет потенциал стать надежной торговой системой. Однако, как и все торговые стратегии, она требует тщательного тестирования и проверки в фактической торговле. Трейдеры, использующие эту стратегию, должны сочетать ее со своей собственной терпимостью к риску и опытом рынка, всегда сохраняя бдительность и учебное отношение к рынку.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Breakdown and Breakup Strategy", overlay=true)

// Bollinger Bands settings
length = input.int(20, title="Bollinger Bands Length")
src = close
mult = input.float(2.0, title="Bollinger Bands Multiplier")

// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

plot(upper, color=color.red, linewidth=1)
plot(lower, color=color.red, linewidth=1)
plot(basis, color=color.blue, linewidth=1)

// Fractals identification
isBullishFractal = ta.highest(high, 5)[2] == high[2] and high[2] > high[1] and high[2] > high[3]
isBearishFractal = ta.lowest(low, 5)[2] == low[2] and low[2] < low[1] and low[2] < low[3]

// Variables to store the latest fractal values
var float latestBullishFractal = na
var float latestBearishFractal = na

if (isBullishFractal)
    latestBullishFractal := high[2]
    
if (isBearishFractal)
    latestBearishFractal := low[2]

// Conditions
breakdownCondition = close < lower
breakupCondition = close > latestBullishFractal
breakupUpperCondition = close > upper
breakdownBearishCondition = close < latestBearishFractal

// Variables to track state
var bool breakdownOccurred = false
var bool breakupUpperOccurred = false

// Signals
var bool plotBreakupSignal = false
var bool plotBreakdownSignal = false

// Logic for breakdown and breakup above bullish fractal
if (breakdownCondition)
    breakdownOccurred := true

if (breakdownOccurred and breakupCondition)
    plotBreakupSignal := true
    breakdownOccurred := false

// Logic for breakup and breakdown below bearish fractal
if (breakupUpperCondition)
    breakupUpperOccurred := true

if (breakupUpperOccurred and breakdownBearishCondition)
    plotBreakdownSignal := true
    breakupUpperOccurred := false

// Plot signals as icons
plotshape(series=plotBreakupSignal, location=location.abovebar, color=color.green, style=shape.triangleup, title="Breakup", size=size.small)
plotshape(series=plotBreakdownSignal, location=location.belowbar, color=color.red, style=shape.triangledown, title="Breakdown", size=size.small)

// Plotting fractals for reference
plotshape(series=isBullishFractal, location=location.abovebar, color=color.green, style=shape.triangleup, title="Bullish Fractal", offset=-2)
plotshape(series=isBearishFractal, location=location.belowbar, color=color.red, style=shape.triangledown, title="Bearish Fractal", offset=-2)

// Reset signals
plotBreakupSignal := false
plotBreakdownSignal := false


if isBullishFractal
    strategy.entry("Enter Long", strategy.long)
else if isBearishFractal
    strategy.entry("Enter Short", strategy.short)

Связанные

Больше