MACD BB ブレイクストラテジー

作者: リン・ハーンチャオチャン開催日:2024年4月25日 17:16:28
タグ:マックドエイマBBSMA

img

概要

MACD BB ブレイクアウト戦略は,MACD指標とボリンジャーバンドをベースとした取引戦略である.この戦略は,MACD指標を使用して短期市場トレンドを把握し,ボリンジャーバンドを使用して市場の過買い・過売り地域を決定する.MACD指標が上部ボリンジャーバンドを突破すると,戦略はロングポジションに入ります.MACD指標が下部ボリンジャーバンドを突破すると,戦略はショートポジションに入ります.この戦略は,短期市場トレンドを把握し,トレンド形成の初期段階で取引を開始することを目的としています.

戦略原則

MACD BB ブレイクアウト戦略の原則は次のとおりです.

  1. MACD指標を計算する:MACD指標を計算するために,高速指数移動平均 (EMA) と遅いEMAを使用する.
  2. ボリンジャー帯を計算する:上下ボリンジャー帯を計算するには,MACD指標の単純な移動平均値 (SMA) と標準偏差を使用する.
  3. ロングシグナル:MACD指標がボリンジャーバンド上位を突破すると,戦略はロングポジションに入ります.
  4. ショートシグナル:MACDインジケーターがボリンジャーバンドの下位を突破すると,ストラテジーはショートポジションに入る.
  5. 戦略は,取引リスクを管理するために,利益とストップロスの割合を設定することができます.

戦略 の 利点

  1. トレンドキャプチャ:MACDインジケーターは,短期間の市場傾向を効果的にキャプチャすることができ,トレンド形成の初期段階から取引を開始する戦略を可能にします.
  2. 波動性の考慮:ボリンガー帯は価格の波動性を考慮し,市場の波動性の増加中に間違った取引信号を避ける戦略を支援します.
  3. パラメータの柔軟性:MACDの速い期と遅い期,ボリンジャーバンドの期間,標準偏差倍数などの戦略のパラメータは,市場の特徴に基づいて最適化および調整することができます.

戦略リスク

  1. 引き下げリスク: 戦略はトレンド形成の初期段階に取引を開始し,それにより大きな引き上げリスクにさらされる可能性があります.
  2. 頻繁な取引:パラメータが正しく設定されていない場合,戦略は過剰な取引信号を生成し,頻繁な取引と高い取引コストにつながる可能性があります.
  3. パラメータ最適化: 戦略のパフォーマンスはパラメータの選択に依存し,不適切なパラメータは不良なパフォーマンスを引き起こす可能性があります.

戦略の最適化方向

  1. トレンド確認: 取引信号が生成された後,他の指標や価格アクションを使用してトレンドの妥当性を確認し,いくつかの偽信号をフィルタリングすることができます.
  2. ダイナミックストップ・ロース: 市場の変動や価格動向に基づいてストップ・ロースポジションをダイナミックに調整し,リスクをより良く制御します.
  3. パラメータ適応: 機械学習または最適化アルゴリズムを使用して,異なる市場状況に適応するために戦略パラメータの適応調整を達成します.

概要

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")


関連性

もっと