
Strategi ini diberi nama strategi tren based momentum breakout strategi. Strategi ini menggunakan indikator supertrend untuk menentukan arah tren saat ini dan menggabungkan arah entitas K-line untuk melakukan trend tracking dan melakukan transaksi tren breakout.
Strategi ini terutama mengandalkan indikator SuperTrend untuk menentukan arah tren saat ini. Indikator SuperTrend dikombinasikan dengan rata-rata gelombang nyata (ATR) untuk menghitung naik dan turun, sinyal bullish saat harga menerobos naik, sinyal bearish saat harga turun.
Ketika indikator supertrend dinilai sebagai tren naik, jika garis K ini adalah entitas merah ((harga penutupan lebih rendah dari harga bukaan), lakukan lebih banyak; ketika indikator supertrend dinilai sebagai tren menurun, jika garis K ini adalah entitas hijau ((harga penutupan lebih tinggi dari harga bukaan), lakukan kosong. Dengan demikian, tercapai momentum terobosan perdagangan di bawah pelacakan tren.
Strategi ini menggabungkan penilaian tren dan karakteristik momentum, yang dapat secara efektif memfilter penipuan, meningkatkan efektivitas sinyal perdagangan. Selain itu, mengikuti tren untuk melakukan perdagangan, menghindari operasi berlawanan arah, dan meningkatkan probabilitas keuntungan secara signifikan.
Keunggulan yang disimpulkan sebagai berikut:
Strategi ini memiliki beberapa risiko utama:
Langkah-langkahnya adalah sebagai berikut:
Strategi ini dapat dioptimalkan dari beberapa arah:
Strategi ini secara keseluruhan sangat cocok untuk memegang posisi jangka pendek dan menengah. Kombinasi penilaian tren dan fitur momentum terobosan, dapat secara efektif menyaring kebisingan, meningkatkan kemenangan perdagangan. Strategi ini juga memiliki ruang untuk mengoptimalkan parameter tertentu, dan dengan pengoptimalan lebih lanjut dapat memperoleh efek strategi yang lebih baik.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's SuperTrend Strategy v1.0", shorttitle = "ST 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 = "Lot, %")
cloud = input(25, defval = 25, minval = 5, maxval = 50, title = "cloud, % of ATR")
Factor = input(title = "Super Trend", defval = 3, minval = 1, maxval = 100)
ATR = input(title = "ATR", defval = 7, minval = 1,maxval = 100)
centr = input(true, defval = true, title = "need center of ATR?")
border = input(false, defval = false, title = "need border?")
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")
//Super Trend ATR 1
src = close
Up=hl2-(Factor*atr(ATR))
Dn=hl2+(Factor*atr(ATR))
TUp=close[1]>TUp[1]? max(Up,TUp[1]) : Up
TDown=close[1]<TDown[1]? min(Dn,TDown[1]) : Dn
Trend = close > TDown[1] ? 1: close< TUp[1]? -1: nz(Trend[1],1)
Tsl1 = Trend==1? TUp: TDown
Tsl2 = Trend==1? TDown: TUp
limit = (Tsl1 - Tsl2) / 100 * cloud
upcloud = Tsl1 - limit
dncloud = Tsl2 + limit
//Cloud
linecolor = Trend == 1 ? green : red
centercolor = centr == true ? blue : na
cloudcolor = Trend == 1 ? green : red
cline = (Tsl1 + Tsl2) / 2
P1 = plot(Tsl1, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-1")
P2 = plot(Tsl2, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-2")
P3 = plot(cline, color = centercolor , style = line , linewidth = 1,title = "SuperTrend Center")
P4 = plot(upcloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center+1")
P5 = plot(dncloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center-1")
fill(P1, P4, color = linecolor == red ? red : lime, transp = 50)
fill(P2, P5, color = linecolor == red ? red : lime, transp = 50)
//Signals
up = Trend == 1 and close < open //and low < cline
dn = Trend == -1 and close > open //and high > cline
//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
strategy.entry("Long", strategy.long, needlong ? lot : 0)
if dn
strategy.entry("Short", strategy.short, needshort ? lot : 0)