
Strategi ini ialah sistem perdagangan penjejakan arah aliran berdasarkan berbilang penunjuk teknikal Ia menggabungkan trend purata bergerak, RSI terlebih beli dan terlebih jual, dan petunjuk turun naik ATR untuk meningkatkan kadar kejayaan dan keuntungan urus niaga melalui analisis pasaran berbilang dimensi. Logik teras strategi adalah untuk mengesahkan arah aliran melalui persilangan EMA jangka pendek dan jangka panjang, menggunakan penunjuk RSI untuk menapis penemuan palsu, dan akhirnya menggabungkan ATR untuk melaraskan masa penahanan secara dinamik untuk mencapai pemahaman yang tepat tentang trend.
Strategi ini menggunakan purata bergerak EMA 20 hari dan 50 hari sebagai asas utama untuk pertimbangan arah aliran. Apabila EMA jangka pendek melintasi EMA jangka panjang, aliran menaik disahkan jika tidak, aliran menurun disahkan. Berdasarkan pengesahan arah aliran, penunjuk RSI diperkenalkan untuk menilai terlebih beli dan terlebih jual Apabila RSI lebih rendah daripada 30 dan memasuki julat terlebih jual dan berada dalam arah aliran menaik, isyarat panjang dicetuskan apabila RSI lebih tinggi daripada 70 dan memasuki julat terlebih beli dan berada dalam arah aliran menurun, isyarat panjang dicetuskan Apabila , isyarat pendek dicetuskan. Pada masa yang sama, penunjuk ATR digunakan untuk mengukur kemeruapan pasaran Transaksi hanya dilaksanakan apabila ATR lebih besar daripada ambang yang ditetapkan untuk mengelakkan dagangan dalam persekitaran pasaran dengan turun naik yang terlalu rendah.
Strategi ini membina sistem dagangan yang agak lengkap melalui analisis komprehensif tiga dimensi: arah aliran purata bergerak, RSI terlebih beli dan terlebih jual, dan turun naik ATR. Kelebihan teras strategi terletak pada pengesahan silang berbilang penunjuk, yang boleh mengurangkan kesan isyarat palsu dengan berkesan. Masih terdapat banyak ruang untuk pengoptimuman strategi melalui pengoptimuman parameter dan penambahbaikan mekanisme kawalan risiko. Adalah disyorkan bahawa pedagang melaraskan parameter mengikut persekitaran pasaran tertentu dan melaksanakan langkah kawalan risiko dengan tegas apabila menggunakannya dalam perdagangan sebenar.
/*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")