Strategi ini melakukan operasi perdagangan berdasarkan harga yang terobosan. Ini menghitung harga tertinggi dan terendah dalam periode tertentu, dan menghasilkan sinyal perdagangan ketika harga melampaui batas-batas ini.
Hitung harga tertinggi upex dan harga terendah dnex dalam periode N terakhir.
Ketika harga melebihi uex, lakukan lebih banyak.
Ketika harga di bawah dnex, kosongkan.
Bisa dikonfigurasi untuk melakukan transaksi over/under atau two-way.
Tingkat pemanfaatan dana yang dapat dialokasikan.
Waktu yang dapat dikonfigurasi.
Strategi ini memungkinkan trendfollowing dengan menangkap sinyal penembusan harga. Mengoptimalkan mekanisme verifikasi dan pengaturan parameter penembusan dapat meningkatkan efektivitas. Namun, perlu berhati-hati untuk mencegah penembusan palsu dan mengendalikan risiko. Secara keseluruhan, strategi ini memberikan solusi perdagangan tren yang sederhana dan efektif.
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Brakeout Strategy v1.0", shorttitle = "Brakeout str 1.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")
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
upex = highest(high, len)
dnex = lowest(low, len)
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)
//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[len]))
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = upex + syminfo.mintick)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = dnex - syminfo.mintick)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()