
Strategi ini adalah sistem perdagangan pengesanan trend berdasarkan isyarat silang indeks bergerak ((EMA) yang menggabungkan mekanisme penghentian pengesanan dinamik untuk meningkatkan keuntungan dan kesan pengurusan risiko. Logik teras menilai arah trend pasaran berdasarkan hubungan silang antara EMA 13 kitaran pendek dan EMA 33 kitaran panjang, sambil menggunakan silang EMA 13 kitaran dengan EMA 25 kitaran sebagai isyarat keluar dari perdagangan kosong. Strategi ini juga menggabungkan mekanisme penarikan balik semula penarikan balik simulasi slippage dan fungsi penghentian kehilangan pengesanan dinamik, yang membolehkan perdagangan dijalankan lebih dekat dengan persekitaran pasaran sebenar.
Prinsip utama strategi ini adalah menggunakan hubungan silang antara garis EMA berkala untuk mengenal pasti perubahan trend pasaran. Secara khusus:
Isyarat masuk dihasilkan:
Isyarat keluar dihasilkan:
Dinamika Tracking Stop Loss:
Mekanisme penarikan diri yang tidak bertindih:
Simulasi titik geser:
Di samping itu, strategi ini juga mengira dan memaparkan purata bergerak sederhana (SMA) 100 dan 200 kitaran sebagai penunjuk rujukan trend pasaran tambahan, walaupun penunjuk ini tidak digunakan secara langsung untuk menghasilkan isyarat perdagangan. Strategi pengurusan dana menggunakan 20% daripada keuntungan hak akaun sebagai saiz kedudukan lalai bagi setiap perdagangan, untuk mengawal kedudukan yang mudah.
Analisis mendalam mengenai pelaksanaan kod strategi ini dapat disimpulkan sebagai kelebihan yang ketara:
Keupayaan untuk menangkap trendEMA lebih sensitif terhadap perubahan harga daripada SMA dan dapat menangkap perubahan dinamik pasaran lebih awal.
Pengurusan risiko yang lebih baikStrategi ini menggabungkan mekanisme hentian pengesanan dinamik yang secara automatik menyesuaikan harga hentian apabila harga bergerak ke arah yang menguntungkan, untuk melindungi keuntungan yang telah dibuat dan memberi ruang yang cukup untuk turun naik.
Pelaksanaan logik yang jelas dan ketat: Menggunakan isExiting token untuk mengawal logik keluar, mengelakkan beberapa isyarat keluar dari satu K-line, mengurangkan kos transaksi yang tidak perlu dan kerumitan sistem.
Kebolehan beradaptasiStrategi ini boleh digunakan untuk pasaran berbilang dan kosong, dapat mengubah arah perdagangan secara fleksibel dalam keadaan pasaran yang berbeza, memanfaatkan peluang perdagangan dua hala.
Simulasi persekitaran perdagangan sebenarDengan memperkenalkan simulasi titik slippage ((5 titik), hasil pengesanan semula strategi lebih dekat dengan persekitaran perdagangan sebenar, mengelakkan risiko pengoptimuman berlebihan dan penyesuaian kurva.
Operasi mudah untuk dilaksanakanPeraturan strategi jelas, mekanisme penjanaan isyarat mudah dan intuitif, mudah untuk pelaksanaan operasi sebenar, mengurangkan kerumitan pelaksanaan strategi.
Mekanisme Hentikan Kerosakan FleksibelBerbeza dengan penutupan tetap tradisional, mekanisme penutupan pelacakan dinamik dapat melindungi keselamatan dana, memberikan ruang yang mencukupi untuk trend, meningkatkan kadar keuntungan dan kerugian strategi.
Walaupun terdapat banyak kelebihan, strategi ini mempunyai risiko yang perlu diperhatikan:
Laggasi isyarat silangSinyal silang EMA pada dasarnya adalah penunjuk yang ketinggalan, yang boleh menyebabkan titik masuk dan keluar tidak sesuai, terutamanya di pasaran yang berfluktuasi dengan cepat, yang mungkin terlepas titik masuk terbaik atau keluar hanya selepas trend berbalik.
Pasaran bergolak kurang baikTanda-tanda EMA yang bercampur-campur sering berlaku dalam pasaran yang bergolak atau bergolak, yang boleh menyebabkan perdagangan yang kerap dan “penembusan palsu” yang menghasilkan kerugian berturut-turut.
Sensitiviti parameter tracking stop lossJumlah titik hentian pengesanan yang tetap ((10) dan perpindahan ((2)) mungkin tidak sesuai untuk semua keadaan dan jenis pasaran, dan mungkin mencetuskan hentian terlalu awal dalam pasaran yang bergelombang tinggi, dan mungkin terlalu lebar dalam pasaran yang bergelombang rendah.
Kepercayaan kepada satu petunjuk teknikalStrategi ini bergantung kepada isyarat silang EMA, dan kekurangan penilaian tambahan untuk penunjuk pengesahan lain meningkatkan risiko kesalahan penilaian.
Kekurangan pengurusan kedudukan tetapStrategi menggunakan peratusan hak milik tetap ((20%) sebagai saiz kedudukan, tidak menyesuaikan kedudukan secara dinamik mengikut turun naik pasaran atau kekuatan isyarat perdagangan, dan mungkin gagal mencapai pengurusan wang yang optimum.
Kaedah-kaedah yang berpotensi untuk menangani risiko-risiko ini termasuk:
Berdasarkan analisis mendalam mengenai kod strategi, berikut adalah beberapa arah pengoptimuman yang mungkin:
Memperkenalkan mekanisme penapisan persekitaran pasaran:
Optimumkan parameter tracking stop loss:
Mekanisme pengesahan isyarat yang dipertingkat:
Meningkatkan strategi pengurusan wang:
Pilihan jangka masa yang optimum:
Mekanisme penyesuaian parameter:
Objektif utama arah pengoptimuman ini adalah untuk meningkatkan kestabilan dan kebolehpasaran strategi, mengurangkan isyarat palsu, mengoptimumkan pengurusan wang, dan membolehkan strategi mengekalkan prestasi yang stabil dalam keadaan pasaran yang berbeza. Khususnya, mengubah parameter tetap (seperti kitaran EMA dan mengesan titik berhenti) menjadi parameter yang dapat menyesuaikan diri, yang dapat meningkatkan prestasi strategi dengan ketara dalam keadaan pasaran yang berbeza.
Strategi penangguhan pergerakan rata-rata bergerak silang dan pergerakan pergerakan yang cekap adalah sistem penjejakian trend yang mempunyai struktur yang jelas, melaksanakan logik yang ketat. Mengenali titik perubahan trend pasaran melalui hubungan silang 13 kitaran EMA dengan 33 kitaran EMA ((multihead) dan 25 kitaran EMA ((headless), digabungkan dengan mekanisme penangguhan pergerakan pergerakan yang dinamik untuk menguruskan risiko, strategi ini dapat melindungi keselamatan dana perdagangan sambil menangkap trend pasaran.
Kelebihan utama strategi adalah mekanisme penjanaan isyarat yang mudah dilihat, pengendalian risiko yang baik, dan kemampuan untuk menyesuaikan diri dengan pasaran dua hala. Walau bagaimanapun, sebagai sistem yang bergantung kepada indikator teknikal yang tertinggal, strategi mungkin tidak berfungsi dengan baik dalam pasaran yang bergolak, dan menghadapi batasan semula jadi EMA.
Dengan memperkenalkan mekanisme penapisan persekitaran pasaran, mengoptimumkan parameter tracking stop loss, meningkatkan mekanisme pengesahan isyarat, memperbaiki strategi pengurusan wang dan mengembangkan algoritma penyesuaian parameter, prestasi strategi dijangka meningkat dengan ketara. Khususnya, penyesuaian parameter tracking stop loss dengan penyesuaian indikator kadar turun naik, pengesahan isyarat perdagangan dengan penyesuaian pelbagai indikator teknikal, dan penyesuaian parameter dinamik berdasarkan keadaan pasaran adalah arah pengoptimuman yang sangat menjanjikan.
Bagi peniaga, strategi ini paling sesuai digunakan untuk perdagangan jangka menengah dan panjang yang mempunyai ciri-ciri trend yang jelas, terutamanya untuk mengendalikan varieti perdagangan utama dalam bingkai 4 jam atau hari. Apabila digunakan secara langsung, disarankan untuk menggabungkan analisis asas dan pemahaman tentang keadaan pasaran yang lebih luas, untuk meningkatkan lagi keberkesanan dan ketangkasan strategi.
/*backtest
start: 2025-03-08 00:00:00
end: 2025-04-07 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("EMA Crossover (New Trailing Stop)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=20, slippage=5)
// Define EMA and SMA lengths
shortEMALength = 13
midEMALength = 25
longEMALength = 33
sma100Length = 100
sma200Length = 200
// Calculate EMAs
shortEMA = ta.ema(close, shortEMALength)
midEMA = ta.ema(close, midEMALength)
longEMA = ta.ema(close, longEMALength)
// Calculate SMAs
sma100 = ta.sma(close, sma100Length)
sma200 = ta.sma(close, sma200Length)
// Plot EMAs and SMAs
plot(shortEMA, title="13 EMA", color=color.blue)
plot(midEMA, title="25 EMA", color=color.red)
plot(longEMA, title="33 EMA", color=color.green)
plot(sma100, title="100 SMA", color=color.purple)
plot(sma200, title="200 SMA", color=color.orange)
// ENTRY CONDITIONS
longCondition = shortEMA >= longEMA and strategy.position_size <= 0
shortCondition = shortEMA <= longEMA and strategy.position_size >= 0
// EXIT CONDITIONS
exitLong = shortEMA < longEMA // Exit long when 13 EMA falls below 33 EMA
exitShort = shortEMA > midEMA // Exit short when 13 EMA rises above 25 EMA
// Flag to track if an exit has been processed
var bool isExiting = false
// EXECUTE LONG
if (longCondition and not isExiting)
strategy.close("Short", comment="Close Short for Long Entry")
strategy.entry("Long", strategy.long, alert_message="FAST Long Entry: 13 EMA >= 33 EMA")
// EXECUTE SHORT
if (shortCondition and not isExiting)
strategy.close("Long", comment="Close Long for Short Entry")
strategy.entry("Short", strategy.short, alert_message="FAST Short Entry: 13 EMA <= 33 EMA")
// Trailing Stop Parameters
trailOffsetPts = 2
trail = 10
// Trailing Stop for Longs
if (strategy.position_size > 0 and not isExiting)
strategy.exit("Long Trail Exit", from_entry="Long", trail_offset=trailOffsetPts, trail_price=high - trail, comment="Long Trailing Stop")
isExiting := true
// Trailing Stop for Shorts
if (strategy.position_size < 0 and not isExiting)
strategy.exit("Short Trail Exit", from_entry="Short", trail_offset=trailOffsetPts, trail_price=low + trail, comment="Short Trailing Stop")
isExiting := true
// EXIT STRATEGY
if (exitLong and not isExiting)
strategy.close("Long", comment="Exit Long: 13 EMA < 33 EMA")
isExiting := true
if (exitShort and not isExiting)
strategy.close("Short", comment="Exit Short: 13 EMA > 25 EMA")
isExiting := true
// Reset the exit flag at the end of each bar
if (barstate.isconfirmed)
isExiting := false