
Strategi ini menggunakan Bollinger Bands dan ATR dalam kombinasi dengan EMA untuk menghasilkan strategi perdagangan break-out dinamis. Ini menghasilkan sinyal beli ketika harga naik melewati Bollinger Bands dan dengan cepat melewati EMA. Ini menghasilkan sinyal jual ketika harga turun melewati Bollinger Bands dan dengan cepat melewati EMA.
Perhitungan garis tengah, garis atas dan garis bawah garis Brin. Garis tengah adalah garis rata-rata SMA dengan periode n, garis atas adalah garis tengah + m*n siklus standar deviasi, suborbital adalah garis tengah - m*n siklus standar berbeda.
Perhitungan indikator ATR untuk melacak stop loss.
Hitung rata-rata EMA untuk periode 1 dan periode n untuk menilai pergerakan harga.
Ketika harga naik melalui Brin dan naik dengan cepat melalui n siklus EMA rata-rata, menghasilkan sinyal beli.
Sinyal jual dihasilkan ketika harga melewati Bollinger Bands dan melewati rata-rata EMA n siklus dengan cepat.
Indikator ATR digunakan untuk mengatur titik-titik stop loss, melacak arah harga untuk menembus, dan menghindari penargetan.
Brinline digabungkan dengan ATR Stop Loss, untuk mengontrol risiko secara efektif.
EMA cepat dan rata-rata menilai arah momentum, menghindari false breakout.
Parameter strategi dapat disesuaikan untuk kondisi pasar yang berbeda.
Sinyal jual beli yang jelas, frekuensi perdagangan yang tinggi, cocok untuk perdagangan garis pendek.
Menggunakan indikator ATR untuk melacak stop loss, Anda dapat menghentikan stop loss tepat waktu.
Jika garis biner terlalu sempit, mungkin akan terjadi transaksi yang lebih bising.
ATR parameter yang terlalu kecil, dapat menyebabkan stop loss jarak terlalu dekat dengan pancing.
Parameter EMA perlu disesuaikan secara periodik, dan efeknya berbeda pada setiap periode.
“Kami tidak tahu apa yang terjadi di kota-kota kecil, tetapi kami tahu bahwa ada banyak transaksi di kota-kota kecil yang terkena dampak gempa bumi.
Tracking Stop Loss terkadang terlalu radikal dan dapat menyebabkan kerugian yang lebih besar.
Dapat digabungkan dengan indikator lain untuk memfilter sinyal perdagangan. Misalnya, indikator RSI menilai overbought dan oversold, indikator KDJ menilai deviasi, dll.
Anda dapat mempertimbangkan untuk menyesuaikan parameter Brinline berdasarkan dinamika ATR agar lebih sesuai dengan fluktuasi harga.
Anda dapat menguji efek dari berbagai parameter siklus EMA untuk menemukan kombinasi optimal.
Parameter ATR dapat disesuaikan dengan volatilitas secara cerdas untuk menghindari stop loss yang terlalu radikal.
Anda dapat mempertimbangkan untuk menggunakan model pembelajaran mendalam untuk membantu menentukan kapan harus membeli atau menjual.
Strategi ini secara keseluruhan ide yang jelas, menggunakan Brinline menangkap harga terobosan, ATR menetapkan batas stop loss, EMA menilai arah momentum, untuk melakukan penilaian penuh terhadap terobosan momentum, dapat secara efektif menangkap tren harga garis pendek. Sementara menggabungkan berbagai indikator untuk penilaian komprehensif, dapat meningkatkan kualitas sinyal. Tapi ada juga beberapa arah yang dapat dioptimalkan, dengan pengaturan parameter, kombinasi indikator dan lain-lain metode dapat lebih menyempurnakan strategi ini, sehingga lebih stabil dan lebih elastis.
/*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)