
Strategi ini adalah strategi trading berbasis Brin-band. Strategi ini menggunakan Brin-band untuk menghasilkan sinyal jual beli dan secara dinamis mengatur level stop loss dan stop loss. Strategi ini menghasilkan sinyal beli ketika harga melintasi rel bawah dan menghasilkan sinyal jual ketika harga melintasi rel atas. Strategi ini mengatur posisi stop loss sebagai harga terendah atau tertinggi dalam jangka waktu tertentu, dan posisi stop loss disesuaikan dengan dinamika sinyal baru.
Strategi ini adalah strategi perdagangan berbasis Brin-belt yang menghasilkan sinyal jual beli melalui perpindahan Brin-belt, dan secara dinamis mengatur level stop loss dan stop loss. Logika strategi ini jelas, mudah diimplementasikan, dan dapat beradaptasi dengan kondisi pasar yang berbeda. Namun, mungkin ada terlalu banyak perdagangan di pasar yang bergoyang, dan kurangnya penilaian arah tren.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy", overlay=true)
// Bollinger Bands settings
length = 20
src = close
mult = 2.0
// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Middle Band")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
// Trade logic
// Buy when the price crosses below the lower Bollinger Band
buySignal = ta.crossover(lower, src)
// Sell when the price crosses above the upper Bollinger Band
sellSignal = ta.crossover(src, upper)
// Define stop loss and take profit levels
var float stopLoss = na
var float takeProfit = na
// Calculate stop loss and take profit levels
if (buySignal)
stopLoss := ta.lowest(low, length)
takeProfit := na
if (sellSignal)
stopLoss := ta.highest(high, length)
takeProfit := na
// Update take profit on new signals
if (buySignal)
takeProfit := na
if (sellSignal)
takeProfit := na
// Execute trades
if (buySignal)
strategy.entry("Buy", strategy.long, stop=stopLoss, limit=takeProfit)
if (sellSignal)
strategy.entry("Sell", strategy.short, stop=stopLoss, limit=takeProfit)
// Plot signals on chart
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy", title="Buy Signal")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", title="Sell Signal")
// Alert conditions
alertcondition(buySignal, title="Buy Alert", message="Buy Signal detected")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal detected")