マルチ移動平均の組み合わせトレンド追跡戦略 - EMAとSMA指標に基づく長期投資シグナルシステム

EMA SMA
作成日: 2024-12-13 10:28:02 最終変更日: 2024-12-13 10:28:02
コピー: 0 クリック数: 407
1
フォロー
1617
フォロワー

マルチ移動平均の組み合わせトレンド追跡戦略 - EMAとSMA指標に基づく長期投資シグナルシステム

概要

この戦略は,多重平均線組合せに基づくトレンド追跡システムであり,主に周線EMA20,日線SMA100,日線SMA50および日線EMA20の4つの均線の交差および位置関係を利用して,中長期の投資機会を捉える.この戦略は,価格と平均線との関係を観察し,持続時間要求と組み合わせて,潜在的な多入場の機会を識別する.

戦略原則

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

  1. 周回20周期指数移動平均 ((EMA1W20) を主要なトレンド判断指標として使用
  2. 日線100日単行移動平均 ((SMA1D100) と連携した二次トレンドとして確認
  3. 日線50日単行移動平均 ((SMA1D50) を中期トレンド参照として使用
  4. 日線20日指数移動平均 ((EMA1D20) を用いて短期トレンド確認 価格がEMA1W20とSMA1D100の上で14日間連続して維持され,価格がSMA1D50を下回ると,システムは複数のシグナルを発信する.このデザインは,複数の時間周期のトレンド確認を組み合わせて,取引信号の信頼性を高めるのに役立ちます.

戦略的優位性

  1. 複数のタイムサイクル検証:周線と日線レベルの平均線指標を組み合わせることで,市場動向をより全面的に判断できます.
  2. 入場条件は厳格で,偽信号を効果的にフィルターするために,価格が主平均線上にとどまるように要求する.
  3. 合理的なリスク管理:複数の均線の交差と位置関係を利用し,取引に明確なリスク管理境界を提供
  4. 適応性:戦略のパラメータは,異なる市場環境に応じて調整され,優れた柔軟性を持つ
  5. 実行の明晰さ: 取引信号が明瞭で,プログラム化が容易である

戦略リスク

  1. 遅滞のリスク:平均線指数は,それ自体には遅滞があるため,入場時間が少し遅れる可能性があります.
  2. 不安定な市場のリスク: 横ばいで不安定な市場では、誤ったブレイクアウトシグナルが頻繁に発生する可能性があります。
  3. パラメータの感受性:異なる市場環境で最適なパラメータが異なる可能性があり,定期的に最適化する必要があります.
  4. 引き下げリスク:突然のトレンドの逆転で,より大きな引き下げを受ける可能性があります.
  5. 実行リスク:信号の損失や実行の遅延を避けるため,システムの安定した動作を保証する必要があります.

戦略最適化の方向性

  1. 交差量指標の導入:交差量確認メカニズムを追加して,信号の信頼性を向上させる
  2. 最適化パラメータの自適性:パラメータの動的調整メカニズムの研究開発,戦略の適応性を向上させる
  3. フィルタリング条件の追加: 市場環境判断指標の追加を検討し,不適切な市場環境での取引を避ける
  4. 損失を抑える仕組みの改善:より細かい損失を抑えるルールを設計し,撤回リスクを制御する
  5. 信号確認の改善: 補助的な確認として他の技術指標を追加することを検討する

要約する

この戦略は,複数の均線を組み合わせることで,比較的完ぺきなトレンド追跡システムを構築し,中長期の投資家の使用に適しています.ある程度の遅滞とパラメータ感度のリスクがあるものの,合理的なリスク管理と継続的な最適化により,戦略は優れた実用価値を持っています.投資家は,実際のアプリケーションで,自分のリスク好みと市場環境に応じて適切な調整を行うことをお勧めします.

ストラテジーソースコード
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © petitepupu

//@version=5

ema20wTemp = ta.ema(close, 20)
ema20w = request.security(syminfo.tickerid, "1W", ema20wTemp, barmerge.gaps_on, barmerge.lookahead_off)
sma100d = ta.sma(close, 100)
sma50d = ta.sma(close, 50)
ema20d = ta.ema(close, 20)
daysAbove = input.int(14, title="Days", minval=1)
plot(ema20w, color=color.blue)
plot(sma100d, color=color.yellow)
plot(sma50d, color=color.red)
plot(ema20d, color=color.green)

longCondition = true
clean = true
for i = 0 to daysAbove
    if close[i] < ema20w or close[i] < sma100d or close > sma50d
        longCondition := false
        clean := false
        break

//TODO: 
if clean != true
    longCondition := true
    for i = 0 to daysAbove
        if close[i] > ema20w or close[i] > sma100d or close >= ema20d or -100 * (close - ema20d)/ema20d < 5.9
            longCondition := false
            break


// plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", size = size.small)

if (longCondition)
    strategy.entry("Long", strategy.long)

    
strategy(title="LT Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=800)