Chiến lược giao dịch CMARSI là một chiến lược theo dõi xu hướng kết hợp chỉ số RSI và đường trung bình. Nó sử dụng chỉ số RSI đã được cải thiện để xác định xu hướng và sử dụng đường trung bình làm tín hiệu xác định nhập cảnh và thoát ra. Chiến lược này phù hợp với giao dịch đường dài và trung bình, để có được lợi nhuận tốt hơn bằng cách theo dõi xu hướng.
Chiến lược CMARSI sử dụng chỉ số RSI được cải tiến, được gọi là Connors RSI. RSI của Connors kết hợp ba chỉ số RSI cổ điển, RSI đường trung bình không gian và ROC. Công thức tính toán của nó là:
Connors RSI = (RSI + đường trung bình RSI + phần trăm ROC) / 3
Trong đó, RSI sử dụng chu kỳ tính toán 3 ngày, đường trung bình không gian RSI sử dụng chu kỳ tính toán 2 ngày và phần trăm ROC sử dụng chu kỳ tính toán 100 ngày.
Điểm mạnh của Connors RSI là tổng hợp nhiều chỉ số, có thể xác định chính xác hơn sự thay đổi của xu hướng.
Chiến lược CMARSI dựa trên RSI của Connor, thêm vào yếu tố đường trung bình. Chiến lược này tính toán đường trung bình 2 ngày và sử dụng RSI của Connor và đường trung bình của Gold Fork Dead Fork làm tín hiệu giao dịch. Quy tắc giao dịch cụ thể là:
Connors đã có thêm một lần vào sân khi vượt qua đường 40 trên RSI và đường trung bình 2 ngày trên Gold Forks.
Khi Connors RSI vượt qua 70 và chết 2 đường trung bình hàng ngày, Bình Long rời khỏi sân.
Bằng cách sử dụng các đợt sóng bằng phẳng, bạn có thể tránh một số tín hiệu giả xuất hiện trong RSI của Connor, do đó tăng sự ổn định của chiến lược.
Ưu điểm lớn nhất của chiến lược CMARSI là tổng hợp nhiều chỉ số để xác định xu hướng, tránh những hạn chế của chỉ số RSI đơn lẻ. Cụ thể, chiến lược này có một số lợi thế sau:
Connors RSI có tính ổn định hơn so với chỉ số RSI cổ điển, có thể xác định chính xác các điểm chuyển hướng.
Việc đưa ra một đường trung bình có hiệu quả trong việc lọc một số tiếng ồn, tránh việc theo đuổi cao và hạ.
Một sự kết hợp đa chỉ số có thể giúp tăng tỷ lệ thắng và kiếm tiền bằng cách theo xu hướng.
Các quy tắc giao dịch đơn giản, rõ ràng và dễ thực hiện.
Một chiến lược theo xu hướng, có thể nắm bắt đầy đủ lợi nhuận từ xu hướng đường dài và đường trung.
Rủi ro chính của chiến lược CMARSI đến từ sự hiểu lầm về xu hướng và thiết lập vị trí dừng lỗ. Rủi ro cụ thể là:
Chỉ số Connors RSI phát ra tín hiệu sai, dẫn đến nhập cảnh không cần thiết. Bạn có thể điều chỉnh tham số thích hợp, hoặc thêm xác nhận cho chỉ số autres.
Đặt điểm dừng là không hợp lý, có thể dừng quá sớm hoặc dừng quá lớn. Đặt điểm dừng nên được tối ưu hóa cho các giống và môi trường thị trường khác nhau.
Trong trường hợp xung đột, việc lọc đường trung bình có thể không hiệu quả, nên các tham số chiến lược được tối ưu hóa.
Hoạt động lâu dài có thể dẫn đến quá tối ưu hóa, nên được đánh giá thường xuyên và điều chỉnh các tham số theo môi trường thị trường.
Các chiến lược CMARSI có thể được tối ưu hóa từ các khía cạnh sau:
Tối ưu hóa các tham số của Connor RSI cho các chu kỳ và giống khác nhau.
Thử các loại đường trung bình khác nhau để cải thiện hiệu quả lọc.
Thêm các chỉ số khác, như MACD, Bollinger Bands, để xác nhận tín hiệu giao dịch.
Tối ưu hóa chiến lược dừng lỗ, thiết lập dừng di chuyển hoặc dừng chênh lệch hợp lý.
Lựa chọn các loại thương mại để chiến lược phù hợp hơn với một loại cụ thể.
Sử dụng phương pháp Walk Forward Analysis để tối ưu hóa các tham số thường xuyên, tránh quá tối ưu hóa.
Chiến lược CMARSI sử dụng kết hợp các chỉ số RSI và đường trung bình của Connor để giao dịch đường dài và trung bình bằng cách theo xu hướng. Chiến lược này ổn định, dễ thực hiện, có thể theo dõi xu hướng một cách hiệu quả. Chúng ta nên liên tục tối ưu hóa các tham số chiến lược cho môi trường thị trường và quản lý rủi ro, sau đó có thể nhận được lợi nhuận tốt hơn.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1
updown(s) =>
isEqual = s == s[1]
isGrowing = s > s[1]
ud = 0.0
ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1)
ud
rsi = rsi(src, lenrsi)
updownrsi = rsi(updown(src), lenupdown)
percentrank = percentrank(roc(src, 1), lenroc)
crsi = avg(rsi, updownrsi, percentrank)
MA = sma(crsi, malengt)
band1 = 70
band0 = 40
ColorMA = MA>=band0 ? lime : red
p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA)
p2 = plot(low, title="idk", style=line, linewidth=2, color=blue)
p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange)
//@version=2
strategy("CMARSI")
if crossover(MA,band0)
strategy.entry("buy", strategy.long, when=strategy.position_size <= 0)
if crossunder(MA,band1)
strategy.exit("sell", "buy", profit=1000000, stop=10000000)
plot(strategy.equity)