Chiến lược này là một chiến lược theo dõi biến động động động dựa trên Brin. Nó kết hợp với chỉ số Brin để xác định xu hướng thị trường và điểm đảo ngược, theo dõi biến động thị trường bằng cách thiết lập vị trí trống.
Các chỉ số cốt lõi của chiến lược này là vùng Brin. Các vùng Brin bao gồm đường trung, đường trên và đường dưới. Đường trung là trung bình di chuyển n ngày, đường trên và đường dưới là sự lệch của chênh lệch tiêu chuẩn giữa đường trung và đường giảm.
Chiến lược này đồng thời thêm vào các vị trí xây dựng theo xu hướng và xây dựng đảo ngược, tương ứng với các cơ hội giao dịch khác nhau. Các vị trí xây dựng theo xu hướng yêu cầu đường trung tâm làm tài liệu tham khảo kháng cự hỗ trợ, tạo ra hiệu ứng lệch lạc đột phá. Các vị trí xây dựng ngược được hình thành trực tiếp trên đường dưới bên cạnh đường dưới trên Brin. Chiến lược có thể kết hợp cả hai cách tiết lộ này để đồng thời theo dõi xu hướng và hoạt động đảo ngược.
Chiến lược này kết hợp các đặc điểm mua quá mức bán quá mức của Brin Belt, thêm vào phán đoán điểm đảo ngược. Điều này cho phép nó có thể áp dụng cho cả thị trường xu hướng và thị trường chấn động đồng thời, để nắm bắt các loại cơ hội giao dịch khác nhau. Cài đặt Exit Stop của chiến lược ngăn chặn sự mất mát mở rộng.
So với chiến lược đơn giản của Brin, chiến lược này đưa ra phán đoán logic về xu hướng giúp xây dựng vị trí ổn định hơn, đồng thời nắm bắt cơ hội đảo ngược. Điều này làm tăng tỷ lệ tín hiệu tiếng ồn. Thứ hai, giao dịch hai chiều đa chiều cũng sử dụng cơ hội giao dịch trên các thị trường khác nhau một cách toàn diện hơn.
Chiến lược này phụ thuộc chủ yếu vào đặc tính mua bán quá mức của vùng Brin. Vì vậy, khi giá biến động mạnh, khoảng Brin sẽ liên tục tăng lên, dễ dàng dẫn đến nhiều lần đặt hàng thua lỗ. Đây là điểm rủi ro tiềm ẩn. Ngoài ra, phán đoán đảo ngược vẫn có một số không chắc chắn và sai sót, có thể dẫn đến việc đặt hàng và dừng lỗ thất bại.
Đối với trường hợp bị mất hiệu lực của dây chuyền Burin, bạn có thể rút ngắn tham số n ngày, làm cho dây chuyền Burin nhạy hơn. hoặc giảm phạm vi của nó, giảm khả năng gây thiệt hại. Đối với phán đoán đường cong đảo ngược, bạn có thể giảm lỗi bằng cách tối ưu hóa tham số đột phá.
Một số hướng chính mà chiến lược này có thể được tối ưu hóa:
Chiến lược này mở rộng và tối ưu hóa hiệu quả cho chiến lược tiêu chuẩn của Brin. Tham gia vào phán đoán sai lệch xu hướng giúp tăng sự ổn định, tận dụng cơ hội đảo ngược. Các thiết lập giao dịch hai chiều và dừng lỗ cũng làm cho chiến lược mạnh hơn.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy("Noro's Bollinger Strategy v1.3", shorttitle = "Bollinger str 1.3", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, defval = 2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")
uset = input(true, defval = true, title = "Use trend entry")
usect = input(true, defval = true, title = "Use counter-trend entry")
fromyear = input(2018, defval = 2018, 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")
showbands = input(true, defval = true, title = "Show Bollinger Bands")
//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
//Lines
col = showbands ? black : na
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)
//Body
body = abs(close - open)
abody = ema(body, 30)
//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up1 = bar == -1 and ohlc4 >= basis and ohlc4 < upper and (close < strategy.position_avg_price or strategy.position_size == 0) and uset
dn1 = bar == 1 and ohlc4 <= basis and ohlc4 > lower and (close > strategy.position_avg_price or strategy.position_size == 0) and uset
up2 = close <= lower and usect
dn2 = close >= upper and usect
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2
//Trading
if up1 or up2
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 or dn2
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) or exit
strategy.close_all()