Chiến lược này dựa trên chỉ số băng tần tự chế của Noro để đánh giá xu hướng và là chiến lược theo dõi xu hướng tạo ra tín hiệu giao dịch kết hợp với các quy tắc cụ thể. Nó tạo ra tín hiệu giao dịch khi giá phá vỡ băng tần. Ngoài ra, nó kết hợp với chỉ số phụ trợ CryptoBottom để cải thiện chất lượng tín hiệu.
Tính cao và thấp gần nhất theo chu kỳ được định nghĩa bởi người dùng và tính trung bình, lên và xuống đường ray.
Định hướng xu hướng. Giá ở trên đường lên là giá lên và ở dưới đường xuống là giá xuống.
Sản xuất tín hiệu giao dịch. Khi giá tăng, giá phá vỡ đường ray tạo ra tín hiệu mua; Khi giá giảm, giá phá vỡ đường ray tạo ra tín hiệu bán.
Tích hợp CryptoBottom. Khi chỉ số phụ CryptoBottom phát tín hiệu, tăng cơ hội mua.
Quy tắc mở kho. Người dùng có thể chọn chỉ giao dịch nhiều đầu hoặc giao dịch trống. Nếu không chọn, giao dịch toàn kho.
Mapping Noro Waveband ≫ có thể hiển thị hoặc ẩn Mapping Waveband ≫
Noro Wave có thể đánh giá được xu hướng.
Kết hợp với phá vỡ băng tần tạo ra tín hiệu, có thể tránh phá vỡ giả.
CryptoBottom cải thiện chất lượng tín hiệu mua.
Có thể tùy chỉnh chỉ làm nhiều hoặc chỉ làm trống.
Các tham số có thể được điều chỉnh để phù hợp với các chu kỳ khác nhau.
Thiết lập tham số không chính xác có thể dẫn đến việc đánh giá băng tần không hiệu quả.
Tín hiệu đột phá đã bị trì hoãn.
CryptoBottom không hoàn toàn đáng tin cậy.
Bạn có thể bỏ lỡ một số cơ hội nếu bạn làm quá nhiều hoặc không làm gì cả.
Rủi ro 1 có thể được tìm thấy bằng cách tối ưu hóa tham số.
Rủi ro 2 có thể được xác nhận kết hợp với các chỉ số khác.
Rủi ro 3 cần kiểm tra hiệu quả của CryptoBottom.
Rủi ro 4 cần đánh giá hiệu quả thu nhập của việc chỉ làm nhiều hoặc chỉ làm rỗng.
Kiểm tra ảnh hưởng của các tham số khác nhau đối với băng tần Noro.
Hãy thử các chỉ số đột phá khác thay cho băng thông Noro.
Đánh giá chiến lược giảm tổn thất
Thử nghiệm chỉ làm nhiều hoặc chỉ làm rỗng.
Các tham số tối ưu hóa CryptoBottom.
Chiến lược này sử dụng các sóng Noro để đánh giá xu hướng và kết hợp với các tín hiệu đột phá để tạo ra cơ hội giao dịch.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Strategy v1.2", shorttitle = "NoroBands str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use Color or bar")
usecb = input(true, "Use CryptoBottom")
needbb = input(true, defval = false, title = "Show Bands")
needbg = input(true, defval = false, title = "Show Background")
src = close
//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)
//dn = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]
//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)
//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom
longCondition = up == 1 or (up2 == 1 and usecb == true)
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = dn == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)