BB Keltner Squeeze торговая стратегия определяет обратные тенденции путем поиска сжатия между полосами Боллинджера и каналами Келтнера. Это краткосрочная торговая стратегия. Стратегия использует полосы Боллинджера в качестве базового индикатора и каналы Келтнера для подтверждения сигналов.
Основными принципами этой стратегии являются:
Боллингерские полосы измеряют волатильность цен. Они имеют верхние, средние и нижние полосы, чтобы определить, находится ли цена в волатильном состоянии.
Келтнерские каналы подтверждают сигналы Боллинджера. Келтнерские каналы также измеряют волатильность цен. Когда цена приближается к полосам Боллинджера, сжатие с Келтнером означает повышенную волатильность и потенциальные переломы.
Торговые сигналы генерируются на основе сжатий. Прорывы выше верхней полосы Боллинджера с сужением Келтнера ниже этого сигнала длинны. Разрывы ниже нижней полосы Боллинджера с сужением Келтнера выше этого сигнала короткие.
Цены выше среднего диапазона сигнализируют о подъеме, а ниже - о падении.
Входы и выходы основаны на направлении средней полосы.
Стратегия дополняет полосы Боллинджера каналами Келтнера для выявления точек переворота.
Основными преимуществами этой стратегии являются:
Объединение двух показателей повышает надежность сигнала, избегая ложных перерывов от одного показателя.
Интуитивно отслеживает тренд в реальном времени.
Гибкая логика входа/выхода, основанная на совпадении средней полосы.
Подходит для краткосрочной торговли, отслеживает краткосрочные прорывы и сжатия для быстрой прибыли.
Интуитивно понятные визуальные эффекты подчеркивают сжатие, среднюю полосу, гистограмму MACD и т. Д. Чистое графическое представление.
Простая логика и настраиваемые параметры делают принятие удобным.
Основные риски, которые следует учитывать:
Сжатия могут вызвать серию проигрышных сделок во время сильных трендов.
Риск неудачного прорыва.
Риск оптимизации параметров. Неправильная настройка полос и каналов может ухудшить производительность. Требует строгих испытаний.
Риск бычьего рынка. Чрезмерные шорты, вызванные длительными восходящими трендами. Избегайте применения во время бычьего рынка.
Краткосрочный характер может увеличить затраты от комиссионных и сдвига.
Сигналы могут перестать работать в экстремальных условиях.
Риски требуют активного управления с помощью остановки потерь, размещения позиций, настройки параметров и надежного планирования чрезвычайных ситуаций.
Некоторые способы улучшения стратегии:
Включайте дополнительные показатели для усиления сигналов, улучшая показатель победы.
Добавьте механизмы остановки потерь, такие как остановки отслеживания или остановки ATR, чтобы ограничить потери.
Оптимизировать параметры для полос и каналов через строгие испытания.
Корректировка размеров позиций на основе рыночных условий и силы тренда.
Применение машинного обучения для оптимизации параметров, усиления сигнала и адаптации.
Различить бычьи и медвежьи режимы. Уменьшить контра-тенд сделки во время сильного направленного уклонения.
Дополнительные индикаторы объема и импульса для увеличения разнообразия сигналов.
При постоянном совершенствовании стратегия может стать надежной и последовательной краткосрочной торговой системой на различных рынках.
Стратегия BB Keltner Squeeze использует изменение цены через сжатие между полосами Боллинджера и каналами Келтнера. Она сочетает в себе двойные индикаторы для сигналов с высокой вероятностью, использует среднюю полосу для измерения направления тренда и определяет неизбежные изменения через сжатия. Стратегия подходит для краткосрочных трейдеров, ищущих частые возможности.
/*backtest start: 2023-09-17 00:00:00 end: 2023-09-24 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("BB Keltner Squeeze Strategy", overlay=true, initial_capital=10000, currency='USD') length = input(title="Length", type=input.integer, defval=20, minval=0) src = input(close, title="Source") bband(length, mult) => sma(close, length) + mult * stdev(close, length) keltner(length, mult) => ema(close, length) + mult * ema(tr, length) //BB B2mult = input(2.0, minval=0.001, maxval=50, title="Band 1 StDev") B2basis = sma(src, length) B2dev = B2mult * stdev(src, length) B2upper = B2basis + B2dev B2lower = B2basis - B2dev plot(B2basis, color=color.blue) p1 = plot(B2upper, color=#00ffff, linewidth=2, title="Band 2SD upper") p2 = plot(B2lower, color=#00ffff, linewidth=2, title="Band 2SD lower") //Keltner useTrueRange = input(true) Kmult = input(1.5, title="Keltner Range") Kma = ema(src, length) Krange = useTrueRange ? tr : high - low Krangema = ema(Krange, length) Kupper = Kma + Krangema * Kmult Klower = Kma - Krangema * Kmult p5 = plot(Kupper, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner upper") p6 = plot(Klower, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner lower") e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length) osc = linreg(close - e1 / 2, length, 0) diff = bband(length, 2) - keltner(length, 1) osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : osc[0] >= 0 ? #009b9b : #ff9bff mid_color = diff >= 0 ? color.green : color.red fromYear = year > 2014 toYear = year < 2016 direction = 0 squeeze = Kupper > B2upper midc = 0 midc := squeeze ? 0 : close > B2basis ? 1 : 2 midcolor = midc == 0 ? #666666 : midc == 1 ? #00ff00 : #ff0000 direction := midc[1] plot(B2basis, color=midcolor, linewidth=4, title="BB Mid") bgcolor(midc == 0 ? #333333 : #000000, transp=75) if direction == 0 if midc[1] == 0 and midc == 1 strategy.entry("LONG", strategy.long) direction := 1 else if midc[1] == 0 and midc == 2 strategy.entry("SHORT", strategy.short) direction := 2 else if direction != midc strategy.close_all() direction := 0