
Strategi ini dinamakan strategi pemecahan momentum berdasarkan trend tracking. Strategi ini menggunakan indikator super trend untuk menentukan arah trend semasa, dan menggabungkan arah entiti K-line untuk mengikuti trend, untuk mencapai perdagangan pemecahan momentum.
Strategi ini bergantung kepada petunjuk SuperTrend untuk menentukan arah trend semasa. Indeks SuperTrend digabungkan dengan purata gelombang sebenar (ATR) untuk mengira tren naik dan tren turun, tanda bullish apabila harga menembusi tren naik, dan tanda bearish apabila harga jatuh dari tren turun.
Apabila indikator super trend menilai sebagai trend naik, jika garis K ini adalah entiti merah ((harga penutupan lebih rendah daripada harga pembukaan), maka lebih banyak; apabila indikator super trend menilai sebagai trend menurun, jika garis K ini adalah entiti hijau ((harga penutupan lebih tinggi daripada harga pembukaan), maka kosong. Dengan demikian, pergerakan terobosan perdagangan yang dijejaki oleh trend dicapai.
Strategi ini menggabungkan penghakiman trend dan ciri-ciri momentum, yang dapat menyaring penembusan palsu dengan berkesan, meningkatkan keberkesanan isyarat perdagangan. Selain itu, mengikuti trend untuk berdagang, mengelakkan operasi berlawanan arah, dan meningkatkan kemungkinan keuntungan.
Kelebihan yang boleh diringkaskan ialah:
Strategi ini mempunyai beberapa risiko utama:
Langkah-langkah yang diambil adalah seperti berikut:
Strategi ini boleh dioptimumkan dengan cara berikut:
Strategi ini secara keseluruhan sangat sesuai untuk memegang kedudukan jangka pendek dan sederhana. Ia menggabungkan penilaian trend dan ciri momentum terobosan, yang dapat menyaring kebisingan dengan berkesan, meningkatkan kemenangan perdagangan. Strategi ini juga mempunyai ruang untuk pengoptimuman parameter tertentu, dengan pengoptimuman lanjut, anda boleh mendapatkan kesan 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)