Noro Bands Xu hướng theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-09-18 13:57:31
Tags:

Tổng quan

Chiến lược này sử dụng chỉ số Noro Bands tùy chỉnh để xác định hướng xu hướng và tạo ra các tín hiệu giao dịch dựa trên các quy tắc cụ thể.

Chiến lược logic

  1. Tính toán Noro Bands. Xác định mức cao gần đây, thấp dựa trên thời gian sử dụng, và tính toán đường giữa và dải trên / dưới.

  2. Xác định hướng xu hướng. Giá trên dải trên là xu hướng tăng. Giá dưới dải dưới là xu hướng giảm.

  3. Tạo tín hiệu. Mua tín hiệu khi giá phá vỡ dưới dải dưới trong xu hướng tăng. Bán tín hiệu khi giá phá vỡ trên dải trên trong xu hướng giảm.

  4. Tích hợp CryptoBottom. Thêm cơ hội mua khi tín hiệu CryptoBottom xảy ra.

  5. Quy tắc mở vị trí. Người dùng có thể chọn giao dịch chỉ dài hoặc ngắn.

  6. Có thể hiển thị hoặc ẩn bản đồ của ban nhạc.

Ưu điểm

  1. Dải Noro xác định hiệu quả hướng xu hướng.

  2. Kết hợp băng thông thoát tránh tín hiệu thoát sai.

  3. CryptoBottom cải thiện chất lượng tín hiệu mua.

  4. Có thể tùy chỉnh chỉ cho các giao dịch dài hoặc ngắn.

  5. Các thông số điều chỉnh phù hợp với các khung thời gian khác nhau.

Rủi ro

  1. Các thông số không chính xác có thể gây ra lỗi trong tính toán băng tần.

  2. Các tín hiệu thoát đã bị chậm trễ.

  3. CryptoBottom không hoàn toàn đáng tin cậy.

  4. Chỉ giao dịch với một bên có thể bỏ lỡ cơ hội.

  • Nguy cơ 1 có thể được giải quyết thông qua tối ưu hóa tham số.

  • Nguy cơ 2 có thể được cải thiện bằng cách kết hợp các chỉ số khác.

  • Rủi ro 3 đòi hỏi phải xác nhận hiệu suất của CryptoBottom.

  • Rủi ro 4 cần đánh giá lợi nhuận của giao dịch một bên.

Cơ hội gia tăng

  1. Tác động của các tham số thử nghiệm trên các dải Noro.

  2. Đánh giá các chỉ số đột phá khác thay vì Noro Bands.

  3. Đánh giá các chiến lược dừng lỗ.

  4. Kiểm tra hiệu quả của chỉ các giao dịch dài hoặc ngắn.

  5. Tối ưu hóa các thông số cho CryptoBottom.

Kết luận

Chiến lược này sử dụng Noro Bands để xác định các tín hiệu xu hướng và đột phá vào các mục thời gian. CryptoBottom cải thiện mua.


/*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)

Thêm nữa