
Chiến lược này cho thấy điều gì sẽ xảy ra nếu bạn mù quáng theo chỉ số siêu xu hướng. Chúng tôi biết rằng chỉ số siêu xu hướng không xuất hiện ngay lập tức, chúng tôi cần chờ đợi cho đến khi dòng K tiếp theo để quyết định có vào vị trí hay không. Vì vậy, bạn có thể thấy điều gì sẽ xảy ra nếu bạn tham gia chỉ sau khi chỉ số siêu xu hướng cuối cùng được hình thành.
Chiến lược này sử dụng chỉ số siêu xu hướng để xác định xu hướng giá. Chỉ số siêu xu hướng được xây dựng dựa trên độ dài sóng thực trung bình và điểm trung bình giá cao thấp.
Khi giá đóng cửa cao hơn đường ray lên, đại diện cho tiếp tục tăng giá; khi giá đóng cửa thấp hơn đường ray xuống, đại diện cho tiếp tục giảm giá.
Chiến lược này đặt hai tham số Factor và Pd. Factor kiểm soát chiều rộng của kênh siêu xu hướng, Pd kiểm soát độ dài chu kỳ tính ATR. Dựa trên hai tham số này, có thể xây dựng đường ray lên và đường ray xuống.
Công thức trên đường ray: hl2 - (Factor * ATR ((Pd)) Công thức dưới đường ray: hl2 + (Factor * ATR ((Pd))
Trong đó, hl2 là điểm trung bình giá cao thấp.
Sau đó, so sánh giá đóng cửa hiện tại với đường đi lên xuống, để xác định liệu giá có tiếp tục tăng hay giảm, và xuất ra biến xu hướng kiểu Bull.
Hình vẽ đường ray lên xuống của siêu xu hướng theo xu hướng. Đặt tín hiệu vào và ra khi có sự thay đổi trong trạng thái xu hướng.
Logic mở lệnh theo chiến lược thiết lập tín hiệu.
Chiến lược này có những ưu điểm sau:
Các chỉ số siêu xu hướng được sử dụng để xác định rõ xu hướng giá và các điểm trung tâm.
Một số trường hợp có thể xảy ra khi bạn có thể sử dụng các phương tiện khác nhau để tạo ra một trò chơi.
Hình ảnh được đánh dấu bằng mũi tên vào thời gian chơi.
Lập luận của chiến lược rất đơn giản.
Chiến lược này có những rủi ro sau:
Theo dõi một cách mù quáng các chỉ số vượt quá xu hướng, không có các chỉ số hỗ trợ khác và quản lý hiệu quả, có thể dẫn đến một sự rút lui lớn.
Không có thiết lập dừng lỗ, không thể kiểm soát tổn thất đơn lẻ.
Tín hiệu có thể bị trì hoãn và không thể vào đúng thời gian gần điểm rẽ.
Thiết lập tham số không đúng có thể dẫn đến các kênh siêu xu hướng quá rộng hoặc quá hẹp.
Các biện pháp quản lý rủi ro:
Kết hợp với các chỉ số khác như MACD, KDJ để xác minh hiệu quả, tránh theo dõi mù quáng.
Thiết lập mức dừng lỗ hợp lý, kiểm soát tối đa tổn thất đơn lẻ.
Điều chỉnh các tham số để làm cho các kênh siêu xu hướng hợp lý và ngăn chặn quá rộng hoặc quá hẹp.
Chính sách này có thể được tối ưu hóa bằng cách:
Thêm các chỉ số hỗ trợ để xác minh hiệu quả và ngăn chặn sự thất bại. Ví dụ, bạn có thể xem xét thêm các chỉ số MACD.
Thiết lập logic dừng hợp lý. Có thể thiết lập phần trăm dừng dựa trên ATR.
Tối ưu hóa các siêu tham số Factor và Pd để tìm các tham số tốt nhất. Ví dụ, tìm tham số tối ưu có thể sử dụng phương pháp đi qua.
Tối ưu hóa thời gian vào sân, tránh sự chậm trễ của tín hiệu. Ví dụ: có thể giới thiệu chỉ số động lực để xác định thời gian vào sân của hình dạng mạnh và yếu.
Thêm chiến lược quản lý vị trí. Ví dụ: bạn có thể sử dụng cổ phần cố định để quản lý vị trí.
Chiến lược này sử dụng các chỉ số siêu xu hướng để xác định xu hướng giá và tìm ra các điểm đảo ngược. Do thiếu các chỉ số hỗ trợ và phương tiện dừng lỗ, việc mù quáng theo các chỉ số siêu xu hướng mang lại rủi ro lớn. Chúng tôi đề xuất cải tiến về quản lý rủi ro, chiến lược dừng lỗ, tối ưu hóa tham số, thời gian nhập cảnh và nhiều khía cạnh khác nhau có thể tăng đáng kể sự ổn định và lợi nhuận của chiến lược.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Supertrend blind follow", overlay=true)
Factor=input(3, minval=1,maxval = 100)
Pd=input(7, minval=1,maxval = 100)
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)
//plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend")
plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)
longCondition = cross(close,Tsl) and close>Tsl
if (longCondition)
strategy.entry("long", strategy.long)
shortCondition = cross(Tsl,close) and close<Tsl
if (shortCondition)
strategy.entry("short", strategy.short)