Strategi ini adalah sistem perdagangan yang mengikuti tren berdasarkan beberapa indikator teknis, menggabungkan tren EMA, kondisi overbought / oversold RSI, dan indikator volatilitas ATR untuk meningkatkan tingkat kemenangan dan pengembalian perdagangan melalui analisis pasar multi-dimensi. Logika inti menggunakan lintas EMA jangka pendek dan jangka panjang untuk mengkonfirmasi arah tren, sementara memanfaatkan indikator RSI untuk menyaring pecah palsu dan ATR untuk menyesuaikan periode penahan secara dinamis untuk menangkap tren yang tepat.
Strategi ini menggunakan EMA 20 hari dan 50 hari sebagai dasar utama untuk penentuan tren. Sebuah uptrend dikonfirmasi ketika EMA jangka pendek melintasi di atas EMA jangka panjang, dan sebaliknya. Berdasarkan konfirmasi tren, indikator RSI diperkenalkan untuk penilaian overbought/oversold, memicu sinyal panjang ketika RSI turun di bawah 30 di wilayah oversold selama uptrends, dan sinyal pendek ketika RSI naik di atas 70 di wilayah overbought selama downtrends. Indikator ATR mengukur volatilitas pasar, mengeksekusi perdagangan hanya ketika ATR melebihi ambang batas yang ditetapkan untuk menghindari perdagangan di lingkungan volatilitas rendah.
Strategi ini membangun sistem perdagangan yang relatif lengkap melalui analisis komprehensif tren EMA, kondisi overbought / oversold RSI, dan volatilitas ATR. Keuntungannya utama terletak pada penanda silang beberapa indikator, secara efektif mengurangi dampak sinyal palsu. Melalui optimasi parameter dan perbaikan mekanisme kontrol risiko, strategi ini masih memiliki potensi optimasi yang signifikan. Pedagang disarankan untuk menyesuaikan parameter sesuai dengan lingkungan pasar tertentu dan menerapkan langkah-langkah kontrol risiko secara ketat saat digunakan dalam perdagangan langsung.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("High Win Rate BTC Strategy", overlay=true) // 参数设置 emaShortLength = input(20, title="Short EMA Length") emaLongLength = input(50, title="Long EMA Length") rsiLength = input(14, title="RSI Length") rsiOverbought = input(70, title="RSI Overbought Level") rsiOversold = input(30, title="RSI Oversold Level") atrLength = input(14, title="ATR Length") atrThreshold = input(1.0, title="ATR Threshold") holdBars = input(5, title="Hold Bars") // 计算指标 emaShort = ta.ema(close, emaShortLength) emaLong = ta.ema(close, emaLongLength) rsi = ta.rsi(close, rsiLength) atr = ta.atr(atrLength) // 趋势确认 uptrend = emaShort > emaLong downtrend = emaShort < emaLong // 入场条件 longCondition = uptrend and close > emaShort and rsi < rsiOverbought and atr > atrThreshold shortCondition = downtrend and close < emaShort and rsi > rsiOversold and atr > atrThreshold // 出场条件 var int holdCount = 0 if (strategy.position_size > 0 or strategy.position_size < 0) holdCount := holdCount + 1 else holdCount := 0 exitCondition = holdCount >= holdBars // 执行交易 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (exitCondition) strategy.close_all() // 绘制指标 plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA") hline(rsiOverbought, "RSI Overbought", color=color.red) hline(rsiOversold, "RSI Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI")