Chiến lược RSI nhiều khung thời gian chéo

Tác giả:ChaoZhang, Ngày: 2023-09-28 16:12:25
Tags:

Tổng quan

Chiến lược này là một chiến lược RSI không thay đổi nhiều khung thời gian chỉ kéo dài khi hai khung thời gian cao hơn được bán quá mức. Tôi đã viết nó trên BTC / USD 1 phút, nhưng logic cũng nên hoạt động trên các tài sản khác. Nó được thiết kế để có lợi nhuận khi tài sản đang trong xu hướng giảm.

Nguyên tắc

Lớp diagonal đề cập đến các điều kiện vào và ra trải rộng trên các khung thời gian khác nhau. Thông thường, các chỉ số có thể trở nên không có lợi vì trong xu hướng giảm, các khu vực mua quá mức của khung thời gian hiện tại không đạt được. Thay vào đó, các khu vực mua quá mức của các khung thời gian cao hơn được đạt được trước tiên, sau đó là pullback. Các chiến lược lớp ngang giảm thiểu điều này bằng cách bán theo đường chéo, tức là bán khi khung thời gian nhanh hơn đạt đến quá mức mua và mua khi khung thời gian chậm hơn đạt đến quá mức bán.

Vì vậy, chiến lược này được phân tầng theo đường chéo. Tôi có thể tạo một kịch bản riêng biệt chuyển đổi giữa đường chéo lên và đường chéo xuống dựa trên xu hướng tổng thể, vì trong thời gian xu hướng tăng kéo dài chỉ số này có thể không nhấp nháy thường xuyên. Điều này có thể được hình dung trên biểu đồ chuỗi thời gian x khung thời gian dưới dạng hình dạng X. Một cái gì đó để xem xét...

Ưu điểm

  • Sử dụng các chỉ số RSI trên nhiều khung thời gian, cải thiện độ tin cậy tín hiệu
  • Lớp chéo cung cấp nhiều cơ hội hơn trong xu hướng giảm
  • Chỉ số không sơn lại cho tín hiệu đáng tin cậy
  • Các thông số RSI có thể cấu hình và mức mua quá mức / bán quá mức thích nghi với các thị trường khác nhau
  • Xem xét chi phí giao dịch, mục tiêu lợi nhuận ổn định so với giao dịch tần số cao

Rủi ro và giải pháp

  • RSI dễ bị tín hiệu sai, điều chỉnh các tham số hoặc thêm bộ lọc
  • Lớp chéo tăng khó khăn nhập cảnh, giảm khung thời gian lớp
  • Chỉ mua dài, tiếp xúc với rủi ro theo hướng, xem xét cân bằng dài / ngắn
  • Sử dụng stop loss cố định để kiểm soát lỗ cho mỗi giao dịch

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

  • Thêm phát hiện xu hướng, sử dụng phân lớp chéo trong xu hướng giảm, chéo lên trong xu hướng tăng
  • Tối ưu hóa các thông số RSI để tìm kết hợp tốt nhất
  • Thêm bộ lọc âm lượng, MA vv để cải thiện chất lượng tín hiệu
  • Thêm chiến lược ngắn để chiến lược có thể lợi nhuận trong tất cả các thị trường
  • Tối ưu hóa stop loss để giảm rút tiền

Tóm lại

Nhìn chung, đây là một chiến lược giao dịch xu hướng giảm rất hiệu quả. Sử dụng nhiều khung thời gian RSI và lớp chéo cung cấp cơ hội để bắt được sự bật trong xu hướng giảm. Không tái sơn cũng cải thiện độ tin cậy tín hiệu. Với tối ưu hóa tham số, thêm bộ lọc và chiến lược ngắn, nó có thể trở thành một chiến lược mạnh mẽ cho bất kỳ thị trường nào.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-06-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin

//@version=5
strategy("MTF Layered RSI - Bitcoin Bot [wbburgin]",overlay=false, pyramiding = 20, initial_capital=10000)

length = input.int(7,"RSI Length")
tf2 = input.timeframe("3",title="HT 1")
tf3 = input.timeframe("5",title="HT 2")
ob = input.int(80,"Overbought Level")
os = input.int(20,"Oversold Level")

rsi = ta.rsi(close,length)
rsi2 = request.security(syminfo.tickerid, tf2, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)
rsi3 = request.security(syminfo.tickerid, tf3, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)

plot(rsi,color=color.yellow,title="RSI Current TF")
plot(rsi2,color=color.new(color.yellow,50),title="RSI HT1")
plot(rsi3,color=color.new(color.yellow,75),title="RSI HT2")

lm=hline(os,title="Oversold")
hm=hline(ob,title="Overbought")

fill(hm,lm,color=color.new(color.blue,95))

htCross = (ta.crossover(rsi2,os) and rsi3>os and rsi>os) or (ta.crossover(rsi3,os) and rsi2>os and rsi>os)
buySig = (ta.crossover(rsi,os) and rsi2 < os and rsi3 < os) or htCross
sellSig = ta.crossunder(rsi,ob)

if buySig
    strategy.entry("Long",strategy.long)
if sellSig
    strategy.close("Long")

plotshape(buySig,title="Buysig",style=shape.triangleup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(sellSig,title="Sellsig",style=shape.triangledown,location=location.top,color=color.red,size=size.tiny)

Thêm nữa