Стратегия называется
Основными показателями этой стратегии являются MACD и Bollinger Bands. Индикатор MACD состоит из быстрой линии, медленной линии и гистограммы MACD. Быстрая линия обычно является 12-дневной EMA, а медленная линия - 26-дневной EMA. Разница между ними - гистограмма MACD. Эта стратегия использует разницу между быстрой линией и медленной линией в качестве базовой средней линии Bollinger Bands. Верхние и нижние рельсы устанавливаются вокруг средней линии для построения Bollinger Bands.
Сигнал покупки генерируется, когда цена проходит через нижнюю рельсу полос Боллинджера вверх. Сигнал продажи генерируется, когда цена проходит через верхнюю рельсу полос Боллинджера вниз. Чтобы уменьшить риск попадания в ловушку и упущенных возможностей для обратного движения, эта стратегия не входит на рынок сразу после прорыва.
Кроме того, верхние и нижние рельсы также могут использоваться как сопротивление и поддержка соответственно. Когда цена растет, верхний рельс является сопротивлением, а нижний рельс - поддержкой. Когда цена падает, верхний рельс становится поддержкой, а нижний рельс становится сопротивлением.
Эта стратегия объединяет в себе преимущества MACD и полос Боллинджера для отслеживания трендов, с следующими преимуществами:
MACD обладает сильной способностью оценивать тренд. Полосы Боллинджера могут адаптивно корректироваться. Комбинация может эффективно определять точки переворота тренда.
Вступление в регресс может эффективно избежать риска остановки потерь и отслеживать среднесрочные и долгосрочные тенденции.
Использование сопротивления и поддержки на полосах Боллинджера может еще больше зафиксировать прибыль.
Параметры MACD и Bollinger Bands могут быть гибко скорректированы в соответствии с различными условиями рынка.
Для этой стратегии также существуют некоторые риски:
При колебании трендов MACD и полосы Боллинджера могут генерировать несколько недействительных сигналов.
Стоп-лосс должен устанавливаться во время входа в регресс, чтобы избежать увеличения потерь от чрезмерного регресса.
Неправильное установление параметров увеличивает вероятность ложного прорыва.
Хорошее управление рисками и размещение позиций являются ключом к поддержанию прибыли для этой стратегии.
Стратегия также может быть оптимизирована в следующих аспектах:
Оптимизировать параметры MACD на 8-дневную быструю линию и 20-дневную медленную линию.
Добавьте восходящее и нисходящее суждение о тренде для оптимизации параметров полос Боллинджера, уменьшая ложные сигналы на колеблющихся рынках.
Добавьте стратегию стоп-лосса. Установите линию стоп-лосса с верхними и нижними рельсами полос Боллинджера для контроля рисков.
Включить другие индикаторы для проверки для повышения стабильности стратегии.
Стратегия Momentum Trend, основанная на MACD и Bollinger Bands, отслеживает средне-долгосрочные тенденции с помощью комбинации индикаторов и вступает в отказ, чтобы снизить риски. Она оптимизирует параметры настроек и контролирует риски. Она хорошо работает на трендовых продуктах. Но ни одна стратегия не является идеальной. Нам нужно продолжать оптимизировать и улучшать с нескольких точек зрения для адаптации к постоянно меняющейся рыночной среде.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Simple strategy based on MACD and Bollinger Bands, where BBs are calculatend from macd signal. strategy("Strategy MACD vs BB", overlay=false) fast_length = input(title="Fast MA period", type=input.integer, defval=8) slow_length = input(title="Slow MA period", type=input.integer, defval=21) src = input(close,"Source") // ----------MA calculation - ChartArt------------- smoothinput = input(1, minval=1, maxval=4, title='Moving Average Calculation: (1 = SMA), (2 = EMA), (3 = WMA), (4 = Linear)') fast_ma = smoothinput == 1 ? sma(src, fast_length):smoothinput == 2 ? ema(src, fast_length):smoothinput == 3 ? wma(src, fast_length):smoothinput == 4 ? linreg(src, fast_length,0):na slow_ma = smoothinput == 1 ? sma(src, slow_length):smoothinput == 2 ? ema(src, slow_length):smoothinput == 3 ? wma(src, slow_length):smoothinput == 4 ? linreg(src, slow_length,0):na //---------------------------------------------- macd = fast_ma - slow_ma p1=plot(macd,"macd signal",color=color.blue) length = input(40, minval=1) mult = input(2.0,"BB multiplier") basis = sma(macd, length) dev = mult * stdev(macd, length) plot(basis,"BB basis",color=color.orange) upper = basis + dev lower = basis - dev p2=plot(upper,"BB upper",color=color.red) p3=plot(lower,"BB basis",color=color.green) longCondition = crossover(macd, lower) shortCondition = crossunder(macd, upper) plotshape(longCondition?lower:na, title="Long", style=shape.xcross, location=location.absolute, text="Long", color=color.green, transp=0, size=size.tiny) plotshape(shortCondition?upper:na, title="Short", style=shape.xcross, location=location.absolute, text="Short", color=color.red, transp=0, size=size.tiny) fill(p1,p3,color=macd<lower?color.green:na,transp=90,title="support") fill(p1,p2,color=macd>upper?color.red:na,transp=90,title="resistance") if longCondition strategy.entry("Long",strategy.long) if shortCondition strategy.entry("Short",strategy.short)