
Strategi ini adalah strategi perdagangan garis pendek yang dirancang khusus untuk grafik 15 menit, menggabungkan mekanisme pelacakan tren dan konfirmasi dinamika, sekaligus menggunakan stop loss dan stop loss level yang dinamis berdasarkan volatilitas pasar. Ide inti adalah untuk mengidentifikasi arah tren utama melalui EMA (~ 50), MACD pilar untuk mengkonfirmasi arah dinamika, RSI untuk menyaring overbought dan oversold, dan menggunakan indikator ATR untuk mengatur posisi stop loss dan stop loss sesuai dengan dinamika pasar.
Strategi ini didasarkan pada kerja sama dari beberapa indikator teknis:
Identifikasi tren: Menggunakan 50 periode indeks moving average (EMA) sebagai indikator tren utama. Ketika harga berada di atas EMA, diidentifikasi sebagai tren naik; Ketika harga berada di bawah EMA, diidentifikasi sebagai tren turun.
Konfirmasi momentum: Mengetahui pergerakan harga melalui grafik MACD (MACD Histogram). Nilai positif menunjukkan pergerakan naik, nilai negatif menunjukkan pergerakan turun. Indikator ini dihitung oleh garis cepat (siklus 12), garis lambat (siklus 26) dan garis sinyal (siklus 9).
Filter kondisi pasarRSI antara 50-70 dianggap sebagai bullish tetapi tidak terlalu overbought, RSI antara 30-50 dianggap sebagai bearish tetapi tidak terlalu oversold.
Manajemen RisikoStop loss dan stop stop level berdasarkan rentang rata-rata nyata (ATR) yang dinamis. Stop loss ditetapkan menjadi 1x ATR dan stop stop ditetapkan menjadi 2x ATR, dapat disesuaikan dengan preferensi risiko pribadi.
Syarat masuknya jelas:
Kombinasi kondisi bertingkat ini memastikan kualitas sinyal perdagangan dan secara efektif mengurangi sinyal yang salah.
Dengan analisis kode yang mendalam, strategi ini menunjukkan beberapa keuntungan yang signifikan:
Mekanisme multiple confirmationIni menggabungkan indikator tiga dimensi tren, momentum, dan overbought dan oversold untuk membentuk mekanisme konfirmasi ganda, mengurangi sinyal palsu, dan meningkatkan akurasi perdagangan.
Adaptasi Manajemen Risiko: Menggunakan ATR untuk secara dinamis menyesuaikan level stop loss dan stop loss, memungkinkan strategi untuk beradaptasi dengan kondisi pasar yang berbeda, secara otomatis memperluas jangkauan stop loss di pasar yang berfluktuasi tinggi, dan mempersempit jangkauan stop loss di pasar yang berfluktuasi rendah.
Logika transaksi yang jelasKondisi masuk dan keluar didefinisikan dengan jelas, tanpa faktor penilaian subjektif, mudah untuk dilakukan dan diperhitungkan.
Fleksibel dalam penyesuaian parameterSemua parameter penting dapat disesuaikan, termasuk panjang EMA, parameter MACD, RSI threshold, dan ATR multiplier, sehingga strategi dapat disesuaikan dengan berbagai lingkungan pasar dan gaya perdagangan individu.
Sinyal perdagangan visual: Kode ini berisi fitur visualisasi sinyal, yang secara intuitif menampilkan titik masuk di grafik, untuk membantu pemahaman dan optimalisasi strategi.
Risiko-keuntungan relatif tetapDengan menetapkan stop loss dua kali lipat dari stop loss, ini memastikan rasio risiko / keuntungan yang menguntungkan, yang berkontribusi pada keuntungan jangka panjang.
Meskipun strategi ini dirancang dengan baik, ada risiko potensial berikut:
Performa Bursa BergoyangDalam pasar yang bergoyang di lateral, strategi dapat menghasilkan beberapa sinyal yang salah, yang menyebabkan kerugian berturut-turut. Solusinya adalah menambahkan kondisi penyaringan pasar goyang tambahan, atau menghentikan perdagangan selama goyang yang jelas.
Risiko Penembusan Palsu: Harga yang cepat mundur setelah EMA yang singkat dapat memicu sinyal yang salah. Anda dapat mempertimbangkan untuk menambahkan periode konfirmasi atau menggabungkan indikator volume transaksi untuk memfilter penembusan palsu.
Keterbatasan ATR tetapMeskipun ATR dapat beradaptasi dengan perubahan volatilitas, perkalian tetap mungkin terlalu besar atau terlalu kecil dalam kondisi pasar tertentu. Solusinya adalah menyesuaikan perkalian ATR secara dinamis berdasarkan fluktuasi tingkat historis.
Parameter yang dioptimalkan untuk risiko overfitOptimalisasi parameter indikator yang berlebihan dapat menyebabkan strategi berkinerja baik pada data historis tetapi gagal dalam real-time. Untuk mengurangi risiko ini, dianjurkan untuk menggunakan optimalisasi bertahap dan verifikasi ke depan.
Risiko Pasar Ekstrim: Dalam situasi pasar yang sangat berfluktuasi atau melonjak, stop loss mungkin tidak dapat dilaksanakan sesuai dengan ekspektasi, menyebabkan kerugian melebihi ekspektasi. Anda dapat mempertimbangkan untuk menetapkan jumlah stop loss maksimum sebagai perlindungan tambahan.
Setelah menganalisis kode, kami menemukan beberapa kemungkinan optimasi:
Tambahkan kondisi penyaringan waktu: Mengingat aktivitas pasar, Anda dapat menambahkan filter waktu, hanya berdagang di periode tertentu, menghindari periode likuiditas rendah atau volatilitas tinggi.
Konfirmasi Transaksi TerpaduStrategi saat ini hanya didasarkan pada indikator harga, dan indikator volume transaksi dapat ditambahkan sebagai konfirmasi tambahan untuk meningkatkan kualitas sinyal. Secara khusus, logika perbandingan volume transaksi dengan rata-rata bergerak dapat ditambahkan.
Dinamika penyesuaian ATR: Mengatur stop loss dan stop loss ATR secara otomatis berdasarkan volatilitas historis pasar, meningkatkan nilai pada periode volatilitas tinggi, mengurangi nilai pada periode volatilitas rendah. Hal ini dapat dilakukan dengan menghitung indikator volatilitas (misalnya, perbedaan standar dalam kisaran riil per hari).
Bergabung dengan filter intensitas tren: Menggunakan indikator kekuatan tren seperti ADX, hanya berdagang saat tren jelas, menghindari sinyal salah dari pasar yang bergoyang. Metode implementasi adalah meningkatkan penilaian kondisi ADX.
Penghentian Runtuh: Strategi saat ini menggunakan stop loss tetap, dapat dipertimbangkan untuk menerapkan stop loss bergerak berbasis ATR, mengunci sebagian dari keuntungan.
Mekanisme pembagian keuntunganPertimbangkan keuntungan bertahap, misalnya mencapai posisi kosong 50% pada 1 kali lipat ATR, posisi kosong yang tersisa pada 2 kali lipat ATR, meningkatkan profitabilitas keseluruhan. Ini memerlukan modifikasi pada bagian pelaksanaan perdagangan, untuk mencapai fungsi kosong sebagian.
Strategi pelacakan tren chart 15 menit adalah sistem perdagangan garis pendek yang dirancang dengan baik yang memberikan sinyal masuk berkualitas tinggi melalui kombinasi EMA, MACD dan RSI, dan menggunakan ATR untuk melakukan manajemen risiko dinamis. Strategi ini sangat cocok untuk lingkungan pasar yang jelas tren, dan sangat cocok untuk varietas perdagangan yang berubah dengan cepat.
Keunggulan inti dari strategi ini adalah mekanisme pengesahan ganda dan manajemen risiko adaptif, terutama terbatas pada kinerja pasar yang bergoyang dan kesulitan pengoptimalan parameter. Dengan memperkenalkan langkah-langkah pengoptimalan seperti pengesahan volume transaksi, penyaringan kekuatan tren dan penyesuaian parameter dinamis, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
Bagi trader, ini adalah kerangka strategi yang logis, mudah dipahami dan diterapkan, yang dapat digunakan sebagai dasar yang baik untuk membangun sistem perdagangan pribadi. Namun, strategi apa pun harus diuji dengan baik sebelum diterapkan di tempat nyata, dan disesuaikan dengan toleransi risiko pribadi dan lingkungan pasar.
/*backtest
start: 2025-04-02 00:00:00
end: 2025-04-06 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Scalping 15min: EMA + MACD + RSI + ATR-based SL/TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTURI ===
emaLength = input.int(50, title="EMA Length")
macdFast = input.int(12, title="MACD Fast Length")
macdSlow = input.int(26, title="MACD Slow Length")
macdSignal = input.int(9, title="MACD Signal Smoothing")
rsiLength = input.int(14, title="RSI Length")
rsiOB = input.int(70, title="RSI Overbought")
rsiOS = input.int(30, title="RSI Oversold")
atrLength = input.int(14, title="ATR Length")
slATRmult = input.float(1.0, title="SL Multiplier (ATR)")
tpATRmult = input.float(2.0, title="TP Multiplier (ATR)")
// === CALCULE ===
ema = ta.ema(close, emaLength)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
macdHist = macdLine - signalLine
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// === CONDIȚII DE INTRARE ===
longCond = close > ema and macdHist > 0 and rsi > 50 and rsi < rsiOB
shortCond = close < ema and macdHist < 0 and rsi < 50 and rsi > rsiOS
// === EXECUTARE TRADE ===
if (longCond)
strategy.entry("Long", strategy.long)
if (shortCond)
strategy.entry("Short", strategy.short)
// === TP & SL DINAMIC PRIN ATR ===
float stopLevel = na
float takeLevel = na
if (strategy.position_size > 0)
stopLevel := close - slATRmult * atr
takeLevel := close + tpATRmult * atr
if (strategy.position_size < 0)
stopLevel := close + slATRmult * atr
takeLevel := close - tpATRmult * atr
strategy.exit("Exit", from_entry="", stop=stopLevel, limit=takeLevel)
// === DESENARE ===
plot(ema, color=color.orange, title="EMA 50")
plotshape(longCond, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long Signal", size=size.small)
plotshape(shortCond, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Signal", size=size.small)