Die MACD BB Breakout Strategie ist eine Handelsstrategie, die auf dem MACD-Indikator und den Bollinger Bands basiert. Die Strategie nutzt den MACD-Indikator, um kurzfristige Markttrends zu erfassen, während Bollinger Bands verwendet werden, um überkaufte und überverkaufte Bereiche auf dem Markt zu bestimmen. Wenn der MACD-Indikator über die obere Bollinger Band bricht, tritt die Strategie in eine Long-Position ein; wenn der MACD-Indikator unter die untere Bollinger Band bricht, tritt die Strategie in eine Short-Position. Die Strategie zielt darauf ab, kurzfristige Markttrends zu erfassen und Trades in den frühen Stadien der Trendbildung zu initiieren.
Das Prinzip der MACD BB Breakout-Strategie lautet wie folgt:
Die MACD BB Breakout Strategie kombiniert den MACD-Indikator und Bollinger Bands, um Trades in den frühen Stadien der Trendbildung zu initiieren. Die Stärken der Strategie liegen in ihrer Fähigkeit, kurzfristige Trends zu erfassen und Preisvolatilität zu berücksichtigen. Sie steht jedoch auch vor Herausforderungen wie Drawdown-Risiko, häufiger Handel und Parameteroptimierung. Durch Trendbestätigung, dynamischen Stop-Loss und Parameteranpassung können die Robustheit und Anpassungsfähigkeit der Strategie weiter verbessert werden.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //AK MACD BB strategy("AK MACD BB strategy", overlay = true) // Inputs for TP and SL tp_percent = input.float(1.0, title="Take Profit %") / 100 sl_percent = input.float(1.0, title="Stop Loss %") / 100 length = input.int(10, minval=1, title="BB Periods") dev = input.float(1, minval=0.0001, title="Deviations") //MACD fastLength = input.int(12, minval=1, title="fastLength") slowLength=input.int(26,minval=1) signalLength=input.int(9,minval=1) fastMA = ta.ema(close, fastLength) slowMA = ta.ema(close, slowLength) macd = fastMA - slowMA //BollingerBands Std = ta.stdev(macd, length) Upper = (Std * dev + (ta.sma(macd, length))) Lower = ((ta.sma(macd, length)) - (Std * dev)) Band1 = plot(Upper, color=color.gray, style=plot.style_line, linewidth=2,title="Upper Band") Band2 = plot(Lower, color=color.gray, style=plot.style_line, linewidth=2,title="lower Band") fill(Band1, Band2, color=color.blue, transp=75,title="Fill") mc = macd >= Upper ? color.lime:color.red // Indicator plot(macd, color=mc, style =plot.style_circles,linewidth = 3, title="macd") zeroline = 0 plot(zeroline,color= color.orange,linewidth= 2,title="Zeroline") //buy barcolor(macd >Upper ? color.yellow:na) //short barcolor(macd <Lower ? color.aqua:na) if macd > Upper strategy.entry("Long", strategy.long) // strategy.exit("Long TP/SL", "Long", limit=close * (1 + tp_percent), stop=close * (1 - sl_percent), comment = "Long Exit" ) if macd < Lower strategy.entry("Short", strategy.short) // strategy.exit("Short TP/SL", "Short", limit=close * (1 - tp_percent), stop=close * (1 + sl_percent), comment = "Short Exit")