Chiến lược kết hợp RSI-CCI tạo thành một chiến lược giao dịch mạnh mẽ bằng cách kết hợp các lợi thế của cả hai chỉ số RSI và CCI. Nó có thể nắm bắt cả động lực và biến đổi theo chu kỳ để đưa ra phán đoán toàn diện hơn về tình hình thị trường.
Tính toán RSI và CCI
Sử dụng z-score để tiêu chuẩn hóa các giá trị RSI và CCI, làm cho chúng có thể so sánh được hơn.
RSI và CCI được hợp nhất sau khi được tiêu chuẩn hóa theo trọng số nhất định.
Tính năng tính toán trên và dưới đường ray, nhận diện tình trạng quá mua quá bán.
Khi đi trên đường ray dưới chỉ số kết hợp, hãy cân nhắc làm trống; khi đi trên đường ray dưới chỉ số kết hợp, hãy cân nhắc làm nhiều hơn.
So với việc sử dụng RSI hoặc CCI một mình, chiến lược này có những lợi thế sau:
Kết hợp lợi thế của hai chỉ số để tăng độ chính xác của phán đoán.
Động lực trên và dưới đường ray thiết lập khoa học hơn và hợp lý hơn, giảm sai lầm.
Tiêu chuẩn hóa xử lý cho phép các chỉ số khác nhau có thể so sánh, tăng hiệu quả kết hợp.
Có thể đánh giá cả xu hướng và tình trạng quá mua quá bán.
Chiến lược này cũng có một số rủi ro:
Các tham số được đặt không chính xác, có thể bỏ lỡ thời điểm giao dịch quan trọng.
Nếu trọng lượng không đúng, nó sẽ làm suy yếu hiệu quả của một chỉ số.
Nếu bạn bỏ qua hướng đi của xu hướng, bạn có thể sẽ bị giao dịch ngược.
Đường ray trên và dưới được thiết lập quá mỏng hoặc quá dày đặc, có nguy cơ bị sai lệch.
Có thể tối ưu hóa từ những điểm sau:
Kiểm tra các tham số khác nhau để tìm ra tham số tối ưu.
Tối ưu hóa trọng số theo thị trường.
Kết hợp các chỉ số xu hướng và giá cả để tăng độ chính xác.
Thiết lập Stop Loss Stop và kiểm soát rủi ro.
Tối ưu hóa các tham số trên và xuống đường ray, cân bằng độ nhạy và tiếng ồn.
Chiến lược kết hợp RSI-CCI sử dụng phương pháp kết hợp các chỉ số để nâng cao khả năng phán đoán, hiệu quả tổng thể tốt hơn so với chiến lược chỉ số duy nhất khi đặt các tham số khoa học và kiểm soát rủi ro. Tuy nhiên, cần lưu ý rằng các chương trình điều chỉnh theo thị trường.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © Julien_Eche
//@version=5
// strategy("RSI-CCI Fusion Strategy", shorttitle="RSI-CCI Fusion Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
length = input(14, title="Length")
rsi_weight = input.float(0.5, title="RSI Weight", minval=0.0, maxval=1.0)
cci_weight = 1.0 - rsi_weight
enableShort = input(false, "Enable Short Positions")
src = close
rsi = ta.rsi(src, length)
cci = ta.cci(src, length)
// Standardize the RSI and CCI values using z-score
rsi_std = ta.stdev(rsi, length)
rsi_mean = ta.sma(rsi, length)
rsi_z = (rsi - rsi_mean) / rsi_std
cci_std = ta.stdev(cci, length)
cci_mean = ta.sma(cci, length)
cci_z = (cci - cci_mean) / cci_std
// Combine the standardized RSI and CCI
combined_z = rsi_weight * rsi_z + cci_weight * cci_z
// Rescale to the original scale
rescaled = combined_z * ta.stdev(combined_z, length) + ta.sma(combined_z, length)
// Calculate dynamic upper and lower bands
upper_band = ta.sma(rescaled, length) + ta.stdev(rescaled, length)
lower_band = ta.sma(rescaled, length) - ta.stdev(rescaled, length)
// Buy and sell conditions
buySignal = ta.crossover(rescaled, lower_band)
sellSignal = ta.crossunder(rescaled, upper_band)
// Enter long position
if buySignal
strategy.entry("Buy", strategy.long)
// Exit long position
if sellSignal
strategy.close("Buy")
// Enter short position if enabled
if enableShort and sellSignal
strategy.entry("Sell", strategy.short)
// Exit short position if enabled
if enableShort and buySignal
strategy.close("Sell")