
Strategi ini adalah sistem perdagangan pelacakan tren yang menggabungkan analisis multi-frame, yang didasarkan pada sinyal crossover rata-rata bergerak indeks (EMA) dari tiga periode yang berbeda, dan dibantu dengan penyaringan pada tingkat dukungan dan resistensi frame waktu tinggi. Inti dari strategi ini adalah memanfaatkan hubungan crossover antara EMA5, EMA8 dan EMA13 untuk menghasilkan sinyal beli dan jual, dan memperkenalkan mekanisme stop loss berbasis persentase yang cerdas untuk melindungi keuntungan yang telah diperoleh dan membatasi potensi kerugian.
Strategi ini bekerja dengan cara menganalisis kode dengan lebih dalam:
Generasi sinyal:
Penyaringan kotak waktu tinggi:
Manajemen Risiko:
Tanggapan grafis:
Strategi ini memiliki beberapa keuntungan yang menonjol:
Konfirmasi sinyal ganda: Memerintahkan EMA5 untuk melewati EMA8 dan EMA13 secara bersamaan, mengurangi kemungkinan penembusan palsu dan meningkatkan keandalan sinyal.
Analisis Multi-Frame: Mengintegrasikan tingkat dukungan dan resistensi pada frame waktu yang lebih tinggi ( jam) untuk membantu pedagang mempertimbangkan keputusan perdagangan dalam struktur pasar yang lebih besar.
Smart Dynamic Stop: Berbeda dengan Stop Fixed, mekanisme Tracking Stop memungkinkan pertumbuhan keuntungan yang berkelanjutan, meningkatkan rasio risiko-return, sekaligus melindungi dana.
Umpan balik visual yang jelas: memungkinkan pedagang untuk memahami keadaan pasar dan logika strategi secara intuitif dengan memetakan indikator, sinyal, dan titik keluar utama di grafik.
Kemampuan perdagangan dua arah: Strategi ini mendukung perdagangan multihead dan headless sekaligus, dapat mencari peluang dalam berbagai lingkungan pasar untuk memaksimalkan potensi keuntungan.
Pengendalian risiko parametrisasi: Tracking stop loss bias dapat disesuaikan oleh pengguna (dari 0,01% hingga 1%), memungkinkan pengaturan parameter risiko yang fleksibel sesuai dengan preferensi risiko pribadi dan kondisi pasar.
Meskipun ada banyak keuntungan dari strategi ini, ada juga risiko potensial:
Risiko pasar bergoyang: Dalam pasar horizontal tanpa tren yang jelas, EMA silang dapat menghasilkan sinyal palsu yang sering, yang menyebabkan kerugian berturut-turut. Solusinya adalah menambahkan struktur pasar atau filter volatilitas, dan hanya berdagang ketika tren jelas.
Risiko Tracking Stop Loss Gap: Dalam kasus volatilitas cepat atau overnight gap, harga mungkin melompati level tracking stop loss, menyebabkan harga stop loss yang sebenarnya jauh lebih rendah dari yang diharapkan. Disarankan untuk mempertimbangkan untuk menambahkan batas kerugian maksimum tetap sebagai perlindungan tambahan.
Sensitivitas parameter: Kinerja strategi sangat bergantung pada periode EMA yang dipilih dan persentase stop loss yang dilacak. Peraturan parameter yang berbeda mungkin diperlukan untuk pasar dan waktu yang berbeda.
Kurangnya adaptasi volatilitas: Tracking stop loss pada versi saat ini didasarkan pada persentase tetap, yang mungkin terlalu ketat di pasar volatilitas tinggi dan terlalu longgar di pasar volatilitas rendah. Pertimbangkan untuk menyesuaikan jarak tracking stop loss berdasarkan ATR.
Sinyal Konflik: Dalam kondisi pasar tertentu, sinyal EMA silang dapat bertentangan dengan tingkat dukungan / resistensi pada grafik 1 jam, yang menyebabkan kesulitan dalam pengambilan keputusan perdagangan. Dalam hal ini, aturan prioritas yang jelas harus dibuat atau menunggu sinyal sesuai.
Berdasarkan analisis kode, berikut adalah arah potensial untuk meningkatkan strategi:
Memperkenalkan Stop Dinamis ATR: menggantikan Stop Peratusan Tetap yang melacak Stop, menggunakan Stop Dinamis yang didasarkan pada rata-rata amplitudo fluktuasi nyata (ATR), lebih baik menyesuaikan dengan karakteristik fluktuasi pasar yang berbeda. Ini dapat memberikan ruang stop yang lebih longgar pada periode fluktuasi tinggi, dan lebih dekat dengan harga pada periode fluktuasi rendah.
Menambahkan penyaringan kekuatan tren: mengintegrasikan ADX (Indeks Ke arah Rata-rata) atau indikator kekuatan tren serupa, hanya melakukan perdagangan ketika ada konfirmasi tren yang kuat, menghindari sinyal palsu yang sering terjadi di pasar horizontal.
Menambahkan konfirmasi volume transaksi: Memerintahkan sinyal transaksi yang disertai dengan volume transaksi yang lebih tinggi dari rata-rata, meningkatkan kredibilitas terobosan, mengurangi erosi sinyal palsu pada akun.
Mengimplementasikan manajemen risiko yang dinamis: Mengatur ukuran posisi secara otomatis berdasarkan ukuran akun, volatilitas historis, dan tingkat kemenangan, untuk mengoptimalkan potensi pertumbuhan modal sambil menjaga risiko terkendali.
Optimalkan filter timeframe tinggi: Strategi saat ini menggunakan titik tinggi dan rendah garis K sebelumnya dalam grafik 1 jam sebagai resistensi dukungan, dan dapat mempertimbangkan untuk memperkenalkan algoritma identifikasi resistensi dukungan yang lebih kompleks, seperti kombinasi resistensi dukungan dari area struktur kunci atau beberapa timeframe.
Menambahkan klasifikasi kondisi pasar: mengembangkan sistem klasifikasi lingkungan pasar ((tren, jangkauan, fluktuasi tinggi, dll.)), dan menyesuaikan parameter strategi atau logika perdagangan untuk kondisi pasar yang berbeda, meningkatkan adaptasi.
Multi-frame EMA cross trend tracking strategi menggabungkan elemen analisis teknis klasik dengan teknologi manajemen risiko modern, memberikan pedagang dengan struktur yang jelas, aturan jelas sistem perdagangan. Keunggulan inti adalah bahwa sinyal menghasilkan logika sederhana dan intuitif, sementara dengan melacak mekanisme stop loss untuk mengontrol risiko secara efektif, melindungi keamanan dana.
Strategi yang menggabungkan sinyal masuk yang tepat yang disediakan oleh EMA jangka pendek yang bersilang dengan perspektif struktur pasar yang disediakan oleh level resistensi yang didukung oleh kerangka waktu yang lebih tinggi membantu pedagang untuk menangkap peluang perdagangan probabilitas tinggi ketika arah tren jelas. Meskipun mungkin menghadapi tantangan di pasar yang bergoyang, strategi ini dapat meningkatkan stabilitas dan kinerjanya secara signifikan dalam berbagai lingkungan pasar dengan arah optimasi yang disarankan, terutama dengan menambahkan filter intensitas tren dan stop loss dinamis berbasis ATR.
Bagi investor yang ingin membangun metode perdagangan yang sistematis, strategi ini memberikan kerangka dasar yang kuat yang dapat disesuaikan dan dioptimalkan lebih lanjut sesuai dengan preferensi risiko pribadi dan tujuan perdagangan. Dengan mengikuti aturan strategi secara ketat dan mempertahankan disiplin perdagangan, pedagang diharapkan untuk mendapatkan pengembalian yang konsisten di pasar dengan tren yang jelas.
/*backtest
start: 2025-02-25 14:00:00
end: 2025-03-02 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("EMA Crossover Strategy with S/R and Cross Exits v6", overlay=true, margin_long=100, margin_short=100)
// Eingabeparameter
trailOffset = input.float(0.10, "Trailing Stop Offset (%)", minval=0.01, maxval=1, step=0.01)
// EMA Berechnungen
ema5 = ta.ema(close, 5)
ema8 = ta.ema(close, 8)
ema13 = ta.ema(close, 13)
// Plot der EMAs
plot(ema5, "EMA 5", color.rgb(7, 7, 7), 2)
plot(ema8, "EMA 8", color.new(color.blue, 0), 2)
plot(ema13, "EMA 13", color.new(color.red, 0), 2)
// Unterstützungs- und Widerstandsniveaus aus dem 1-Stunden-Chart
hourlyHigh = request.security(syminfo.tickerid, "60", high[1], gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
hourlyLow = request.security(syminfo.tickerid, "60", low[1], gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
// Plot der Unterstützungs- und Widerstandsniveaus
plot(hourlyHigh, "Hourly Resistance", color.new(color.red, 0), linewidth=2)
plot(hourlyLow, "Hourly Support", color.new(color.green, 0), linewidth=2)
// Signalerkennung
buySignal = ta.crossover(ema5, ema8) and ta.crossover(ema5, ema13)
sellSignal = ta.crossunder(ema5, ema8) and ta.crossunder(ema5, ema13)
// Trailing Stop Berechnungen
var float longStop = na
var float shortStop = na
var float maxHigh = na
var float minLow = na
if strategy.position_size > 0
if strategy.position_size[1] <= 0
maxHigh := high
longStop := high * (1 - trailOffset)
else
maxHigh := math.max(maxHigh, high)
longStop := math.max(longStop, maxHigh * (1 - trailOffset))
else
maxHigh := na
longStop := na
if strategy.position_size < 0
if strategy.position_size[1] >= 0
minLow := low
shortStop := low * (1 + trailOffset)
else
minLow := math.min(minLow, low)
shortStop := math.min(shortStop, minLow * (1 + trailOffset))
else
minLow := na
shortStop := na
// Ausführung der Orders
if (buySignal)
strategy.entry("Long", strategy.long)
if (sellSignal)
strategy.entry("Short", strategy.short)
// Schließen bei gegenteiligem Signal
if (buySignal)
strategy.close("Short")
if (sellSignal)
strategy.close("Long")
// Trailing Stop Anwendung
strategy.exit("Long Exit", "Long", stop = longStop)
strategy.exit("Short Exit", "Short", stop = shortStop)
// Exit-Punkte im Chart mit Kreuzen markieren
plotshape(series=strategy.position_size[1] > 0 and strategy.position_size == 0, title="Long Exit", location=location.belowbar, color=color.red, style=shape.cross, text="Exit Long", textcolor=color.rgb(5, 5, 5), size=size.small)
plotshape(series=strategy.position_size[1] < 0 and strategy.position_size == 0, title="Short Exit", location=location.abovebar, color=color.green, style=shape.cross, text="Exit Short", textcolor=color.rgb(7, 7, 7), size=size.small)
// Plot der Trailing Stops
plot(strategy.position_size > 0 ? longStop : na, "Long Stop", color.green, style=plot.style_circles)
plot(strategy.position_size < 0 ? shortStop : na, "Short Stop", color.red, style=plot.style_circles)