
この戦略は,複数の指数移動平均 (EMA) と滑動移動平均 (SMMA) に基づくトレンド追跡取引システムである.これは,短期と長期のEMAの交差を活用して取引信号を生成し,SMMAをトレンド確認指標として使用し,サポートとレジスタンス位置の参照として追加のEMAラインを導入する.この方法は,市場トレンドを捉え,偽突破のリスクを効果的に制御する.
戦略は,10日と22日EMAを主要信号線として,200日SMMAをトレンドフィルターとして,50日,100日と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)