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.
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
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)