この戦略は,複数の指数関数移動平均値 (EMA) とスムーズ移動平均値 (SMMA) をベースとしたトレンドフォローする取引システムである.短期および長期の EMA のクロスオーバーを通じて取引信号を生成し,SMMA をトレンド確認指標として使用し,追加の EMA ラインをサポートおよびレジスタンス参照として組み込む.このアプローチにより,トレンドを把握し,偽のブレイクリスクを効果的に制御することができます.
この戦略は,10日間のEMAと22日間のEMAを主要な信号ライン,200日間のSMMAをトレンドフィルター,および50日間のEMAと100日間のEMAと200日間のEMAを補助指標として採用している.短期間のEMAが長期間のEMAを超越し価格がSMMAを超越したときに購入信号が生成され,短期間のEMAが長期間のEMAを超越し価格がSMMAを下回ったときに販売信号が生成される.追加の3つのEMAラインはさらなる技術的サポートとレジスタンス基準点を提供します.
この戦略は,複数の移動平均システムを統合し,異なる期間の移動平均を協調的に利用することでリスクを制御しながらトレンドを把握するトレンドフォロー戦略である.この戦略の核心強みは,複数の確認メカニズムにあるが,範囲市場でのパフォーマンスに注意を払う必要がある.適切なパラメータ最適化とリスク管理を通じて,この戦略はトレンド市場で良い結果を達成することができる.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with SMMA and Additional EMAs", overlay=true) // Input parameters for EMAs and SMMA emaShortLength = input.int(10, title="Short EMA Length") emaLongLength = input.int(22, title="Long EMA Length") smmaLength = input.int(200, title="SMMA Length") // Additional EMA lengths ema1Length = input.int(50, title="EMA 1 Length") ema2Length = input.int(100, title="EMA 2 Length") ema3Length = input.int(200, title="EMA 3 Length") // Calculate EMAs and SMMA emaShort = ta.ema(close, emaShortLength) emaLong = ta.ema(close, emaLongLength) smma = ta.sma(ta.sma(close, smmaLength), 2) // SMMA approximation ema1 = ta.ema(close, ema1Length) ema2 = ta.ema(close, ema2Length) ema3 = ta.ema(close, ema3Length) // Plot EMAs and SMMA on the chart plot(emaShort, color=color.blue, linewidth=2, title="Short EMA") plot(emaLong, color=color.red, linewidth=2, title="Long EMA") plot(smma, color=color.white, linewidth=2, title="SMMA") plot(ema1, color=color.green, linewidth=1, title="EMA 1") plot(ema2, color=color.purple, linewidth=1, title="EMA 2") plot(ema3, color=color.yellow, linewidth=1, title="EMA 3") // Buy condition: Short EMA crosses above Long EMA and price is above SMMA buyCondition = ta.crossover(emaShort, emaLong) and close > smma // Sell condition: Short EMA crosses below Long EMA and price is below SMMA sellCondition = ta.crossunder(emaShort, emaLong) and close < smma // Execute Buy order if (buyCondition) strategy.entry("Buy", strategy.long) alert("Buy Signal: Short EMA crossed above Long EMA and price is above SMMA.", alert.freq_once_per_bar_close) // Execute Sell order if (sellCondition) strategy.entry("Sell", strategy.short) alert("Sell Signal: Short EMA crossed below Long EMA and price is below SMMA.", alert.freq_once_per_bar_close)