MACD BB ブレイクアウト戦略は,MACD指標とボリンジャーバンドをベースとした取引戦略である.この戦略は,MACD指標を使用して短期市場トレンドを把握し,ボリンジャーバンドを使用して市場の過買い・過売り地域を決定する.MACD指標が上部ボリンジャーバンドを突破すると,戦略はロングポジションに入ります.MACD指標が下部ボリンジャーバンドを突破すると,戦略はショートポジションに入ります.この戦略は,短期市場トレンドを把握し,トレンド形成の初期段階で取引を開始することを目的としています.
MACD BB ブレイクアウト戦略の原則は次のとおりです.
MACD BB ブレイクアウト戦略は,トレンド形成の初期段階でトレードを開始するためにMACD指標とボリンジャーバンドを組み合わせます.この戦略の強みは,短期的なトレンドを把握し,価格変動を考慮する能力にあります.しかし,引き下げリスク,頻繁な取引,パラメータ最適化などの課題に直面しています.トレンド確認,ダイナミックストップ損失,パラメータ適応を通じて,戦略の堅牢性と適応性がさらに向上することができます.
/*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")