Chiến lược theo dõi đảo ngược dựa trên các chỉ số đảo ngược giá trị giá của đường dừng lỗ và giá trị tương đối mạnh của chỉ số chỉ số, tạo ra tín hiệu giao dịch bằng cách nhận ra sự phá vỡ của giá. Khi giá phá vỡ đường xu hướng lên hoặc xuống, chiến lược này sẽ phát ra tín hiệu giao dịch và thực hiện một vị trí ngược lại. Điều này có thể nắm bắt cơ hội biến đổi giá.
Chiến lược này sử dụng hai chỉ số kỹ thuật:
Parabolic SAR: Chỉ số này vẽ một đường parabolic, làm đường dừng động. Khi giá vượt qua đường này, vị trí và hướng của đường dừng sẽ được đặt lại, tạo ra tín hiệu mua hoặc bán.
Chỉ số sức mạnh tương đối (RSI): Chỉ số này phản ánh tốc độ và sự thay đổi của giá giảm trong một khoảng thời gian. Khi RSI cao hơn đường mua quá mức, nó là vùng mua quá mức, và khi nó thấp hơn vùng bán quá mức, nó là vùng bán quá mức.
Cụ thể hơn, chiến lược này bắt đầu bằng các giá trị ban đầu, bước dài và giá trị tối đa của sự đảo ngược lỗ hổng parallax được thiết lập dựa trên đầu vào của người dùng. Sau đó đánh giá thời gian mua và bán dựa trên việc giá có phá vỡ parallax hay không:
Trong khi đó, chiến lược cũng sẽ theo dõi chỉ số RSI để xác định xem có nằm trong khu vực mua bán quá mức hay không. Khi RSI đi vào khu vực mua bán quá mức, nó sẽ xóa các vị trí nhiều đầu; Khi RSI đi vào khu vực bán quá mức, nó sẽ xóa các vị trí trống.
Giao thức tổng hợp của tín hiệu đảo ngược đường parabola và tín hiệu lọc RSI, chiến lược này có thể thực hiện các hoạt động ngược lại kịp thời khi giá đảo ngược, nhằm mục đích mua thấp và bán cao.
Chiến lược theo dõi ngược có những lợi thế chính như sau:
Capture Price Reversal - Sử dụng đột phá để tạo ra tín hiệu đảo ngược, có thể thực hiện hành động ngược lại kịp thời khi giá biến đổi, để nắm bắt cơ hội đảo ngược.
Dynamic Stop Loss - đường parabola hoạt động như một lệnh dừng di động, có thể điều chỉnh vị trí dừng lỗ theo động thái giá trong thời gian thực, để bảo vệ lợi nhuận.
Khả năng thích ứng - Các tham số chiến lược có thể được điều chỉnh, áp dụng cho các môi trường thị trường khác nhau, có khả năng thích ứng.
RSI Filter - Chỉ số RSI có thể lọc các đợt phá vỡ giả, tránh bỏ lỡ các hoạt động phản ứng khi không đảo ngược.
Easy to Implement - Sử dụng chỉ số đơn giản, ít mã, dễ thực hiện và đo lường.
Chiến lược này cũng có những rủi ro sau:
Rủi ro Whipsaw - Nếu phá vỡ giả tạo dẫn đến đảo ngược dừng dẫn đến tín hiệu sai, sẽ tạo ra lỗ lặp lại.
Over Optimization - Tối ưu hóa các tham số chiến lược có thể bị mất hiệu quả khi quá phù hợp với dữ liệu.
Không có cơ sở cơ bản - Chỉ số kỹ thuật thuần túy, bỏ qua thông tin cơ bản.
Ignore Transaction Costs - Giao dịch lặp lại sẽ làm tăng chi phí giao dịch.
Subject to Price Gaps - Giá nhảy vọt có thể gây ra sai lệch dừng lỗ.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Combine with other indicators - kết hợp với các chỉ số khác để xác nhận tín hiệu phá vỡ, tránh phá vỡ giả.
Parameter tuning - Xét nghiệm tối ưu hóa các tham số chỉ số để tìm ra sự kết hợp tham số tốt nhất.
Position sizing - Điều chỉnh kích thước vị thế theo tình hình thị trường, kiểm soát rủi ro.
Trade only on significant levels - Chỉ giao dịch gần các vị trí hỗ trợ và kháng cự quan trọng, tránh quá thường xuyên.
Consider fundamentals - Thêm các yếu tố cơ bản để tránh đi ngược lại xu hướng lớn.
Chiến lược theo dõi đảo ngược tạo ra tín hiệu giao dịch thông qua các chỉ số đảo ngược và RSI của đường ngang để nắm bắt cơ hội đảo ngược tại các điểm biến đổi giá. Chiến lược này có thể điều chỉnh động lệnh dừng và nắm bắt lợi nhuận ngắn do phá vỡ. Nhưng cũng có nguy cơ theo dõi tiếng ồn.
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// strategy("SARSI",overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0675, initial_capital = 10000, currency = currency.USD, calc_on_order_fills = true, calc_on_every_tick = true)
//study("SARSI",overlay = true)
src = input(close, title="Source")
len = input(14, minval=1, title="Length")
rob = input(title="RSI Overbought Level", defval=82, minval=1, maxval=100)
ros = input(title="RSI Oversold Level", defval=21, minval=1, maxval=100)
start = input(title="SAR Start", defval=0.007, minval=0.001, maxval=10)
inc = input(title="SAR Increment", defval=0.017, minval=0.001, maxval=100)
max = input(title="SAR Maximum", defval=0.24, minval=0.01, maxval=10)
asar = sar(start,inc,max)
xrsi = rsi(close,len)
date = timestamp(2018, 8, 1, 00, 00)
up = crossunder(asar,src)
dn = crossover(asar,src)
//ob = crossunder(xrsi,rob)
//os = crossover(xrsi,ros)
strategy.entry("long", strategy.long, when=up and time>=date, comment="Long")
strategy.entry("short", strategy.short, when=dn and time>=date, comment="Short")
//strategy.close("long", when=ob)
//strategy.close("short", when=os)
alertcondition(up, "Long", "Long Msg")
alertcondition(dn, "Short", "Short Msg")
//uptrend=plotshape(up,"uptrend",shape.triangleup,color=#48A498,transp=0, size = size.tiny, location = location.belowbar,text="฿")
//downtrend=plotshape(dn,"downtrend",shape.triangledown,color=#E25655,transp=0, size = size.tiny, location = location.abovebar,text="$")
//plotshape(ob,"overbuy",shape.triangleup,color=#48A498,transp=0, size = size.small, location = location.belowbar,text="0฿")
//plotshape(os,"oversell",shape.triangledown,color=#E25655,transp=0, size = size.small, location = location.abovebar,text="0$")
plot(asar, style=cross, color=gray, transp=0, linewidth=1, title="SAR")