Strategi ini adalah sistem perdagangan kuantitatif jangka masa 4 jam berdasarkan Bollinger Bands, menggabungkan konsep perdagangan trend breakout dan mean reverson. Strategi ini menangkap momentum pasaran melalui breakout Bollinger Bands sambil menggunakan harga mean reverson untuk mengambil keuntungan dan melaksanakan stop-loss untuk kawalan risiko. Ia menggunakan leverage 3x, memastikan pulangan sambil mempertimbangkan pengurusan risiko dengan teliti.
Logik teras adalah berdasarkan elemen utama berikut:
Strategi ini menggabungkan ciri-ciri Bollinger Bands
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04) // StartYear = input(2022,"Backtest Start Year") // StartMonth = input(1,"Backtest Start Month") // StartDay = input(1,"Backtest Start Day") // testStart = timestamp(StartYear,StartMonth,StartDay,0,0) // EndYear = input(2023,"Backtest End Year") // EndMonth = input(12,"Backtest End Month") // EndDay = input(31,"Backtest End Day") // testEnd = timestamp(EndYear,EndMonth,EndDay,0,0) lev = 3 // Input parameters length = input.int(20, title="Bollinger Band Length") mult = input.float(2.0, title="Bollinger Band Multiplier") // Bollinger Bands calculation basis = ta.sma(close, length) upperBand = basis + mult * ta.stdev(close, length) lowerBand = basis - mult * ta.stdev(close, length) // Conditions for Open Long openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand // Conditions for Open Short openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand // Conditions for Close Long closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open) // Conditions for Close Short closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open) // Long entry if openLongCondition strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close) strategy.exit("Long SL", from_entry="Long", stop=low) // Set Stop-Loss // Short entry if openShortCondition strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close) strategy.exit("Short SL", from_entry="Short", stop=high) // Set Stop-Loss // Long exit if closeLongCondition strategy.close("Long", comment = "TP") // Short exit if closeShortCondition strategy.close("Short", comment = "TP") // Plot Bollinger Bands plot(upperBand, color=color.yellow, title="Upper Band") plot(lowerBand, color=color.yellow, title="Lower Band")