資源の読み込みに... 荷物...

MACD トレンド 戦略をフォローする

作者: リン・ハーンチャオチャン, 日付: 2023年11月24日 15:51:39
タグ:

img

概要

MACDトレンドフォローストラテジーは,MACD指標の黄金十字と死十字と信号線を計算して,利益のトレンドを判断します.

戦略原則

この戦略は,トレンド方向を決定するためにMACD指標に基づいています.MACD指標は,MACDライン,シグナルライン,ヒストグラムからなるトレンドをフォローするモメント指標です.MACDラインとシグナルラインの黄色の十字は潜在的な牛市場を示唆しますが,デッドクロスは潜在的な熊市場を示唆します.ヒストグラムは,2つのラインの違いを表し,色の変化を通じて彼らの分岐と変化速度を示します.

ヒストグラムがマイナスから正に上昇すると,黄金のクロス信号が生成され,上昇傾向が始まったばかりであり,ロングポジションが構築できる. ヒストグラムがポジティブからマイナスに変化すると,デッドクロス信号が生成され,上昇傾向がトップになり,ロングポジションが終了またはショートポジションが構築できる.

利点分析

  • 比較的高い勝利率でトレンドを判断するために,ダブルスライディングラインの黄金/死十字を使用
  • ヒストグラムは,MACD指標の進捗と速度を明確に示しています.
  • 最適化のための大きなパラメータ調整スペース
  • 偽信号をフィルターするために他の指標と組み合わせることができます.

リスクと最適化

  • 遅れている
  • 偽信号を生成する可能性があります
  • MA,KDなどで動向を確認してみてください
  • 最適な設定のためにパラメータを調整する

結論

MACDトレンドフォローストラテジーは,全体的にトレンドを決定するための比較的信頼できる方法である.パラメータを最適化し,他の指標と確認することで,偽信号率が大幅に減少し,戦略利益が高くなります.戦略論理はシンプルで理解しやすいため,アルゴリズム取引初心者のための最初の選択となっています.


/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MACD")

// Getting inputs
fastLength = input(title="Fast Length",  defval=12)
slowlength = input(title="Slow Length",  defval=26)
src = input(title="Source",  defval=close)
signalLength = input(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)

// Calculating
macd = ema(close, fastLength) - ema(close, slowlength)
signal = ema(macd, signalLength)
delta = macd - signal

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Plot histogram
plot(delta, title="Histogram", style=columns, color=(delta>=0 ? (delta[1] < delta ? col_grow_above : col_fall_above) : (delta[1] < delta ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

// Plot orders
if (crossover(delta, 0))
    strategy.entry("buy", strategy.long)
if (crossunder(delta, 0))
    strategy.entry("sell", strategy.short)







もっと