
Chiến lược này dựa trên các chỉ số đường siêu xu hướng thiết kế các tín hiệu nhập và thoát, để tự động hóa số lượng giao dịch. Chỉ số đường siêu xu hướng có thể xác định rõ điểm phá vỡ và hỗ trợ mức kháng cự, giúp xác định hướng xu hướng. Chiến lược này kết hợp các lợi thế của chỉ số này, giao dịch hai chiều dài và ngắn.
Chiến lược này sử dụng ATR và Đường Đường Tăng Chiên để tính toán hai đường dừng dài. Cụ thể, tính toán giá trị ATR thông qua chu kỳ ATR và tham số nhân ATR, sau đó cộng với giá cao nhất và giá thấp nhất, để có được hai đường dừng dài.
Sau khi thực hiện thêm thời gian, nó sẽ cập nhật đường dừng để khóa lợi nhuận. Đường dừng mới sẽ không thấp hơn hoặc cao hơn giá trị trước đó, do đó tránh chặn bị phá vỡ. Khi có một mức cao hoặc thấp mới giữa đường dừng và đường dừng trước đó, cập nhật đường dừng đến giá mới nhất.
Ưu điểm lớn nhất của chiến lược này là chỉ số kênh siêu xu hướng có thể xác định rõ hướng xu hướng và mức kháng cự hỗ trợ quan trọng. Kết hợp với ATR dừng động, bạn có thể kiểm soát hiệu quả tổn thất đơn lẻ.
Cụ thể, hai đường dừng trong chỉ số kênh siêu xu hướng, một đại diện cho chi phí giữ vị trí và một đại diện cho mức hỗ trợ hoặc áp lực gần đây. Điều này cung cấp cơ sở rất rõ ràng cho các mục nhập và thoát ra. Đồng thời, đường dừng sẽ được cập nhật trong thời gian thực, có thể khóa lợi nhuận và tránh bị phá vỡ.
Nhìn chung, chiến lược này là một chiến lược giao dịch định lượng tương đối vững chắc, khi các mục nhập kịp thời sau khi xác định xu hướng, kiểm soát rủi ro bằng cách dừng lỗ động.
Rủi ro chính của chiến lược này là có thể xảy ra trường hợp phá vỡ đường dừng. Khi giá dao động mạnh, đường dừng mới có thể thấp hơn hoặc cao hơn giá trị trước đó, dẫn đến việc phá vỡ lệnh dừng và tăng tổn thất.
Ngoài ra, trong tình huống chấn động, tín hiệu Entries được tạo ra bởi chỉ số kênh siêu xu hướng không hiệu quả, dễ tạo ra giao dịch sai. Trong trường hợp này, cần can thiệp bằng tay để xác định xu hướng và sau đó khởi động chiến lược.
Chính sách này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa các tham số ATR và ATR để tìm ra sự kết hợp tốt nhất. Các tham số khác nhau có thể được phân tích bằng cách đo lại các tham số khác nhau, phân tích các chỉ số như lợi nhuận, tỷ lệ Sharpe.
Thêm các bộ lọc cho các chỉ số khác để tránh sai lầm trong các trường hợp biến động. Bạn có thể xem xét thêm các chỉ số như đường trung bình di chuyển, và Brinks để xác định xu hướng.
Chỉ số kết hợp có thể tối ưu hóa vị trí dừng lỗ. Dòng dừng lỗ có thể được điều chỉnh theo vị trí của khối lượng giao dịch tăng lên, tiếp tục khóa lợi nhuận.
Thêm mô hình học máy để tối ưu hóa các tham số thích ứng. Bạn có thể sử dụng các mô hình như RNN, LSTM để dự đoán giá trị tham số và thực hiện tối ưu hóa động của tham số.
Chiến lược này dựa trên thiết kế chỉ số siêu xu hướng, xác định rõ hướng xu hướng và có tỷ lệ thắng cao. Đồng thời, áp dụng ATR theo dõi động để kiểm soát tổn thất đơn lẻ. Có thể tăng cường hiệu quả chiến lược thông qua các phương tiện tối ưu hóa tham số, tối ưu hóa chỉ số.
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//EU ESCREVI ISSO TUDO, PARA FICAR BEM CLARO
strategy("SuperTrend Strategy", overlay=true)
//AQUI OS INPUTS PARA A SUPERTREND
length = input(title="ATR Period", type=input.integer, defval=7)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=7)
showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true)
//AQUI O CALCULO DO ATR STOPS
atr = mult * atr(length)
//AQUI A TRANSFORMAÇÃO DO ATR STOPS EM SUPERTREND
//-
//A LÓGICA PARA LONGSTOP
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
//A LÓGICA PARA SELLSTOP
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
//DIREÇÃO DO INDICADOR
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 :
dir == 1 and close < longStopPrev ? -1 : dir
//DEFININDO AS CORES DAS LINHAS DA SUPERTREND
longColor = color.lime
shortColor = color.red
//PLOTANDO NO GRÁFICO A SUPERTREND E A ESTRATÉGIA
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=3, color=longColor)
buySignal = dir == 1 and dir[1] == -1
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=3, color=shortColor)
sellSignal = dir == -1 and dir[1] == 1
//DEFININDO AS FUNÇÕES DE COMPRA E VENDA
strategy.entry("long", strategy.long, when = buySignal)
strategy.entry("short", strategy.short, when = sellSignal)