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

作者: リン・ハーンチャオチャン開催日:2023年11月15日 17:08:15
タグ:

img

概要

この戦略は,MACDトレンドフォロー戦略と呼ばれています.これは,価格傾向を決定し,トレードへのトレンドを追跡するためにMACD指標を使用する定量戦略です.この戦略は,中長期トレンドを把握し,トレンド逆転が発生した場合にタイミングでポジションを調整することを目的としています.

戦略の論理

この戦略は,価格動向を決定するためにMACD指標を使用する.MACDは,速いEMA線 (12日) とスローEMA線 (26日) によって形成されたブレイクアウト指標である.この2つの線間の差はMACDヒストグラムを形成し,ヒストグラムの9日EMAはMACD信号線である.MACD線が信号線の上を横切ると,上向きの傾向を示す黄金十字である.MACD線が線を下を横切ると,ダウン傾向を示す死十字信号である.

この戦略は,まずMACDラインとシグナルラインを計算し,次に両ラインの間のデルタ差を計算する.デルタが0を超えると買い信号が生成される.デルタが0を下回ると売り信号が生成される.これらの2つの信号に基づいて,戦略はそれに応じてポジションを調整する.ノイズをフィルタリングするために,戦略はEMAラインも導入する - 価格がこのEMAラインを突破したときのみ有効な取引信号が生成される.

具体的には 戦略の論理は

  1. MACD線,シグナル線,デルタ差を計算する
  2. 0 以上のデルタ・クロスまたは 0 以下のデルタ・クロスがトレンド逆転を意味するかどうかを決定する
  3. フィルターとして機能する EMA 線を計算する
  4. デルタが0を超え,価格がEMAを超えると,購入信号を生成します.
  5. デルタが0を下回り,価格がEMAを下回ると,売り信号を生成します.

この設計により,戦略は中長期のトレンドを追跡し,トレンドが逆転するとポジションを迅速に調整できます.短期的な市場の騒音に惑わされないようにします.

利点

この戦略には以下の利点があります.

  1. MACD を使って,エントリーと出路のタイミングのトレンド逆転点を正確に検出します.
  2. 短期市場騒音による干渉を避けるために EMAフィルターを採用する
  3. 中期から長期間のトレンドのみをフォローし,様々な市場での変動を避けます
  4. シンプルで明快な論理, 簡単に理解し,コードを変更
  5. パラメータを調整することによって取引頻度を制御する柔軟性
  6. 中期から長期間の傾向を完全に追跡するための高い資本利用率

リスク

注意すべきリスクは:

  1. 動揺する市場では,トレンドフォローインジケーターとしてのMACDが誤った信号を生む可能性があります.
  2. EMAのフィルターは,有効な取引機会をフィルタリングすることがあります.
  3. パラメータの設定が正しくない場合,取引が過剰または過小になる可能性があります.
  4. 遅滞性による短期的な市場変化に対応できない
  5. 遅延によるトレンドターニングポイントで最適なタイミングを逃す可能性があります.

解決策:

  1. パラメータを最適化し,EMAフィルターを調整して偽信号を減らす
  2. 取引の多くを明らかにするために,確認のための他の指標を組み込む
  3. 単一の取引でストップ損失を制御する
  4. 保持期間を短縮し,柔軟性を高める

最適化

この戦略は,次の方法でさらに最適化できます.

  1. より高い精度のための組み合わせたシステムを形成するために他の指標を追加
  2. リスク管理の改善のために,利益とストップ損失のメカニズムを導入する
  3. 誤ったブレイクを避けるために,ボリューム指標を組み込む
  4. 安定性を向上させるため,市場状況に基づいてパラメータを動的に調整する
  5. タイミングを改善するためにエントリーと出口ロジックを精査する
  6. トレンドをよく追跡し,リスクを減らすためにポジションをスケールする

指標コンボ,適応性パラメータ,ストップ損失/利益取得などの方法によって 顕著な改善が達成できます

結論

概要すると,MACDトレンドフォロー戦略は,中長期トレンドを特定するためにシンプルで効果的なMACD指標を利用し,論理に従って明確なトレンドを実装する.トレンドと合理的なリスク管理措置を把握する能力があります.さらなる最適化により,戦略は非常に実践的な量取引システムになることができます.短期利益よりも安定した長期利益を求める投資家に適しています.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-10-27 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's MACD Strategy v1.0", shorttitle = "MACD str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
usefil = input(false, defval = false, title = "Use EMA filter")
lenfil = input(5, defval = 5, minval = 1, maxval = 50, title = "EMA filter period")

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//Signals
ema = ema(close, lenfil)
trend = crossover(delta, 0) == true ? 1 : crossunder(delta, 0) == true ? -1 : trend[1]
up = trend == 1 and (low < ema or usefil == false) ? 1 : 0
dn = trend == -1 and (high > ema or usefil == false) ? 1 : 0

plot(ema, color = black, transp = 0)

if (up == 1)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if (dn == 1)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)


もっと