
Strategi ini didasarkan pada teori terobosan, dengan membandingkan harga tertinggi dan harga terendah dengan rata-rata bergerak untuk menentukan apakah tren akan berbalik, untuk menemukan titik terobosan potensial, dan melakukan perdagangan ketika titik terobosan terjadi. Strategi ini sederhana dan langsung, yang digunakan untuk melacak indikator perubahan tren yang drastis.
Strategi ini pertama-tama menghitung rata-rata bergerak dari harga tertinggi dan terendah dalam periode tertentu berdasarkan pengaturan pengguna, harga tertinggi bergerak rata-rata mewakili naik, harga terendah bergerak rata-rata mewakili turun. Ketika harga menerobos naik, menunjukkan bahwa ada kecenderungan harga naik, strategi ini akan membuka posisi lebih banyak; Ketika harga turun, menunjukkan bahwa ada kecenderungan harga turun, strategi ini akan membuka posisi kosong.
Strategi ini juga menyediakan pilihan pengaturan stop loss. Jika Anda melakukan over, stop loss akan berada di atas rel; Jika Anda melakukan over, stop loss akan berada di bawah rel. Ini dapat mengurangi kerugian.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini sederhana, langsung, mudah dimengerti dan diterapkan.
Dengan cara ini, Anda dapat dengan cepat menangkap titik-titik perubahan tren harga dan menyesuaikan posisi tepat waktu.
Opsi Stop Loss yang dapat disesuaikan dengan preferensi risiko individu.
Sinyal perdagangan dihasilkan dengan jelas, tanpa sering terjadi sinyal palsu.
Parameter yang dapat dikonfigurasi lebih sedikit dan mudah digunakan.
Fleksibel untuk melakukan lebih banyak atau hanya kosong.
Strategi ini juga memiliki beberapa risiko:
Sinyal penembusan mungkin palsu dan tidak dapat dipertahankan.
Penetapan siklus breakout yang tidak tepat dapat melewatkan tren garis yang lebih panjang.
Penembusan tanpa mempertimbangkan volume transaksi, dapat menyebabkan kenaikan atau penurunan.
Ada beberapa keterlambatan, mungkin kehilangan bagian yang lebih baik.
Jika terjadi perubahan besar, stop loss bisa diatasi.
Perdagangan hanya berdasarkan titik terobosan, dan keuntungan tidak pasti.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Dalam kombinasi dengan indikator volume transaksi, untuk menghindari false breakout. Sebagai contoh, volume transaksi meningkat saat breakout, menunjukkan bahwa breakout mungkin benar-benar efektif.
Mengoptimalkan parameter periodik dari moving average agar dapat mencocokkan perubahan tren dari periode yang berbeda. Anda juga dapat mencoba berbagai jenis moving average.
Anda dapat mengatur amplitudo penyesuaian untuk mengkonfirmasi lebih lanjut setelah titik terobosan terjadi, untuk menghindari terobosan palsu.
Anda dapat menambahkan instrumen indeks moving average seperti Bollinger Channel pada basis terobosan untuk mendapatkan petunjuk lebih banyak.
Indikator ini dapat digabungkan dengan RSI, MACD, dan lain-lain untuk mendapatkan lebih banyak sinyal trading tambahan dan meningkatkan keakuratan keputusan.
Mengoptimalkan strategi stop loss agar lebih beradaptasi dengan fluktuasi pasar, sekaligus mengendalikan risiko.
Strategi perdagangan terobosan ini memiliki konsep yang jelas dan mudah dimengerti, dengan melacak harga terobosan naik dan turun untuk menilai waktu masuk dan keluar. Ada ruang yang lebih besar untuk mengoptimalkan strategi, dan efek strategi dapat diperkuat dengan mengintegrasikan lebih banyak informasi indikator dan pengoptimalan parameter. Setelah terbiasa dengan konsep dasar strategi ini, efek perdagangan yang lebih baik dapat diperoleh sesuai dengan parameter yang perlu disesuaikan sendiri.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Extremums
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[len])) and rev == false
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
if (not na(close[len])) and rev == true
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()