MACDトレンドフォロー戦略


作成日: 2023-11-15 17:08:15 最終変更日: 2023-11-15 17:08:15
コピー: 0 クリック数: 743
1
フォロー
1617
フォロワー

MACDトレンドフォロー戦略

概要

この戦略は,MACDトレンドフォロー戦略と呼ばれるもので,MACD指標を用いて価格トレンドを判断し,トレンドフォローで取引する量化戦略である.この戦略は,中長期のトレンドを捕捉し,トレンドが転じるときに適切なタイミングでポジションを調整することを目的としている.

戦略原則

この戦略は,MACD指標を使用して価格の傾向を判断する.MACD指標は,快線EMA ((12日) と慢線EMA ((26日) で構成される突破指標であり,それらの離散値はMACD柱状の線を形成し,柱状の線の9日EMAはMACDの信号線を形成する.MACD線上の信号線を横切るときは金叉で,価格が上昇傾向にあることを示し,MACD線の下を通るときは死叉で,価格が下落傾向にあることを示している.

この戦略は,MACD線と信号線を計算し,MACD線と信号線の差分値を計算する.デルタが0を超えると買入シグナルが生じ,デルタが0を超えると売出シグナルが生じ,この2つのシグナルに基づいてポジションを調整する.騒音をフィルターするために,戦略は,EMA均等線を導入し,価格が均等線を破るときのみ真の取引シグナルが生じる.

具体的には,戦略の論理は以下の通りです.

  1. MACD線,信号線,差値デルタを計算する
  2. 傾向の逆転を確認します.
  3. EMA平均線を計算し,フィルターとして
  4. デルタが0を超え,EMAよりも高い価格になると,買取シグナルが作られます.
  5. 価格が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)