Chiến lược theo dõi xu hướng của Noro
Các khía cạnh chính là:
Kênh giá xác định xu hướng tổng thể. Kênh được hình thành bằng cách nhìn lại cao / thấp xác định xu hướng tăng / giảm.
Chỉ số RSI chỉ ra quá mua / quá bán cho thời gian vào. RSI trên 60 là quá mua, dưới 40 là vùng quá bán.
Bộ lọc cơ thể cung cấp tín hiệu cuối cùng. Chỉ giao dịch nếu thân nến vượt quá ngưỡng để tránh tiếng ồn.
Các mục nhập dựa trên sự kết hợp xu hướng, tín hiệu RSI và bộ lọc cơ thể. Các mục nhập dài trong xu hướng tăng trên các tín hiệu tăng, các mục nhập ngắn trong xu hướng giảm trên các tín hiệu giảm.
Màu nền tùy chọn hiển thị rõ xu hướng.
Các khung thời gian giao dịch có thể tùy chỉnh để giao dịch chọn lọc.
Nhiều chỉ số liên kết để tạo ra một xu hướng tương đối ổn định theo hệ thống.
Những lợi thế chính là:
Kênh giá trực quan xác định hướng xu hướng tổng thể.
RSI phát hiện hiệu quả mức mua quá mức / bán quá mức cho thời gian nhập cảnh.
Bộ lọc cơ thể cải thiện chất lượng tín hiệu và tránh tín hiệu sai.
Xác nhận nhiều chỉ số cải thiện độ chính xác.
Các chỉ số đơn giản làm giảm rủi ro phù hợp đường cong.
Khung thời gian giao dịch tùy chỉnh thêm tính linh hoạt.
Dễ sử dụng với các thông số tối thiểu.
Màu sắc nền cung cấp sự rõ ràng thị giác.
Một số rủi ro cần xem xét:
Rủi ro xác định sai xu hướng kênh giá.
Rủi ro tín hiệu RSI không chính xác.
Bộ lọc cơ thể loại bỏ các tín hiệu hợp lệ.
Rủi ro rút vốn trong thời gian điều chỉnh xu hướng.
Rủi ro tối ưu hóa do điều chỉnh tham số sai.
Tiêu chuẩn này được sử dụng để xác định các loại rủi ro.
Rủi ro lựa chọn công cụ nếu được áp dụng cho các tài sản không có xu hướng.
Rủi ro khung thời gian giao dịch nếu được cấu hình không chính xác.
Một số khả năng nâng cao:
Thêm chiến lược dừng lỗ để kiểm soát lỗ cho mỗi giao dịch.
Tối ưu hóa các thông số dựa trên hành vi của thiết bị.
Bao gồm các quy tắc định kích thước vị trí dựa trên sức mạnh xu hướng.
Thực hiện giới hạn rút tiền để hạn chế tổn thất.
Thêm phân tích giá khối lượng để xác minh tín hiệu.
Giới thiệu máy học để tối ưu hóa tham số.
Các thông số chuyên môn dựa trên các loại tài sản.
Cải thiện logic khung thời gian giao dịch để linh hoạt hơn.
Chiến lược theo xu hướng của Noro
/*backtest start: 2023-08-25 00:00:00 end: 2023-09-24 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's TrendMaster Strategy v1.0", shorttitle = "TrendMaster str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "long") needshort = input(true, defval = true, title = "short") len = input(21, defval = 20, minval = 2, maxval = 200, title = "MA Period") needbg = input(false, defval = false, title = "Need trend Background?") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //PriceChannel 1 lasthigh = highest(close, len) lastlow = lowest(close, len) center = (lasthigh + lastlow) / 2 //Trend trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1] //Bars bar = close > open ? 1 : close < open ? -1 : 0 //Fast RSI fastup = rma(max(change(close), 0), 2) fastdown = rma(-min(change(close), 0), 2) rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Body filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 2 //Signals up1 = trend == 1 and rsi < 60 and (strategy.position_avg_price > close or strategy.position_size <= 0) and body dn1 = trend == -1 and rsi > 40 and (strategy.position_avg_price < close or strategy.position_size >= 0) and body //Lines plot(center, color = blue, linewidth = 3, transp = 0, title = "MA") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Trading if up1 strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()