
Chiến lược này là hệ thống giao dịch theo dõi xu hướng dựa trên nhiều chỉ báo kỹ thuật. Nó kết hợp xu hướng trung bình động, RSI mua quá mức và bán quá mức, và các chỉ báo biến động ATR để cải thiện tỷ lệ thành công và lợi nhuận của các giao dịch thông qua phân tích thị trường đa chiều. Logic cốt lõi của chiến lược này là xác nhận hướng xu hướng thông qua sự giao nhau của các đường EMA ngắn hạn và dài hạn, sử dụng chỉ báo RSI để lọc ra các đột phá sai và cuối cùng kết hợp ATR để điều chỉnh thời gian nắm giữ một cách linh hoạt nhằm nắm bắt chính xác. xu hướng.
Chiến lược này sử dụng đường trung bình động EMA 20 ngày và 50 ngày làm cơ sở chính để đánh giá xu hướng. Khi đường EMA ngắn hạn cắt lên trên đường EMA dài hạn, xu hướng tăng được xác nhận; ngược lại, xu hướng giảm được xác nhận. Trên cơ sở xác nhận xu hướng, chỉ báo RSI được đưa vào để đánh giá tình trạng mua quá mức và bán quá mức. Khi RSI thấp hơn 30 và đi vào phạm vi bán quá mức và đang trong xu hướng tăng, tín hiệu mua dài hạn được kích hoạt; khi RSI cao hơn 70 và đi vào phạm vi mua quá mức và đang trong xu hướng giảm, tín hiệu mua sẽ được kích hoạt; Khi , tín hiệu bán sẽ được kích hoạt. Đồng thời, chỉ báo ATR được sử dụng để đo lường sự biến động của thị trường. Các giao dịch chỉ được thực hiện khi ATR lớn hơn ngưỡng đã đặt để tránh giao dịch trong môi trường thị trường có sự biến động quá thấp.
Chiến lược này xây dựng một hệ thống giao dịch tương đối hoàn chỉnh thông qua phân tích toàn diện ba chiều: xu hướng trung bình động, RSI mua quá mức và bán quá mức, và biến động ATR. Ưu điểm cốt lõi của chiến lược này nằm ở việc xác thực chéo nhiều chỉ số, có thể làm giảm hiệu quả tác động của các tín hiệu sai. Vẫn còn nhiều chỗ để tối ưu hóa chiến lược thông qua việc tối ưu hóa tham số và cải thiện cơ chế kiểm soát rủi ro. Khuyến cáo các nhà giao dịch nên điều chỉnh các thông số theo môi trường thị trường cụ thể và thực hiện nghiêm ngặt các biện pháp kiểm soát rủi ro khi sử dụng trong giao dịch thực tế.
/*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")