
RSI強度フィルター付き二重移動平均クロスオーバー 貿易戦略
この戦略は,双均線交差とRSI指標のフィルタリングを組み合わせた取引システムである.戦略は,5周期指数移動平均 ((EMA5) と10周期簡易移動平均 ((SMA10) を主要なトレンド判断ツールとして使用し,14周期相対的に強い指数 ((RSI14) を取引シグナルフィルターとして導入し,厳格な入場と出場条件によって取引の正確性を向上させる.
戦略の核心的な論理は, 2つの重要な技術指標の組み合わせに基づいています.
シグナル確認の仕組みが完成
リスク管理は効果的です
戦略の論理は明確です.
不安定な市場のリスク
遅滞のリスク
パラメータ感度
トレンド強度フィルタを導入
オプティマイゼーションパラメータの自在化
リスク管理の改善
この戦略は双均線交差とRSIフィルターを組み合わせて,比較的完ぺきな取引システムを構築している.この戦略の主な優位性は,その信号確認機構とリスク管理措置にあるが,いくつかの固有の制限も存在している.この戦略は,推奨された最適化の方向によって,実際の取引でより良いパフォーマンスを期待している.特に,傾向が明確な市場環境下では,この戦略のパフォーマンスはより安定している可能性がある.
/*backtest
start: 2024-06-20 00:00:00
end: 2024-12-01 00:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("EMA and SMA Crossover with RSI14 Filtering", overlay=true)
// Define parameters for EMA, SMA, and RSI
ema5_length = 5
sma10_length = 10
rsi14_length = 14
rsi60_level = 60
rsi50_level = 50
// Calculate EMAs, SMAs, and RSI
ema5 = ta.ema(close, ema5_length)
sma10 = ta.sma(close, sma10_length)
rsi14 = ta.rsi(close, rsi14_length)
// Define Crossover Conditions
positive_crossover = ta.crossover(ema5, sma10)
negative_crossover = ta.crossunder(ema5, sma10)
// Define RSI filter conditions
rsi_above_60 = rsi14 > rsi60_level
rsi_below_50 = rsi14 < rsi50_level
// Condition: price below 60 on RSI 14 and later crosses above for Buy
price_below_rsi60 = close < rsi14
price_above_rsi60 = close > rsi14
// Condition: price above 50 on RSI 14 and later crosses below for Sell
price_above_rsi50 = close > rsi14
price_below_rsi50 = close < rsi14
// Trading logic
var bool active_buy_trade = false
var bool active_sell_trade = false
// Buy Condition: EMA 5 crosses above SMA 10 and RSI 14 crosses above 60
if (positive_crossover and not active_buy_trade)
if (price_below_rsi60)
// Wait for price to cross above RSI 60
if (price_above_rsi60)
strategy.entry("Buy", strategy.long)
active_buy_trade := true
else
strategy.entry("Buy", strategy.long)
active_buy_trade := true
// Sell Condition: EMA 5 crosses below SMA 10 and RSI 14 crosses below 50
if (negative_crossover and not active_sell_trade)
if (price_above_rsi50)
// Wait for price to cross below RSI 50
if (price_below_rsi50)
strategy.entry("Sell", strategy.short)
active_sell_trade := true
else
strategy.entry("Sell", strategy.short)
active_sell_trade := true
// Exit Buy Condition: Reverse Signal (EMA crosses below SMA or RSI crosses below 50)
if (active_buy_trade and (negative_crossover or rsi14 < rsi50_level))
strategy.close("Buy")
active_buy_trade := false
// Exit Sell Condition: Reverse Signal (EMA crosses above SMA or RSI crosses above 60)
if (active_sell_trade and (positive_crossover or rsi14 > rsi60_level))
strategy.close("Sell")
active_sell_trade := false
// Plotting EMAs, SMAs, and RSI 14 on the chart
plot(ema5, color=color.blue, linewidth=2, title="EMA 5")
plot(sma10, color=color.red, linewidth=2, title="SMA 10")
hline(rsi60_level, "RSI 60", color=color.gray, linestyle=hline.style_dotted)
hline(rsi50_level, "RSI 50", color=color.gray, linestyle=hline.style_dotted)
plot(rsi14, color=color.green, linewidth=1, title="RSI 14")