トレンド追従型デュアル移動平均クロスオーバー戦略とSMAトレンドフィルタリングシステムを組み合わせたもの

EMA SMA MA RSI RR
作成日: 2025-02-21 14:35:29 最終変更日: 2025-02-21 14:35:29
コピー: 3 クリック数: 395
2
フォロー
319
フォロワー

トレンド追従型デュアル移動平均クロスオーバー戦略とSMAトレンドフィルタリングシステムを組み合わせたもの トレンド追従型デュアル移動平均クロスオーバー戦略とSMAトレンドフィルタリングシステムを組み合わせたもの

概要

この戦略は,移動平均 ((MA) の交差とトレンド追跡を組み合わせた定量取引システムである.これは,15周期のシンプル移動平均 ((SMA) をトレンドフィルターとして使用し,同時に9周期と21周期のインデックス移動平均 ((EMA) の交差を利用して取引信号を生成する.この戦略は,厳格な入場条件と固定1:4のリスク/利益比率を使用してリスクを管理する.

戦略原則

戦略の中核となるロジックは、次の主要な要素に基づいています。

  1. トレンド確認:15周期SMAを主要なトレンド判断指標として使用する.15SMAの上の価格は上昇傾向とみなされ,逆に下降傾向とみなされる.
  2. 取引信号: 9EMAと21EMAの交差によって取引信号を誘発する. 9EMAの上を21EMA穿いて他の条件を満たすときに多行信号が生成される. 9EMA下を21EMA穿いて他の条件を満たすときに空白信号が生成される.
  3. 確認条件:多行は,連続した陽線が2つあり,両EMAが15SMA上にあることを要求する.空調は,陰線が2つあり,両EMAが15SMA下にあることを要求する.
  4. リスク管理:システムは,エントリーポイントに基づいて自動でストロスと利益目標を計算し,1:4のリスク/利益比率で設定する.

戦略的優位性

  1. 強いトレンド追跡能力:15SMAのトレンドフィルタリングメカニズムにより,横断または逆行情での取引を効果的に回避できます.
  2. 多重確認メカニズム:均線交差,グラフ形状,トレンド確認などの多重条件を組み合わせて,偽信号のリスクを低減する.
  3. リスク管理の改善: 固定リスク/利益比率と自動ストップ・ストップの設定により,長期にわたる安定した運営に有利である.
  4. 明確な視覚フィードバック:システムは,取引信号の標識とストップ・ローズレベル表示を含む明確な視覚指示を提供します.

戦略リスク

  1. 遅滞のリスク:移動平均は本質的に遅滞の指標であり,市場が急速に変化する時に反応し遅れる可能性がある.
  2. 偽の突破リスク:横盤市場では偽のクロスシグナルが生じる可能性がある.
  3. 固定リスク比の制限:1:4の固定リスク・利益比は,すべての市場環境には適さないかもしれない.
  4. 連続的な損失のリスク: 揺れ動いている市場では連続的な停止が起こりうる.

戦略最適化の方向性

  1. 動的サイクル最適化:市場の変動率に応じて移動平均周期を自動的に調整することができる.
  2. 波動率フィルターを導入:ATRまたは他の波動率指標を追加して入場時間を最適化する.
  3. ダイナミックなリスク管理:市場条件に応じてダイナミックにリスク/利益の比率を調整する.
  4. 市場環境の判断を増やす:トレンドの強さの指標を導入して取引条件を最適化する.

要約する

これは,合理的で論理的に厳格に設計されたトレンド追跡戦略である.複数の技術指標と厳格なリスク管理を組み合わせることで,この戦略は良い実用性がある.いくつかの固有のリスクがあるが,推奨された最適化方向によって,戦略の安定性と収益性をさらに向上させることができる.この戦略は,傾向が顕著な市場での適用に特に適しており,中長期の周期で使用することが推奨されている.

ストラテジーソースコード
/*backtest
start: 2024-02-21 00:00:00
end: 2024-12-19 00:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with 15 SMA Trend", overlay=true, margin_long=100, margin_short=100)

// Calculate Indicators
sma15 = ta.sma(close, 15)
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)

// Trend Detection
uptrend = close > sma15
downtrend = close < sma15

// Crossover Conditions
goldenCross = ta.crossover(ema9, ema21)
deathCross = ta.crossunder(ema9, ema21)

// Candle Conditions
twoBullish = (close > open) and (close[1] > open[1])
bearishCandle = (close < open)

// Entry Conditions
longCondition = goldenCross and uptrend and twoBullish and (ema9 > sma15) and (ema21 > sma15)
shortCondition = deathCross and downtrend and bearishCandle and (ema9 < sma15) and (ema21 < sma15)

// Risk Management
var float longStop = na
var float longTarget = na
var float shortStop = na
var float shortTarget = na

if longCondition
    longStop := low
    longTarget := close + 4*(close - longStop)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=longStop, limit=longTarget)

if shortCondition
    shortStop := high
    shortTarget := close - 4*(shortStop - close)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=shortStop, limit=shortTarget)

// Visual Elements
plot(sma15, "15 SMA", color=color.orange)
plot(ema9, "9 EMA", color=color.blue)
plot(ema21, "21 EMA", color=color.red)

// Plot trading levels
plot(longCondition ? longStop : na, "Long Stop", color=color.red, style=plot.style_linebr)
plot(longCondition ? longTarget : na, "Long Target", color=color.green, style=plot.style_linebr)
plot(shortCondition ? shortStop : na, "Short Stop", color=color.red, style=plot.style_linebr)
plot(shortCondition ? shortTarget : na, "Short Target", color=color.green, style=plot.style_linebr)

// Signal Markers
plotshape(longCondition, "Buy", shape.triangleup, location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, "Sell", shape.triangledown, location.abovebar, color=color.red, size=size.small)