
Chiến lược này sử dụng đường Brin kết hợp với đường trung bình EMA của chỉ số ATR để đưa ra phán đoán và tạo ra chiến lược giao dịch phá vỡ động lực. Khi giá vượt qua đường trên của Brin và nhanh chóng vượt qua đường trung bình EMA, tạo ra tín hiệu mua; Khi giá đi xuống, phá vỡ đường dưới của Brin và nhanh chóng giảm xuống đường trung bình EMA, tạo ra tín hiệu bán.
Tính trung tâm, đường trên và đường dưới của đường Brin. Trung tâm là đường trung bình SMA của n chu kỳ, đường trên là trung tâm + m*n chu kỳ chênh lệch chuẩn, đường ray dưới là đường trung - m*Tiêu chuẩn n chu kỳ khác nhau.
Tính toán chỉ số ATR để theo dõi lỗ.
Tính trung bình đường EMA của chu kỳ 1 và chu kỳ n để xác định động lực giá.
Một tín hiệu mua được tạo ra khi giá vượt qua đường ray Brin và nhanh chóng vượt qua đường trung bình n chu kỳ của EMA.
Một tín hiệu bán ra được tạo ra khi giá đi qua đường mòn dưới Brin và nhanh chóng đi qua đường trung bình n chu kỳ của EMA.
Chỉ số ATR được sử dụng để thiết lập điểm dừng lỗ, theo dõi hướng phá vỡ giá và tránh bị đặt.
Giao thức Brinline kết hợp với ATR Stop Loss để kiểm soát rủi ro hiệu quả.
EMA nhanh chóng và trung bình đánh giá hướng động lực, tránh phá vỡ giả.
Các tham số chiến lược có thể được điều chỉnh để phù hợp với các môi trường thị trường khác nhau.
Tín hiệu mua bán rõ ràng, tần suất giao dịch cao, phù hợp với giao dịch ngắn hạn.
Sử dụng chỉ số ATR để theo dõi lỗ, bạn có thể dừng lỗ kịp thời.
Khi một đường bạch cầu quá hẹp, nó có thể gây ra nhiều tiếng ồn hơn.
Các tham số ATR được thiết lập quá nhỏ, có thể gây ra khoảng cách dừng quá gần cắm.
Các tham số EMA cần điều chỉnh chu kỳ, hiệu quả khác nhau giữa các chu kỳ khác nhau.
Trong khi đó, các thị trường trong khu vực chấn động có thể tạo ra nhiều giao dịch hơn, nên cần thận trọng.
Theo dõi dừng lỗ đôi khi quá quyết liệt, có thể gây ra tổn thất lớn hơn.
Có thể kết hợp với các chỉ số khác để lọc tín hiệu giao dịch. Ví dụ: chỉ số RSI đánh giá quá mua quá bán, chỉ số KDJ đánh giá sai lệch.
Bạn có thể xem xét điều chỉnh tham số Brinline theo động thái ATR để làm cho Brinline phù hợp hơn với biến động giá.
Có thể thử nghiệm hiệu quả của các tham số khác nhau của chu kỳ EMA để tìm ra sự kết hợp tham số tốt nhất.
Các tham số ATR có thể được điều chỉnh theo tỷ lệ dao động thông minh để tránh lỗ dừng quá cấp tiến.
Bạn có thể xem xét việc sử dụng mô hình học tập sâu để hỗ trợ quyết định khi nào nên mua hoặc bán.
Chiến lược tổng thể của chiến lược này rất rõ ràng, sử dụng đường buoyn để nắm bắt giá phá vỡ, ATR thiết lập phạm vi dừng lỗ, EMA phán đoán hướng động lực, phán đoán toàn diện về động lực phá vỡ, có thể nắm bắt xu hướng giá đường ngắn một cách hiệu quả. Đồng thời kết hợp nhiều chỉ số để đưa ra phán đoán tổng hợp, có thể cải thiện chất lượng tín hiệu.
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol.
// Inputs
a = input(1, title = "Key Vaule. 'This changes the sensitivity'")
c = input(10, title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")
src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close
length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
// plot(bbr, "Bollinger Bands %B", color=#26A69A)
// band1 = hline(1, "Overbought", color=#787B86, linestyle=hline.style_dashed)
// hline(0.5, "Middle Band", color=color.new(#787B86, 50))
// band0 = hline(0, "Oversold", color=#787B86, linestyle=hline.style_dashed)
// fill(band1, band0, color=color.rgb(38, 166, 154, 90), title="Background")
xATR = atr(c)
nLoss = a * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss),
iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
pos = 0
pos := iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
ema = ema(src,1)
emaFast = ema(src,144)
emaSlow = ema(src,576)
sma = sma(src, c)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)
smaabove = crossover(src, sma)
smabelow = crossover(sma, src)
buy = src > xATRTrailingStop and above and (bbr>20 or bbr<80)
sell = src < xATRTrailingStop and below and (bbr>20 or bbr<80)
// buy = src > xATRTrailingStop
// sell = src < xATRTrailingStop
barbuy = src > xATRTrailingStop
barsell = src < xATRTrailingStop
// plot(emaFast , color = color.rgb(243, 206, 127), title="emaFast")
plot(xATRTrailingStop, color = color.rgb(233, 233, 232), title="xATRTrailingStop")
plotshape(buy, title = "Buy", text = 'Buy', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
// plotshape(buy, title = "Sell", text = 'Sell', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
// plotshape(sell, title = "buy", text = 'buy', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
barcolor(barbuy ? color.green : na)
barcolor(barsell ? color.red : na)
// strategy.entry("short", false, when = buy)
// strategy.entry("long ", true, when = sell)
strategy.entry("long", true, when = buy)
strategy.entry("short ", false, when = sell)