
Strategi ini adalah sistem perdagangan pelacakan tren yang didasarkan pada standar deviasi Brin. Strategi ini menilai kekuatan tren dengan melihat hubungan posisi tiga pilar berturut-turut terhadap posisi Brin di bawah rel, dan melakukan perdagangan ketika tren ditetapkan. Sistem ini menggunakan rasio keuntungan risiko tetap untuk mengelola risiko setiap perdagangan.
Logika inti dari strategi ini didasarkan pada poin-poin berikut:
Ini adalah strategi pelacakan tren yang dirancang dengan baik untuk menangkap tren pasar melalui pita Brin dan mekanisme konfirmasi ganda. Kerangka manajemen risiko strategi telah disempurnakan, standar pelaksanaan jelas. Meskipun ada beberapa keterlambatan, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut melalui arah optimasi yang disarankan.
/*backtest
start: 2024-11-01 00:00:00
end: 2025-02-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Bollinger Band Buy and Sell Strategy (Entry at Close of 3rd Candle)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, pyramiding=0)
// Bollinger Band settings
length = input.int(20, "Bollinger Band Length")
mult = input.float(2.0, "Standard Deviation Multiplier")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper_band = basis + dev
lower_band = basis - dev
// Plot Bollinger Bands
plot(upper_band, "Upper Band", color.blue)
plot(lower_band, "Lower Band", color.red)
// Initialize variables
var float buyEntryPrice = na
var float buyStopLoss = na
var float buyTargetPrice = na
var float sellEntryPrice = na
var float sellStopLoss = na
var float sellTargetPrice = na
// Buy Condition: Last 3 candles closed above upper band
buyCondition = close[2] > upper_band[2] and
close[1] > upper_band[1] and
close > upper_band
// Sell Condition: Last 3 candles closed below lower band
sellCondition = close[2] < lower_band[2] and close[1] < lower_band[1] and close < lower_band
// Buy Logic
if buyCondition and strategy.position_size == 0
buyEntryPrice := close // Entry at the close of the 3rd candle
buyStopLoss := low[2] // Low of the earliest candle in the 3-candle sequence
buyTargetPrice := buyEntryPrice + (buyEntryPrice - buyStopLoss)
strategy.entry("Buy", strategy.long)
strategy.exit("Buy Exit", "Buy", stop=buyStopLoss, limit=buyTargetPrice)
// Plot buy signal arrow on the entry candle
label.new(bar_index, low, "▲", color=color.green, style=label.style_label_up, yloc=yloc.belowbar)
// Sell Logic
if sellCondition and strategy.position_size == 0
sellEntryPrice := close // Entry at the close of the 3rd candle
sellStopLoss := high[2] // High of the earliest candle in the 3-candle sequence
sellTargetPrice := sellEntryPrice - (sellStopLoss - sellEntryPrice)
strategy.entry("Sell", strategy.short)
strategy.exit("Sell Exit", "Sell", stop=sellStopLoss, limit=sellTargetPrice)
// Plot sell signal arrow on the entry candle
label.new(bar_index, high, "▼", color=color.red, style=label.style_label_down, yloc=yloc.abovebar)
// Plot stop loss and target levels for buy trades
plot(strategy.position_size > 0 ? buyStopLoss : na, "Buy Stop Loss", color.red, 2, plot.style_linebr)
plot(strategy.position_size > 0 ? buyTargetPrice : na, "Buy Target", color.green, 2, plot.style_linebr)
// Plot stop loss and target levels for sell trades
plot(strategy.position_size < 0 ? sellStopLoss : na, "Sell Stop Loss", color.red, 2, plot.style_linebr)
plot(strategy.position_size < 0 ? sellTargetPrice : na, "Sell Target", color.green, 2, plot.style_linebr)