
Strategi SuperTrend Advanced Multi-Functional Trend Tracking Strategy with Automatic Stop Loss System adalah strategi perdagangan kuantitatif yang berasaskan indikator SuperTrend yang menggabungkan mekanisme stop loss (TP/SL) automatik dan logik pengoptimuman masuk. Inti strategi ini adalah menggunakan indikator SuperTrend untuk mengenal pasti trend pasaran, menghantar isyarat perdagangan pada titik perubahan trend, sambil menyesuaikan titik masuk sebenar melalui peratusan bias, dan menetapkan tahap stop loss yang telah ditentukan untuk menguruskan risiko dan mengunci keuntungan.
Strategi ini berdasarkan pengiraan dan penggunaan petunjuk SuperTrend, asasnya adalah:
Pengiraan SuperTrendPertama, strategi mengira ATR untuk mengukur turun naik pasaran. Kemudian, menggunakan ATR dan penggandaan yang ditakrifkan pengguna untuk menentukan upperBand dan lowerBand. SuperTrend menentukan trend semasa berdasarkan kedudukan harga terhadap orbit ini.
Pengenalan Trend: Apabila harga menembusi ke atas, trend berubah menjadi turun ((-1); apabila harga menembusi ke bawah, trend berubah menjadi naik ((1) perubahan dalam trend, menghantar isyarat beli apabila trend berubah dari -1 menjadi 1, menghantar isyarat jual apabila trend berubah dari 1 menjadi 1
Pengoptimuman kemasukanStrategi ini tidak segera memasuki titik balik trend, tetapi mengira harga yang menyimpang. Untuk isyarat membeli, titik masuk ditetapkan sebagai peratusan tertentu yang lebih rendah daripada harga isyarat ((entryOffsetPerc); untuk isyarat menjual, titik masuk ditetapkan sebagai peratusan tertentu yang lebih tinggi daripada harga isyarat.
Penangguhan automatik: Setelah masuk, strategi akan secara automatik menetapkan stop (TP) dan stop (SL) tahap berdasarkan harga masuk dan parameter peratusan yang ditentukan oleh pengguna. Penutupan perdagangan berbilang kepala ditetapkan sebagai peratusan tertentu di atas harga masuk, dan stop loss ditetapkan sebagai peratusan tertentu di bawah harga masuk; sebaliknya, perdagangan kosong.
Mekanisme pemicu: Strategi akan memantau sama ada harga menyentuh tahap stop atau stop loss. Apabila ia menyentuh, dagangan dipadamkan dan ditunjukkan pada carta dengan tanda yang sesuai.
Pengoptimuman kemasukan selepas trend disahkanBerbeza dengan strategi SuperTrend tradisional, strategi ini membolehkan masuk ke dalam pasaran dengan serta-merta apabila garis trend menyeberang. Strategi ini membolehkan masuk ke dalam pasaran dengan menunggu untuk mendapatkan harga kembali ke kedudukan yang lebih menguntungkan selepas isyarat dihasilkan.
Automasi pengurusan risiko: Strategi ini mempunyai mekanisme berhenti dan hentikan kerugian, yang secara automatik menetapkan syarat keluar yang jelas untuk setiap perdagangan, mengelakkan masalah peniaga yang gagal keluar dari perdagangan yang tidak menguntungkan pada masa yang tepat kerana emosi subjektif.
Memperlihatkan maklumat transaksi: Strategi menandai titik masuk, titik berhenti dan titik pencetus kerugian di carta, membolehkan peniaga melihat secara langsung prestasi perdagangan, membantu analisis dan pengoptimuman strategi kemudian.
Parameter yang boleh disesuaikanStrategi ini menawarkan beberapa parameter yang boleh disesuaikan, termasuk kitaran ATR, pengganda ATR, peratusan stop loss dan peratusan bias masuk, yang membolehkan peniaga menyesuaikan diri dengan keadaan pasaran yang berbeza dan keutamaan risiko peribadi.
Perdagangan dua halaStrategi ini menyokong perdagangan overhead dan overhead pada masa yang sama, yang membolehkan anda memperoleh keuntungan dalam trend naik dan turun, memaksimumkan peluang pasaran.
Risiko trend palsuWalaupun strategi ini mengurangkan masalah ini dengan penyingkiran masuk, pasaran masih boleh mengalami turun naik jangka pendek yang mematahkan trend, dan kemudian kembali ke keadaan trend asal, yang menyebabkan isyarat perdagangan yang tidak perlu dan kerugian.
Batasan untuk peratusan pegangan tetapStrategi menggunakan peratusan tetap untuk menetapkan stop loss, yang mungkin tidak selalu optimum. Dalam pasaran yang bergelombang tinggi, peratusan yang tetap mungkin terlalu kecil menyebabkan pemicu yang kerap; dalam pasaran yang bergelombang rendah, terlalu besar mungkin menyebabkan terlalu banyak kerugian.
Cabaran pengoptimuman parameterUntuk mencari kitaran ATR, perkalian dan stop loss yang optimum memerlukan banyak ujian dan pengoptimuman data sejarah, dan parameter optimum mungkin perlu disesuaikan dengan perubahan keadaan pasaran.
Risiko jurang pasaran: Dalam keadaan harga terjatuh, harga hentian sebenar mungkin jauh lebih rendah atau jauh lebih tinggi daripada paras hentian yang ditetapkan, menyebabkan kerugian sebenar melebihi jangkaan.
Risiko kecairanDalam pasaran yang kurang cair, mungkin tidak dapat melaksanakan pesanan masuk atau keluar pada harga yang dijangkakan, menyebabkan peningkatan slippage dan penurunan prestasi strategi.
Penyelesaian:
Penyesuaian parameterStrategi semasa menggunakan kitaran dan pengganda ATR tetap, yang boleh dioptimumkan untuk menyesuaikan parameter ini secara automatik mengikut turun naik pasaran. Sebagai contoh, meningkatkan kitaran ATR apabila turun naik meningkat atau mengurangkan pengganda, sebaliknya apabila turun naik turun, untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Analisis pelbagai kerangka masaMemperkenalkan mekanisme pengesahan bingkai masa berbilang, yang hanya menjalankan perdagangan apabila arah trend bingkai masa yang lebih tinggi selaras dengan isyarat semasa, dapat mengurangkan risiko perdagangan berlawanan arah dan penembusan palsu.
Tetapan Hentikan Kerosakan Dinamik: Ubah peratusan yang ditetapkan dari stop loss kepada nilai dinamik berdasarkan ATR atau kadar turun naik, supaya ia lebih mencerminkan keadaan pasaran semasa, dan mengelakkan penangguhan terlalu ketat dalam keadaan turun naik yang tinggi atau penangguhan terlalu luas dalam keadaan turun naik yang rendah.
Memastikan jumlah transaksiAnalisis kuantiti perdagangan untuk mengesahkan kesahihan trend, contohnya, mengesahkan isyarat hanya apabila harga pecah disertai dengan jumlah perdagangan yang cukup besar, yang dapat mengurangkan risiko pecah palsu.
Mekanisme penguncian keuntungan separa: Tambahkan fungsi pelonggaran saham secara berturut-turut, melonggarkan sebahagian daripada kedudukan apabila harga mencapai tahap keuntungan tertentu, mengunci sebahagian daripada keuntungan dan memberi ruang kepada baki kedudukan untuk mengikuti trend, meningkatkan kadar pulangan risiko keseluruhan.
Arahan pengoptimuman ini penting kerana mereka dapat menjadikan strategi lebih sesuai dengan perubahan pasaran, mengurangkan isyarat palsu, meningkatkan kestabilan strategi dan keuntungan jangka panjang. Terutama parameter penyesuaian diri dan tetapan stop loss dinamik dapat meningkatkan konsistensi prestasi strategi dalam keadaan pasaran yang berbeza.
Strategi pemantauan trend SuperTrend berbilang fungsi yang canggih menggabungkan kelebihan pemantauan trend klasik dengan teknologi pengurusan risiko moden untuk mengenal pasti trend pasaran melalui petunjuk SuperTrend dan meningkatkan keberkesanan perdagangan dengan mengoptimumkan titik masuk dan mekanisme hentian hentian automatik. Ciri yang paling ketara adalah mencari titik masuk yang lebih baik setelah isyarat trend disahkan, sambil menetapkan parameter keuntungan dan kawalan risiko yang jelas untuk setiap perdagangan.
Kekuatan strategi ini terletak pada struktur sistem perdagangan yang lengkap, dengan peraturan yang jelas dari penjanaan isyarat, pengoptimuman masuk ke pengurusan risiko, sesuai untuk peniaga yang ingin membuat keuntungan dalam pasaran trend sambil mengawal risiko. Walau bagaimanapun, seperti semua strategi mengikuti trend, ia mungkin menghasilkan lebih banyak isyarat palsu dan perdagangan yang rugi di pasaran yang bergolak.
Untuk meningkatkan lagi prestasi strategi, peniaga harus mempertimbangkan untuk memasukkan mekanisme penyesuaian parameter penyesuaian, pengesahan jangka masa berbilang dan pengurusan risiko dinamik untuk menjadikan strategi lebih sesuai dengan keadaan pasaran yang berbeza. Akhirnya, strategi ini memberikan kerangka asas yang baik, yang boleh disesuaikan dan dioptimumkan oleh peniaga mengikut keperluan dan ciri-ciri pasaran.
/*backtest
start: 2024-04-02 00:00:00
end: 2025-04-01 00:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SuperTrend STRATEGY w/ TP & SL", overlay=true)
// === Girdiler ===
atrPeriod = input.int(10, title="ATR Period")
mult = input.float(3.0, title="ATR Multiplier")
src = input.source(hl2, title="Kaynak")
tpPerc = input.float(2.5, title="Take Profit (%)")
slPerc = input.float(1.0, title="Stop Loss (%)")
entryOffsetPerc = input.float(0.2, title="Giriş Noktası Yüzdesel Geriden (%)")
// === ATR ve SuperTrend Hesabı ===
atr = ta.atr(atrPeriod)
upperBand = src - mult * atr
lowerBand = src + mult * atr
prevUpper = nz(upperBand[1], upperBand)
prevLower = nz(lowerBand[1], lowerBand)
upperBand := close[1] > prevUpper ? math.max(upperBand, prevUpper) : upperBand
lowerBand := close[1] < prevLower ? math.min(lowerBand, prevLower) : lowerBand
var trend = 1
trend := close > prevLower ? 1 : close < prevUpper ? -1 : nz(trend[1], 1)
buySignal = trend == 1 and trend[1] == -1
sellSignal = trend == -1 and trend[1] == 1
// === Giriş Noktası Takibi ===
var float lastBuyPrice = na
var float lastSellPrice = na
var int lastBuyBarIndex = na
var int lastSellBarIndex = na
var bool buyEntryPlotted = false
var bool sellEntryPlotted = false
if buySignal
lastBuyPrice := close * (1 - entryOffsetPerc / 100)
lastBuyBarIndex := bar_index
buyEntryPlotted := false
if sellSignal
lastSellPrice := close * (1 + entryOffsetPerc / 100)
lastSellBarIndex := bar_index
sellEntryPlotted := false
// === TP ve SL Hesapları ===
long_tp = lastBuyPrice * (1 + tpPerc / 100)
long_sl = lastBuyPrice * (1 - slPerc / 100)
short_tp = lastSellPrice * (1 - tpPerc / 100)
short_sl = lastSellPrice * (1 + slPerc / 100)
// === TP / SL Temasları (yalnızca işlemden sonra ilk gelen hedef) ===
hitLongTP = false
hitLongSL = false
hitShortTP = false
hitShortSL = false
// === Giriş Etiketleri ===
var label buyLabel = na
var label sellLabel = na
if not na(lastBuyPrice) and not buyEntryPlotted and close <= lastBuyPrice and bar_index > lastBuyBarIndex
buyLabel := label.new(x=bar_index, y=low, text="Giriş", style=label.style_label_up, color=color.fuchsia, textcolor=color.white)
buyEntryPlotted := true
lastBuyBarIndex := bar_index
if not na(lastSellPrice) and not sellEntryPlotted and close >= lastSellPrice and bar_index > lastSellBarIndex
sellLabel := label.new(x=bar_index, y=high, text="Giriş", style=label.style_label_down, color=color.fuchsia, textcolor=color.white)
sellEntryPlotted := true
lastSellBarIndex := bar_index
if not na(lastBuyPrice) and buyEntryPlotted and bar_index > lastBuyBarIndex
if high >= long_tp
hitLongTP := true
lastBuyPrice := na
else if low <= long_sl
hitLongSL := true
lastBuyPrice := na
if not na(lastSellPrice) and sellEntryPlotted and bar_index > lastSellBarIndex
if low <= short_tp
hitShortTP := true
lastSellPrice := na
else if high >= short_sl
hitShortSL := true
lastSellPrice := na
// === Strateji Girişleri ===
if buySignal
strategy.entry("BUY", strategy.long)
if sellSignal
strategy.entry("SELL", strategy.short)
// === SuperTrend Plot ===
upPlot = plot(trend == 1 ? upperBand : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
dnPlot = plot(trend == -1 ? lowerBand : na, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
// === TP & SL Plot ===
plotshape(hitLongTP, location=location.abovebar, style=shape.labeldown, color=color.green, text="TP", textcolor=color.white, title="TP Long")
plotshape(hitLongSL, location=location.abovebar, style=shape.labeldown, color=color.red, text="Stop", textcolor=color.white, title="SL Long")
plotshape(hitShortTP, location=location.belowbar, style=shape.labelup, color=color.green, text="TP", textcolor=color.white, title="TP Short")
plotshape(hitShortSL, location=location.belowbar, style=shape.labelup, color=color.red, text="Stop", textcolor=color.white, title="SL Short")