
Chiến lược này thực hiện hoạt động giảm hút bằng cách tính toán các chỉ số RSI nhanh và lọc các thực thể đường K để xác định thị trường có đang bán quá mức hay không. Khi RSI nhanh thấp hơn 10 và các thực thể đường K được khuếch đại, cho rằng tín hiệu đảo ngược đã xuất hiện, điều này có thể được thực hiện để đánh giá đáy của thị trường.
Chiến lược này được đánh giá dựa trên hai yếu tố:
Chỉ số RSI nhanh. Xác định thị trường đang bị mua quá mức bằng cách tính các đợt tăng và giảm trong 2 ngày gần đây. Khi RSI nhanh thấp hơn 10, thị trường đang bị bán quá mức.
Bộ lọc thực thể K-line. Bằng cách tính tỷ lệ của khối lượng thực thể K-line với khối lượng đường trung bình, khi khối lượng thực thể lớn hơn 1,5 lần khối lượng đường trung bình, nó được coi là tín hiệu gốc xuất hiện.
Đầu tiên, RSI nhanh dưới 10 cho thấy thị trường đã bán quá mức; sau đó, thực thể K-line được phóng to, đáp ứng khối lượng thực thể lớn hơn 1,5 lần khối lượng đường trung bình. Khi cả hai điều kiện được đáp ứng cùng một lúc, nhiều tín hiệu được phát ra cho rằng thị trường đang ở đáy đảo ngược, điều này có thể lọc ra nhiều tín hiệu giả.
Chiến lược này có một số lợi thế:
Chiến lược này cũng có một số rủi ro:
Các phương pháp tối ưu hóa rủi ro bao gồm:
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Chiến lược này thực hiện phán đoán hiệu quả về đáy thị trường bằng cách đánh giá oversold với chỉ số RSI nhanh và lọc thực thể K. Ý tưởng chiến lược đơn giản, dễ thực hiện và có thể lấy cơ hội đảo ngược. Tuy nhiên, cũng có một số rủi ro cần được tối ưu hóa hơn nữa để cải thiện sự ổn định và hiệu suất của thị trường thực.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MarketBottom", shorttitle = "MarketBottom", overlay = true)
//Fast RSI
src = close
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//Body Filter
body = abs(close - open)
abody = sma(body, 10)
mac = sma(close, 10)
len = abs(close - mac)
sma = sma(len, 100)
max = max(open, close)
min = min(open, close)
up = close < open and len > sma * 2 and min < min[1] and fastrsi < 10 and body > abody * 1.5
plotarrow(up == 1 ? 1 : na, colorup = blue, colordown = blue)
sell = sma(close, 5)
exit = high > sell and close > open and body > abody
plot(sell)
if up
strategy.entry("Long", strategy.long)
if exit
strategy.close_all()