MACD BB Breakout Strategy adalah strategi perdagangan yang didasarkan pada indikator MACD dan Bollinger Bands. Strategi ini memanfaatkan indikator MACD untuk menangkap tren pasar jangka pendek sambil menggunakan Bollinger Bands untuk menentukan area overbought dan oversold di pasar. Ketika indikator MACD melanggar di atas Bollinger Band atas, strategi memasuki posisi panjang; ketika indikator MACD melanggar di bawah Bollinger Band bawah, strategi memasuki posisi pendek. Strategi ini bertujuan untuk menangkap tren pasar jangka pendek dan memulai perdagangan di tahap awal pembentukan tren.
Prinsip dari strategi MACD BB Breakout adalah sebagai berikut:
Strategi MACD BB Breakout menggabungkan indikator MACD dan Bollinger Bands untuk memulai perdagangan pada tahap awal pembentukan tren. Kekuatan strategi ini terletak pada kemampuannya untuk menangkap tren jangka pendek dan mempertimbangkan volatilitas harga. Namun, strategi ini juga menghadapi tantangan seperti risiko penarikan, perdagangan sering, dan optimasi parameter. Melalui konfirmasi tren, stop loss dinamis, dan adaptasi parameter, kekuatan dan kemampuan beradaptasi strategi dapat ditingkatkan lebih lanjut.
/*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")