Strategi breakout dalam kisaran bar adalah strategi aksi harga yang membuat keputusan perdagangan berdasarkan pola dalam bar. Hal ini terjadi ketika kisaran bar saat ini, diukur dengan perbedaan antara tinggi dan rendah, lebih kecil dari kisaran bar sebelumnya, menunjukkan konsolidasi atau ketidakseimbangan di pasar.
Strategi ini menggunakan indikator dan variabel berikut:
Keputusan masuk didasarkan pada penembusan kisaran di luar batas sebelumnya tinggi/rendah. Secara khusus, masuk panjang ketika terjadi penembusan ke atas dan rendah saat ini berada di atas likuiditasDown, dan masuk pendek ketika terjadi penembusan ke bawah dan tinggi saat ini berada di bawah likuiditasUp.
Stop loss menggunakan ATR dikalikan dengan Range. Take profit menggunakan ATR dikalikan dengan Range.
Keuntungan dari strategi ini meliputi:
Risiko dari strategi ini:
Bidang optimasi:
Strategi breakout dalam kisaran bar memanfaatkan ekspansi kisaran dari konsolidasi dengan memasuki ketika harga keluar dari kisaran bar sebelumnya. Tingkat likuiditas menghindari terjebak. Stop loss dan take profit yang masuk akal memungkinkan mengendarai momentum setelah pecah untuk mencapai target keuntungan. Strategi dapat menghasilkan hasil yang baik pada kerangka waktu menengah. Meningkatkan lebih lanjut keuntungan dan ketahanan sistem dapat dicapai melalui optimasi parameter dan peningkatan filter entri.
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ilikelyrics560 //@version=5 strategy("Inside Bar Range Breakout Strategy", overlay=true) // Inputs lookback = input.int(20, "Lookback Period", minval=1) atrMult = input.float(1.5, "ATR Multiplier", step=0.1) atrLen = input.int(14, "ATR Length", minval=1) slMult = input.float(2, "Stop Loss Multiplier", step=0.1) tpMult = input.float(3, "Take Profit Multiplier", step=0.1) // Variables atr = ta.atr(atrLen) Range = high - low insideBar = Range < Range[1] breakoutUp = close > high[1] breakoutDown = close < low[1] liquidityUp = ta.highest(high, lookback) liquidityDown = ta.lowest(low, lookback) longEntry = breakoutUp and low > liquidityDown shortEntry = breakoutDown and high < liquidityUp longExit = close < low[1] shortExit = close > high[1] // Plotting plot(liquidityUp, "Liquidity Up", color.new(color.green, 30), 1) plot(liquidityDown, "Liquidity Down", color.new(color.red, 30), 1) bgcolor(longEntry ? color.new(color.green, 30) : na, title="Long Entry") bgcolor(shortEntry ? color.new(color.maroon, 30) : na, title="Short Entry") // Trading if (longEntry) strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", stop=low - slMult * atr, limit=high + tpMult * atr) if (shortEntry) strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", stop=high + slMult * atr, limit=low - tpMult * atr)