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

マルチ-EMA トレンド・モメントム認識とストップ・ロスの取引システム

作者: リン・ハーンチャオチャン開催日:2024年11月25日 11:09
タグ:エイマSMA

img

概要

この戦略は4つの指数関数移動平均値 (EMA) をベースとしたトレンドフォローシステムで,市場動向を特定するために9,21,50および200期EMAのクロスオーバーとアライナメントを使用し,リスク管理のための百分比ベースのストップロスの組み合わせです.この戦略は4つの移動平均値のアライナメント順序を確認し,短期EMAが長期EMAよりも高くなったときにロングポジションを入力し,リスク管理のための固定百分比ストップロスを実装しながら,ショートポジションの逆をします.

戦略の原則

この戦略は,市場動向を評価するために,異なる期間の (9, 21, 50, 200) 4 つの EMA を採用している. 9 日間の EMA が 21 日間の EMA を上回り, 50 日間の EMA が 200 日間の EMA を上回り,強固な上昇傾向を示すとき,購入信号が生成される.逆に,反対のアライナメントは販売信号を生成する. 1 取引につき最大損失を制御するために 2% のストップ・ロスは実装される.

戦略 の 利点

  1. 複数のEMAクロスオーバーは,より信頼性の高いトレンド確認信号を提供し,誤ったブレイクリスクを減らす.
  2. 多期EMA調整によるトレンド強さの評価は,市場の騒音を効果的にフィルタリングします
  3. 固定パーセントストップ・ロスは,明確なリスク管理パラメータを提供します.
  4. シンプルで明快な戦略論理,理解し実行しやすい
  5. 複数の市場と時間枠で適用可能で,高度な多様性があります

戦略リスク

  1. 連続的なストップ・ロスを引き起こすため,変動市場で頻繁に誤った信号を生む可能性があります.
  2. 移動平均系は固有の遅延があり,重要な初期トレンド動きを欠く可能性があります
  3. 固定パーセントストップロスは,すべての市場環境や変動条件に適合しない可能性があります.
  4. ストップ・ロスの設定に対する市場変動の影響の考慮がない
  5. 利益目標の欠如は,非効率な利益実現につながる可能性があります

戦略の最適化方向

  1. 市場変動に基づいて動的ストップロスの調整のためのATR指標を組み込む
  2. 入力信号の品質を改善するために ADX のようなトレンド強度フィルターを追加します
  3. 累積利益のよりよい保護のために,ストップ・ロスの後続的なメカニズムを実施する
  4. 増加傾向の補足的な確認として,量指標を含める.
  5. 利益目標や後利メカニズムを追加することを検討する
  6. EMA 期間パラメータを最適化し,特定の市場特性をより良く調整する

概要

この戦略は,リスク制御のために固定パーセントストップロスを実装しながら,複数のEMAを通じて信頼性の高いトレンド識別を提供する包括的なトレンドフォローリングシステムである.このシステムは固有の遅延があるが,適切なパラメータ最適化と追加の指標統合によってさらに強化することができる.この戦略は,特に不安定な市場や中長期トレンドフォローリング取引に適している.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("4 EMA Strategy with Stop Loss", overlay=true)

// Define the EMA lengths
ema1_length = input(9, title="EMA 1 Length")
ema2_length = input(21, title="EMA 2 Length")
ema3_length = input(50, title="EMA 3 Length")
ema4_length = input(200, title="EMA 4 Length")

// Calculate the EMAs
ema1 = ta.ema(close, ema1_length)
ema2 = ta.ema(close, ema2_length)
ema3 = ta.ema(close, ema3_length)
ema4 = ta.ema(close, ema4_length)

// Plot EMAs on the chart
plot(ema1, color=color.blue, title="EMA 9")
plot(ema2, color=color.orange, title="EMA 21")
plot(ema3, color=color.green, title="EMA 50")
plot(ema4, color=color.red, title="EMA 200")

// Define conditions for Buy and Sell signals
buy_condition = (ema1 > ema2 and ema2 > ema3 and ema3 > ema4)
sell_condition = (ema1 < ema2 and ema2 < ema3 and ema3 < ema4)

// Input stop loss percentage
stop_loss_perc = input(2.0, title="Stop Loss %")

// Execute buy signal
if (buy_condition)
    strategy.entry("Buy", strategy.long)
    
    // Set stop loss at a percentage below the entry price
    strategy.exit("Sell", "Buy", stop=strategy.position_avg_price * (1 - stop_loss_perc / 100))

// Execute sell signal
if (sell_condition)
    strategy.entry("Sell", strategy.short)

    // Set stop loss at a percentage above the entry price
    strategy.exit("Cover", "Sell", stop=strategy.position_avg_price * (1 + stop_loss_perc / 100))



関連性

もっと