Chiến lược OB/OS RSI chậm

Tác giả:ChaoZhang, Ngày: 2023-12-28 18:07:48
Tags:

img

Tổng quan

Chiến lược OB / OS RSI chậm mở ra các cơ hội giao dịch mới bằng cách kéo dài thời gian xem lại của RSI để giảm biến động của đường cong RSI. Chiến lược này cũng áp dụng cho các chỉ số kỹ thuật khác như MACD.

Chiến lược logic

Ý tưởng cốt lõi của chiến lược này là mở rộng thời gian xem lại của RSI đến 500 thanh theo mặc định và sau đó làm mịn đường cong RSI với SMA 250 thanh. Điều này có thể làm giảm đáng kể sự biến động của RSI và làm chậm tốc độ phản ứng của nó, do đó tạo ra các tín hiệu giao dịch mới.

Thời gian nhìn lại kéo dài làm suy yếu sự biến động của chỉ số RSI, vì vậy các tiêu chí cho mức mua quá mức và bán quá mức cũng cần phải được điều chỉnh. Chiến lược đặt đường mua quá mức tùy chỉnh ở 52 và đường bán quá mức ở 48.

Ưu điểm

  1. Rất sáng tạo bằng cách khám phá các ý tưởng giao dịch mới trong thời gian dài
  2. Giảm đáng kể tín hiệu sai và cải thiện sự ổn định
  3. Các ngưỡng OB/OS có thể tùy chỉnh thích nghi với các thị trường khác nhau
  4. Cho phép hình thành kim tự tháp để cải thiện lợi nhuận

Rủi ro

  1. Không có cơ hội ngắn hạn do thời gian dài
  2. Cần kiên nhẫn chờ tín hiệu giao dịch
  3. Các thiết lập ngưỡng OB/OS không chính xác có thể làm tăng tổn thất
  4. Nguy cơ bị mắc kẹt

Giải pháp:

  1. Giảm thời gian phù hợp để tăng tần suất giao dịch
  2. Tham gia các vị trí một phần để đa dạng hóa rủi ro
  3. Tối ưu hóa các tham số để thích nghi với các điều kiện thị trường thay đổi
  4. Thiết lập dừng lỗ để tránh tổn thất lớn

Hướng dẫn tối ưu hóa

  1. Tối ưu hóa các thông số RSI để tìm kết hợp thời gian tốt nhất
  2. Kiểm tra các khoảng thời gian làm mịn SMA khác nhau
  3. Tối ưu hóa các thông số OB / OS để phù hợp với các thị trường khác nhau
  4. Thêm các chiến lược dừng lỗ để kiểm soát lỗ đơn

Kết luận

Chiến lược OB / OS RSI chậm đã khám phá thành công các ý tưởng giao dịch mới bằng cách kéo dài thời gian và sử dụng SMA để ngăn chặn biến động. Với điều chỉnh tham số và kiểm soát rủi ro thích hợp, chiến lược có tiềm năng đạt được lợi nhuận vượt quá ổn định và có lợi nhuận.


/*backtest
start: 2023-12-20 00:00:00
end: 2023-12-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// Wilder was a very influential man when it comes to TA. However, I'm one to always try to think outside the box. 
// While Wilder recommended that the RSI be used only with a 14 bar lookback period, I on the other hand think there is a lot to learn from RSI if one simply slows down the lookback period 
// Same applies for MACD.
// Every market has its dynmaics. So don't narrow your mind by thinking my source code input levels are the only levels that work.
// Since the long lookback period weakens the plot volatility, again, one must think outside the box when trying to guage overbought and oversold levels. 

// Good luck and don't bash me if some off-the-wall FA spurned divergence causes you to lose money.
// And NO this doesn't repaint and I won't answer those who ask. 
//@version=4

strategy("SLOW RSI OB/OS Strategy", overlay=false)
price = input(ohlc4, title="Price Source")
len = input(500, minval=1, step=5,  title="RSI Length")
smoother = input(250, minval=1, step=5, title="RSI SMA")
up = rma(max(change(price), 0), len)
down = rma(-min(change(price), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
EmaRSI = ema(rsi,smoother)
plot(EmaRSI, title="EmaRSI", style=line, linewidth=1, color=yellow)


OB = input(52, step=0.1)
OS = input(48, step=0.1)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)


long = change(EmaRSI) > 0 and EmaRSI <= 50 and crossover(EmaRSI, OS)
short = change(EmaRSI) < 0 and EmaRSI >= 50 and crossunder(EmaRSI, OB)


strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)

// If you want to try to play with exits you can activate these!

//closelong = crossunder(EmaRSI, 0) //or crossunder(EmaRSI, OS)
//closeshort = crossover(EmaRSI, 0) //or crossover(EmaRSI, OB)

//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)




Thêm nữa