
Breakout reversal exit strategy adalah sistem perdagangan kuantitatif yang didasarkan pada harga yang menembus titik tertinggi dan terendah dalam sejarah, dan menggabungkan sinyal reversal tren sebagai mekanisme keluar. Strategi ini dilakukan dengan memantau harga tertinggi dan terendah selama tiga hari perdagangan terakhir, melakukan operasi masuk ketika harga menembus level kunci ini, dan keluar dengan posisi tenang ketika ada sinyal reversal break.
Prinsip inti dari strategi ini didasarkan pada dua konsep kunci: terobosan harga dan pembalikan tren.
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
longEntry = close > high3
shortEntry = close < low3
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
longExit = shortEntry
shortExit = longEntry
Sederhana dan BerkesanStrategi ini didasarkan pada prinsip-prinsip perilaku harga yang sederhana, mudah dipahami dan diterapkan, tanpa indikator teknis yang rumit, mengurangi risiko over-fit.
AdaptifDengan menggunakan tiga hari yang relatif tinggi dan rendah sebagai referensi, strategi dapat beradaptasi dengan berbagai kondisi pasar dan volatilitas, tidak terlalu sensitif dan tidak terlalu lambat.
Aturan masuk dan keluar jelasStrategi memberikan sinyal masuk dan kondisi keluar yang jelas, menghilangkan penilaian subjektif dalam proses perdagangan, dan membantu menjaga disiplin perdagangan.
Perlindungan terhadap reversal: Menggunakan pembalikan tren sebagai sinyal keluar, dapat dengan cepat melonggarkan posisi ketika arah pasar berubah, secara efektif mengendalikan penarikan dan melindungi keuntungan yang telah diperoleh.
Pengelolaan dana yang lengkapStrategi: Mengelola posisi dengan persentase nilai bersih, yang lebih fleksibel dibandingkan dengan jumlah tetap, dan dapat menyesuaikan volume perdagangan secara otomatis sesuai dengan ukuran akun.
Umpan balik visual yang jelasDengan membeli, menjual, dan keluar dari tanda pada grafik strategi, pedagang dapat secara intuitif memahami kinerja strategi, yang memfasilitasi analisis dan optimasi strategi.
Risiko Penembusan PalsuPasar dapat mengalami false breakout dalam waktu singkat, yang menyebabkan strategi menghadapi pergerakan mundur yang cepat setelah masuk, menghasilkan biaya dan kerugian perdagangan yang tidak perlu. Solusi: Anda dapat menambahkan filter konfirmasi, seperti konfirmasi volume, atau menunggu harga berada di posisi breakout untuk waktu tertentu.
Risiko sering bertransaksiSolusi: Anda dapat memperpanjang periode referensi atau menambahkan periode pendinginan untuk mengurangi frekuensi perdagangan.
Kurangnya pengendalian kerugianStrategi saat ini hanya mengandalkan sinyal mundur dari tren, yang dapat menyebabkan kerugian lebih besar dalam kondisi pasar yang ekstrim. Solusi: Tambahkan stop loss tetap atau stop loss yang disesuaikan dengan volatilitas sebagai perlindungan tambahan.
Risiko Kesenjangan PasarSolusi: Atur titik slippage maksimum yang diizinkan atau gunakan stop loss order.
Kecenderungan kehilangan lingkunganDalam situasi pasar yang bergejolak, strategi penembusan tiga hari dapat berkinerja buruk, menghasilkan beberapa sinyal yang salah. Solusi: Tambahkan filter kondisi pasar, gunakan strategi hanya dalam situasi pasar yang mengidentifikasi tren yang jelas.
Optimalkan siklus referensi: Siklus referensi tiga hari yang tetap saat ini mungkin tidak cocok untuk semua kondisi pasar. Disarankan untuk melakukan penyesuaian siklus referensi secara dinamis, menyesuaikan panjang siklus penembusan secara otomatis sesuai dengan fluktuasi pasar, menggunakan siklus yang lebih panjang di pasar yang berfluktuasi tinggi, menggunakan siklus yang lebih pendek di pasar yang berfluktuasi rendah.
Tambahkan kondisi filter: Kondisi filter tambahan dapat diperkenalkan untuk meningkatkan kualitas sinyal, seperti:
Meningkatkan mekanisme penarikanSelain itu, ada beberapa mekanisme untuk menarik diri:
Pengelolaan posisi sebagianStrategi saat ini menggunakan perdagangan rasio 100 persen dari nilai bersih. Anda dapat mempertimbangkan untuk menyesuaikan ukuran posisi berdasarkan kekuatan sinyal atau dinamika kondisi pasar, meningkatkan posisi pada sinyal yang lebih pasti dan mengurangi posisi pada sinyal yang lebih lemah.
Tambahkan filter kerangka waktu: Mengkonfirmasi arah tren pada periode waktu yang lebih lama, hanya berdagang di arah yang sesuai dengan tren jangka panjang untuk mengurangi risiko perdagangan berlawanan. Analisis multi-frame waktu ini dapat secara signifikan meningkatkan tingkat keberhasilan strategi.
Strategi keluar dari tren reversal tiga hari adalah sistem perdagangan yang menggabungkan prinsip penembusan harga dan pelacakan tren untuk membangun sinyal masuk dengan memantau harga tinggi dan rendah dalam jangka pendek, sekaligus menggunakan reversal breakout sebagai mekanisme keluar. Keunggulan strategi ini adalah konsepnya sederhana, aturannya jelas, dan adaptif, cocok untuk digunakan oleh pemula dan pedagang berpengalaman. Namun, strategi ini juga memiliki masalah seperti risiko penembusan palsu, risiko perdagangan berlebihan, dan kurangnya mekanisme penghentian kerugian yang sempurna.
/*backtest
start: 2025-03-30 00:00:00
end: 2025-04-29 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("3-Day Breakout Strategy with Trend Change Exit", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Calculate 3-day high/low (excluding current bar) ===
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
// === Entry conditions ===
longEntry = close > high3
shortEntry = close < low3
// === Track position state ===
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
// === Exit conditions ===
// Exit on trend reversal (new signal)
longExit = shortEntry // Exit long position when a short signal occurs
shortExit = longEntry // Exit short position when a long signal occurs
// === Execute entries ===
buySignal = longEntry and not isLong and not isShort
sellSignal = shortEntry and not isLong and not isShort
if (buySignal)
strategy.entry("Long", strategy.long)
if (sellSignal)
strategy.entry("Short", strategy.short)
// === Execute exits on opposite signal (trend change) ===
if (isLong and longExit)
strategy.close("Long")
if (isShort and shortExit)
strategy.close("Short")
// === Exit markers (on actual exit bar only) ===
exitLongSignal = wasLong and not isLong
exitShortSignal = wasShort and not isShort
// === Plot entry signals only on the entry bar ===
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// === Plot exit signals only on the exit bar ===
plotshape(exitLongSignal, title="Exit Long", location=location.abovebar, color=color.orange, style=shape.labeldown, text="EXIT")
plotshape(exitShortSignal, title="Exit Short", location=location.belowbar, color=color.orange, style=shape.labelup, text="EXIT")