
Strategi kuantitatif trend pemantauan dinamik bertingkat adalah sistem pemantauan trend lanjutan yang berasaskan Hull Moving Average (HMA) yang menggabungkan pengenalan isyarat masuk yang pintar dengan mekanisme berhenti berhenti dinamik. Inti strategi ini adalah menggunakan isyarat masuk yang dibangunkan menggunakan indikator HMA dengan kitaran yang berbeza (100, 200, 500, 1000), sambil menggunakan mekanisme perlindungan tiga lapisan: hentikan keras sebelum mencetuskan, hentikan isyarat hentikan pintar selepas mencetuskan dan penapis arah trend, membentuk satu sistem perdagangan yang lengkap.
Logik utama strategi ini boleh dibahagikan kepada empat komponen utama:
Sistem penjanaan isyarat masuk:
Mekanisme pemicu:
Mekanisme Henti Kerosakan Penjejakan Cerdas:
Perlindungan kerosakan keras:
Strategi ini menggunakan kawalan kedudukan tunggal yang ketat (tidak ada penambahan piramid), memastikan risiko dapat dikawal. Sistem secara automatik merekodkan harga masuk, harga tertinggi / terendah dan keadaan mencetuskan, dan pengurusan wang sepenuhnya automatik.
Analisis mendalam mengenai pelaksanaan kod strategi ini dapat disimpulkan sebagai kelebihan yang ketara:
Pengesahan trend pelbagai peringkatSistem yang dibina oleh HMA dengan empat kitaran yang berbeza membentuk mekanisme pengesahan berganda yang ketat, meningkatkan kebolehpercayaan isyarat masuk dengan ketara dan mengurangkan kerosakan akibat penembusan palsu.
Pengurusan risiko penyesuaianStrategi ini direka bentuk dengan dua tahap penangguhan (penangguhan keras sebelum mencetuskan dan penangguhan yang dijejaki selepas mencetuskan), yang dapat menghentikan kerugian tepat pada masanya dalam keadaan yang sangat buruk, dan memaksimumkan keuntungan dalam keadaan yang sedang tren, menyesuaikan diri dengan keadaan pasaran yang berbeza.
Pengekalan keuntungan yang tepatMekanisme Hentian Tracking Dinamik mampu menjejaki harga tinggi/rendah secara automatik, mewujudkan falsafah perdagangan klasik “biarkan keuntungan berlari”, mengunci sebahagian besar keuntungan tanpa memerlukan campur tangan manusia.
Kustomisasi yang tinggiTiga parameter utama (tetingkatan setinggan, jangkauan, dan kerugian maksimum) boleh disesuaikan oleh pengguna untuk pelbagai jenis, turun naik dan pilihan risiko yang berbeza.
Sokongan visualStrategi ini merangkumi visualisasi petunjuk HMA dan awan trend, yang membolehkan peniaga memahami secara intuitif keadaan trend semasa dan kesahihan titik masuk.
Walaupun strategi ini direka dengan baik, terdapat risiko yang berpotensi:
Risiko gegaran: Dalam pasaran bergolak dalam tempoh tanpa trend yang jelas, isyarat persilangan HMA mungkin menghasilkan isyarat palsu yang kerap, yang menyebabkan kerugian berturut-turut. Penyelesaian adalah dengan menambah syarat penapisan tambahan, seperti penunjuk kadar turun naik atau pengesahan kekuatan trend.
Kepekaan ParameterPrestasi strategi sangat bergantung kepada tiga parameter utama. Parameter yang tidak sesuai boleh menyebabkan kerugian awal atau kehilangan sebahagian besar keuntungan.
Titik tergelincir dan kesan kos urus niagaDalam persekitaran cakera, titik tergelincir dan kos urus niaga boleh mempengaruhi prestasi strategi secara ketara, terutamanya untuk tetapan yang lebih kecil. Faktor-faktor ini harus dipertimbangkan dalam pengukuran semula dan parameter harus disesuaikan dengan betul.
Penundaan perubahan arahHull Moving Average walaupun lebih cepat bertindak balas daripada purata bergerak tradisional, tetapi masih ada ketidakselesaan tertentu, yang boleh menyebabkan penarikan balik yang lebih besar jika trend tiba-tiba berbalik. Anda boleh mempertimbangkan untuk mengoptimumkan masa keluar dengan gabungan indikator jangka pendek yang lebih sensitif.
Kepercayaan kepada satu petunjuk teknikalStrategi ini bergantung kepada siri indikator HMA, kekurangan analisis pasaran berbilang dimensi. Ia mungkin tidak berfungsi dengan baik dalam keadaan pasaran tertentu. Ia disyorkan untuk digabungkan dengan jenis indikator lain seperti indikator momentum atau indikator jumlah pesanan.
Berdasarkan prinsip-prinsip strategi dan analisis risiko, pengoptimuman boleh dilakukan dalam beberapa arah:
Sistem parameter yang beradaptasi:
Analisis pelbagai kerangka masa:
Mekanisme pengesahan kuantitatif:
Paru-paru yang tidak berfungsi:
Pengoptimuman Pembelajaran Mesin:
Mekanisme Perlindungan Terhadap Trend:
Strategi kuantitatif trend pemantauan dinamik bertingkat adalah strategi perdagangan kuantitatif yang canggih yang menggabungkan indikator purata bergerak Hull berbilang tempoh dengan sistem berhenti-rugi yang cerdas. Ia meningkatkan kebolehpercayaan isyarat masuk melalui mekanisme pengesahan trend yang ketat, sambil menggunakan sistem kawalan risiko bertingkat yang merangkumi (perhentian keras sebelum pemicu dan pemantauan pergerakan selepas pemicu) mencapai keseimbangan maksimum antara perlindungan dana dan keuntungan.
Kelebihan utama strategi ini adalah kaedah pengurusan keuntungan yang beradaptasi dan sistematis, yang dapat mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran. Walau bagaimanapun, strategi ini juga mempunyai risiko seperti sensitiviti parameter dan ketergantungan pada satu indikator, yang memerlukan pengoptimuman oleh peniaga dengan menambah bukti indikator tambahan, membina sistem parameter yang beradaptasi dan analisis jangka masa berbilang.
Dengan menetapkan parameter yang munasabah dan digabungkan dengan analisis persekitaran pasaran, strategi ini boleh berfungsi sebagai komponen teras sistem pengesanan trend jangka panjang dan membantu peniaga untuk merebut peluang trend utama dan mencapai pertumbuhan modal yang mantap sambil mengawal risiko.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-07-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Samil Dogru SmartTrailing v1.1", overlay=true, pyramiding=0,
default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === PARAMETRELER ===
triggerPerc = input.float(1.2, "Tetikleme Eşiği (%)", step=0.1)
trailPerc = input.float(0.8, "Trailing Marj (%)", step=0.1)
hardStopPerc = input.float(2.5, "Maksimum Zarar (%) (Tetiklenmeden önce)", step=0.1)
// === HMA'lar (giriş için referans) ===
hma100 = ta.hma(close, 100)
hma200 = ta.hma(close, 200)
hma500 = ta.hma(close, 500)
hma600 = ta.hma(close, 600)
isBull = hma500 > hma600
longCond = ta.crossover(hma100, hma200) and isBull and hma100 > hma500 and hma200 > hma500
shortCond = ta.crossunder(hma100, hma200) and not isBull and hma100 < hma500 and hma200 < hma500
// === GİRİŞLER ===
if (longCond)
strategy.entry("Long", strategy.long)
if (shortCond)
strategy.entry("Short", strategy.short)
// === DURUM DEĞİŞKENLERİ ===
var float entryPrice = na
var float maxSinceEntry = na
var bool triggered = false
// === POZİSYON AÇILDIĞINDA BAŞLAT ===
if strategy.opentrades > 0
if na(entryPrice)
entryPrice := strategy.position_avg_price
maxSinceEntry := close
triggered := false
else
// Güncel zirve/dip güncellemesi
if strategy.position_size > 0
maxSinceEntry := math.max(maxSinceEntry, close)
if strategy.position_size < 0
maxSinceEntry := math.min(maxSinceEntry, close)
// Tetikleme kontrolü
longTriggerPrice = entryPrice * (1 + triggerPerc / 100)
shortTriggerPrice = entryPrice * (1 - triggerPerc / 100)
if strategy.position_size > 0 and close >= longTriggerPrice
triggered := true
if strategy.position_size < 0 and close <= shortTriggerPrice
triggered := true
// Çıkış kontrolü (trailing)
if triggered
if strategy.position_size > 0
trailStop = maxSinceEntry * (1 - trailPerc / 100)
if close <= trailStop
strategy.close("Long", comment="TRAIL EXIT LONG")
if strategy.position_size < 0
trailStop = maxSinceEntry * (1 + trailPerc / 100)
if close >= trailStop
strategy.close("Short", comment="TRAIL EXIT SHORT")
else
// Tetiklenmeden önce sert zarar çıkışı (hard stop)
if strategy.position_size > 0 and close <= entryPrice * (1 - hardStopPerc / 100)
strategy.close("Long", comment="HARD STOP LONG")
if strategy.position_size < 0 and close >= entryPrice * (1 + hardStopPerc / 100)
strategy.close("Short", comment="HARD STOP SHORT")
// === POZİSYON KAPANDIĞINDA RESET ===
if strategy.opentrades == 0
entryPrice := na
maxSinceEntry := na
triggered := false
// === GÖRSEL ===
plot(hma100, title="HMA 100", color=color.white, linewidth=2)
plot(hma200, title="HMA 200", color=color.yellow, linewidth=3)
p1 = plot(hma500, title="HMA 500", color=color.green, linewidth=2)
p2 = plot(hma600, title="HMA 600", color=color.red, linewidth=2)
fill(p1, p2, color=isBull ? color.new(color.green, 70) : color.new(color.red, 70), title="HMA Cloud")