
Chiến lược này được phát triển dựa trên các chỉ số kênh siêu xu hướng. Nó kết hợp các hoạt động giá cả và hướng của kênh siêu xu hướng để đánh giá xu hướng và phát tín hiệu giao dịch khi chuyển hướng.
Khi giá vượt qua kênh siêu xu hướng, mua nhiều hơn; khi giá giảm xuống kênh siêu xu hướng, bán hết. Đồng thời, nó có cơ chế theo dõi xu hướng dừng lỗ.
Hành lang siêu xu hướng bao gồm đường lên và đường xuống. Bên trong đường là khu vực cân bằng, bên ngoài đường là khu vực xu hướng. Nó sử dụng phạm vi dao động thực tế trung bình nhân với một nhân số để xác định chiều rộng của đường.
Khi giá từ dưới phá vỡ đường dẫn lên, tín hiệu mua. Điều này có nghĩa là một xu hướng tăng mới bắt đầu. Khi giá từ trên phá vỡ đường dẫn xuống, tín hiệu bán. Điều này có nghĩa là một xu hướng giảm mới bắt đầu.
Chiến lược này sử dụng chỉ số kênh siêu xu hướng để xác định hướng của xu hướng chính. Khi hướng của kênh bị đảo ngược, tức là khi giá phá vỡ quỹ đạo kênh, nó phát ra tín hiệu giao dịch; và sau đó sử dụng phương thức theo dõi xu hướng để dừng lỗ và khóa lợi nhuận.
Đây là một chiến lược đột phá đơn giản và trực quan với những ưu điểm sau:
Sử dụng kênh siêu xu hướng để xác định xu hướng chính, tránh bị iB gây ra tiếng ồn
Vì vậy, theo quan hệ giữa giá cả và kênh, bạn có thể làm thêm thời gian trống.
Có cơ chế dừng lỗ rõ ràng, có thể kiểm soát rủi ro hiệu quả.
Phương pháp dừng lỗ là theo dõi xu hướng dừng lỗ, có thể khóa lợi nhuận tối đa.
Chiến lược này cũng có một số rủi ro, bao gồm:
Các tham số kênh siêu xu hướng được thiết lập không chính xác, có thể dẫn đến tín hiệu giả.
Tín hiệu phá vỡ có thể là tín hiệu đảo ngược ngắn hạn, do đó gây ra tổn thất.
Phương pháp dừng lỗ chỉ là theo dõi xu hướng, có thể dừng lỗ sớm.
Các biện pháp cải tiến tương ứng bao gồm:
Kiểm tra dữ liệu của các thị trường khác nhau, tối ưu hóa các tham số.
Kết hợp với các chỉ số khác để lọc tín hiệu.
Kết hợp với cấu trúc giá, đánh giá độ tin cậy của tín hiệu đột phá.
Tăng tổn thất hậu trường, kiểm soát rủi ro hơn nữa.
Chiến lược này nói chung là một chiến lược theo dõi xu hướng đơn giản và trực quan hơn. Nó sử dụng kênh siêu xu hướng để xác định rõ xu hướng, tạo tín hiệu khi kênh chuyển hướng; và sau đó sử dụng phương thức theo dõi xu hướng để chặn lợi nhuận.
So với các chỉ số khác, kênh siêu xu hướng có tính bao quát tốt hơn đối với biến động giá. Tuy nhiên, chiến lược này cũng có một số lợi nhuận, có thể được tối ưu hóa từ các khía cạnh như lọc tín hiệu và phương thức dừng lỗ để tăng cường sự ổn định hơn nữa.
/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Supertrend TEST Strategy", overlay = true, format=format.price, precision=2)
Periods = input(title="ATR Period", type=input.integer, defval=4)
src = input(hlc3, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=4.7)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
tp=close
sl=close
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green )
plotshape(buySignal and showsignals ? up : na, title="Лонг", text="Лонг", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white )
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red )
plotshape(sellSignal and showsignals ? dn : na, title="Шорт", text="Шорт", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white )
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
if (strategy.position_size > 0)
tp:=tp[1]
sl:=up
strategy.exit("Long_TP/SL","Long",limit=tp, stop=sl)
if (strategy.position_size < 0)
tp:=tp[1]
sl:=dn
strategy.exit("Short_TP/SL","Short",limit=tp, stop=sl)
if buySignal
tp:=close+(close-up)*0.382
strategy.entry("Long", strategy.long, limit=tp, comment=tostring(round(tp)))
if sellSignal
tp:=close-(dn-close)*0.382
strategy.entry("Short", strategy.short, limit=tp, comment=tostring(round(tp)))