
Chiến lược này kết hợp các giá trị cực đoan của chỉ số RSI và lọc đường trung bình Simple Moving Average (SMA) để theo dõi xu hướng. Khi RSI đạt đến các giá trị cực đoan để mua quá mức hoặc bán quá mức, hãy đánh giá hướng của đường trung bình SMA để đánh giá hướng đi. Chiến lược này áp dụng cho chỉ số chứng khoán Mỹ, chỉ số châu Âu, chỉ số châu Á và vàng trắng bạc, thông qua các quy tắc đánh giá đơn giản của RSI và SMA, để nắm bắt xu hướng.
Chiến lược này sử dụng RSI để xác định thời gian nhập vào và kết hợp với bộ lọc xu hướng của SMA để nắm bắt xu hướng hiệu quả. Các cực điểm của RSI cho thấy giá có thể đảo ngược, trong khi phán đoán hướng của SMA đảm bảo hướng giao dịch phù hợp với xu hướng.
So với sử dụng chỉ số RSI đơn lẻ, chiến lược này tăng khả năng phán đoán xu hướng của SMA, tránh làm nhiều việc làm trắng một cách mù quáng. So với sử dụng hệ thống SMA đơn lẻ, chiến lược này dựa trên hướng SMA, sử dụng giá trị cực đoan RSI để tham gia, tăng hiệu quả khi chọn. Nói chung, chiến lược này kết hợp cả hai ưu điểm và là một chiến lược theo dõi xu hướng rất thực tế.
Khi đường SMA trung bình tạo ra một cái chết, có nguy cơ đảo ngược xu hướng. Giải pháp là rút ngắn chu kỳ SMA một cách thích hợp và tăng độ nhạy cảm với sự thay đổi xu hướng.
RSI có nguy cơ mất cơ hội giao dịch khi nó bị lệch. Giải pháp là kết hợp các chỉ số khác như MACD để phán đoán và ngăn chặn sự lệch.
Trong tình huống sốc, cả RSI và SMA có thể tạo ra tín hiệu sai. Giải pháp là tạm dừng giao dịch chiến lược sau khi thị trường sốc được phát hiện.
Thiết lập tham số không đúng cách có thể dẫn đến giao dịch quá mức hoặc bán tháo. Giải pháp là tối ưu hóa tham số, tìm kiếm sự kết hợp tham số tốt nhất.
Một thử nghiệm trên một giống không đủ để đánh giá hiệu quả của chiến lược, cần phải kiểm tra lại nhiều giống.
Phản hồi không giống như thị trường chứng khoán, trong đó cần kiểm soát quản lý vốn và quản lý rủi ro.
Tối ưu hóa các tham số RSI, tìm các tham số chu kỳ RSI tốt nhất cho các giống khác nhau.
Tối ưu hóa tham số chu kỳ SMA, tích hợp nhiều nhóm SMA trung bình.
Tăng cơ chế ngăn chặn thiệt hại và tăng khả năng kiểm soát rủi ro
Thêm một số chỉ số khác để xác thực đa yếu tố.
Trong khi đó, các cầu thủ khác cũng có thể tham gia các trận đấu khác.
Phát triển các tham số thích ứng với hệ thống, thực hiện tối ưu hóa tham số động.
Kiểm tra các phương thức quản lý tài chính khác nhau để tìm ra cách quản lý tài chính tốt nhất.
Tạo bộ chiến lược giao dịch theo các điều kiện thị trường khác nhau, thực hiện chiến lược tích hợp.
Chiến lược RSI cực đoan và chiến lược lọc SMA, tập hợp hai chiều dài, theo dõi xu hướng thông qua phán đoán chỉ số đơn giản. Ý tưởng chiến lược rõ ràng, dễ hiểu, thiết lập tham số hợp lý, có thể áp dụng rộng rãi cho nhiều loại. So với chiến lược RSI và SMA đơn lẻ, chiến lược này làm tăng đáng kể hiệu quả và chiến thắng.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef
//@version=5
strategy('Relative Strength Index Extremes with 200-Day Moving Average Filte', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=36000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01)
// Rsi
rsi_lenght = input.int(14, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)
//Sma
Length1 = input.int(200, title=' SMA Lenght', minval=1)
SMA1 = ta.sma(close, Length1)
//Strategy Logic
Long = rsi_value < 45 and close > SMA1
Long_exit = rsi_value > 75 and close > SMA1
Short = rsi_value > 65 and close < SMA1
Short_exit = rsi_value < 25 and close < SMA1
if Long
strategy.entry('Long', strategy.long)
if Short
strategy.entry('Short', strategy.short)
strategy.close_all(Long_exit or Short_exit)
pera(pcnt) =>
strategy.position_size != 0 ? math.round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss = input.float(title=' stop loss', defval=5, minval=0.5)
los = pera(stoploss)
strategy.exit('SL', loss=los)
//by wielkieef