
Tinjauan Strategi
Strategi ini didasarkan pada sinyal silang indeks bergerak cepat dan lambat (EMA) sebagai syarat masuk, dan digabungkan dengan konfirmasi lalu lintas untuk meningkatkan kualitas sinyal. Mekanisme keluar menggunakan desain jaminan tiga, termasuk dua stop loss yang ditetapkan berdasarkan ATR ganda dan mekanisme stop loss yang dilacak, untuk mendapatkan keuntungan dan melindungi dana dengan membagi posisi menjadi tiga bagian.
Prinsip Strategi
Logika inti dari strategi ini berkisar pada beberapa komponen utama:
Sinyal masuk dihasilkan:
- Menggunakan indeks moving average (EMA) dari dua periode yang berbeda (default 21 dan 55) untuk mengidentifikasi arah tren dan potensi titik balik
- Ketika EMA cepat (siklus 21) melintasi EMA lambat (siklus 55) ke atas, sinyal multitasking dihasilkan
- Ketika EMA cepat ke bawah melewati EMA lambat, menghasilkan sinyal kosong
Konfirmasi pengiriman:
- Menghitung volume transaksi selama 20 periode dengan SMA sebagai acuan
- Sinyal transaksi dikonfirmasi hanya jika volume transaksi saat ini melebihi jumlah tertentu dari volume transaksi rata-rata (default 1.2x)
- Kondisi penyaringan ini memastikan bahwa perdagangan hanya dilakukan ketika aktivitas pasar meningkat, meningkatkan keandalan sinyal.
Manajemen risiko dan mekanisme keluar:
- Menggunakan Average True Rate (ATR) untuk secara dinamis menyesuaikan level stop and loss sehingga strategi dapat beradaptasi dengan berbagai volatilitas pasar
- Pembagian posisi menjadi tiga bagian (<33%, 33%, 34%) menerapkan strategi stop loss dan tracking stop loss bertingkat
- Target Stop Point pertama ditetapkan 1,5 kali ATR, berlaku untuk 33% dari posisi
- Target Stop Point Kedua diatur 2,5 kali ATR, berlaku untuk 33% dari posisi
- Sisa 34% dari posisi menggunakan mekanisme tracking stop loss, stop loss jarak adalah 1,5 kali ATR, kondisi aktivasi untuk harga bergerak adalah 1,5 kali ATR
Strategi keluar bertingkat ini menjamin penguncian sebagian dari keuntungan dalam kasus keuntungan kecil, tetapi juga memungkinkan untuk memaksimalkan potensi keuntungan dari posisi yang tersisa dalam situasi tren yang kuat. Sementara itu, mekanisme tracking stop loss memberikan perlindungan dinamis untuk posisi terakhir, yang secara efektif mencegah pembalikan yang telah menguntungkan.
Keunggulan Strategis
Desain yang Sederhana dan Efektif:
- Strategi didasarkan pada indikator teknis yang digunakan secara luas (EMA), mudah dipahami dan diterapkan
- Tidak ada perhitungan yang rumit atau logika yang sulit dipahami, cocok untuk semua jenis pedagang, termasuk pemula
Kualitas sinyal yang lebih baik dengan harga yang lebih tinggi:
- Dengan meminta konfirmasi volume transaksi, efektif memfilter sinyal volume transaksi rendah yang mungkin palsu
- Tren transaksi dirancang untuk dihitung secara dinamis (berdasarkan volume transaksi rata-rata baru-baru ini), sehingga strategi dapat beradaptasi dengan lingkungan pasar dan kerangka waktu yang berbeda
Manajemen risiko yang komprehensif:
- Desain batch stopper menyeimbangkan kebutuhan untuk mengunci keuntungan dan melacak tren
- Pengaturan stop loss dan stop loss yang dinamis berdasarkan ATR, yang memungkinkan strategi untuk mempertahankan rasio risiko-keuntungan yang konsisten di berbagai lingkungan yang berfluktuasi
- Tracking Stop Loss Mechanism yang efektif untuk melindungi keuntungan yang telah dicapai, terutama ketika tren berbalik
Sangat mudah beradaptasi:
- Parameter strategi dapat disesuaikan dengan berbagai jenis perdagangan dan kerangka waktu
- Kode tersebut menyebutkan bahwa strategi ini bekerja dengan baik pada berbagai varietas perdagangan, yang menunjukkan stabilitas dan universalitasnya.
Integrasi Manajemen Dana:
- Strategi secara default menggunakan persentase ekuitas akun (<10%) untuk manajemen posisi, menghindari risiko berlebihan yang mungkin ditimbulkan oleh angka tetap
Risiko Strategis
Performa Bursa Bergoyang:
- Sebagai strategi trend-following, beberapa sinyal palsu dapat dihasilkan dalam pasar yang bergejolak, yang menyebabkan kerugian kecil berturut-turut
- Solusi: Anda dapat menambahkan filter lingkungan pasar tambahan, seperti ADX atau indikator volatilitas, hanya untuk berdagang di lingkungan tren yang jelas
Parameter Sensitivitas:
- Pilihan parameter seperti siklus EMA, kelipatan volume transaksi dan kelipatan ATR memiliki pengaruh signifikan terhadap kinerja strategi
- Berbagai lingkungan pasar mungkin memerlukan pengaturan parameter yang berbeda, dan optimasi berlebihan dapat menyebabkan risiko overfit
- Solusi: melakukan analisis retrospektif yang luas untuk menemukan kombinasi parameter yang stabil dalam berbagai kondisi pasar
Risiko Slip Point yang Berbalik Cepat:
- Dalam kondisi pasar yang ekstrim, harga dapat dengan cepat melompati level stop loss, sehingga harga eksekusi sebenarnya lebih buruk dari yang diharapkan.
- Solusi: Pertimbangkan untuk menetapkan batas titik tergelincir maksimum atau berdagang pada kerangka waktu yang lebih tinggi untuk mengurangi risiko tersebut
Rasio penghentian tetap:
- Strategi saat ini untuk menghentikan posisi dalam proporsi tetap (<33%/33%/34%) mungkin tidak cocok untuk semua kondisi pasar
- Solusi: Pertimbangkan untuk menyesuaikan rasio batch secara dinamis berdasarkan volatilitas pasar atau intensitas tren
Fluktuasi volume transaksi:
- Volume transaksi di beberapa pasar mungkin memiliki pola musiman atau waktu, dan rata-rata 20 siklus sederhana mungkin tidak cukup untuk menangkap karakteristik ini
- Solusi: menerapkan teknik penggabungan volume transaksi yang lebih kompleks, atau menggunakan threshold volume transaksi yang berbeda untuk periode waktu yang berbeda
Arah optimasi strategi
Membuat filter intensitas tren:
- Indikator kekuatan tren seperti indeks arah rata-rata terintegrasi (ADX), hanya mengambil posisi di pasar tren yang jelas
- Ini akan secara signifikan mengurangi jumlah sinyal palsu di pasar yang bergoyang dan meningkatkan tingkat kemenangan secara keseluruhan.
- Implementasi: Tambahkan
adx = ta.adx(14)Perhitungan dan penambahan dalam persyaratan masukand adx > 25Kondisi
Optimalkan analisis volume transaksi:
- Pertimbangkan untuk menggunakan RVI atau VWMA sebagai alternatif untuk nilai ambang transaksi sederhana
- Ini dapat menangkap anomali volume transaksi dengan lebih akurat dan mengurangi kesalahan penilaian berdasarkan volume transaksi murni.
- Metode implementasi: Menghitung selisih standar dalam volume transaksi, menggunakan deviasi daripada perkalian sederhana untuk menilai terobosan volume transaksi
Dinamiskan level stop:
- Mengatur stop multiplier secara dinamis berdasarkan volatilitas pasar atau intensitas tren, dan menetapkan target stop yang lebih jauh pada tren yang kuat
- Implementasi: Anda dapat mengkombinasikan pembacaan indikator tren (seperti ADX) untuk secara dinamis menyesuaikan parameter tp1Mult dan tp2Mult
Optimalkan waktu masuk:
- Menambahkan konfirmasi dinamika harga, seperti RSI atau MACD, sebagai syarat penyaringan tambahan untuk sinyal EMA silang
- Hal ini dapat mengurangi sinyal palsu yang mungkin muncul pada awal perubahan tren.
- Implementasi: Tambahkan
rsi = ta.rsi(close, 14)Dan menambahkan kriteria orientasi pada persyaratan masuk.
Tambahkan filter waktu:
- Menerapkan pemfilteran waktu transaksi untuk menghindari periode likuiditas rendah atau volatilitas tinggi
- Beberapa varietas perdagangan lebih baik untuk diperdagangkan pada periode waktu tertentu, dan pengaturan waktu perdagangan yang ditargetkan dapat meningkatkan kinerja secara keseluruhan
- Implementasi: menggunakan Pine Script
timeFungsi memeriksa apakah waktu transaksi saat ini berada dalam jangka waktu yang ideal
Mewujudkan manajemen posisi dinamis:
- Ukuran posisi disesuaikan secara dinamis dengan kinerja sistem baru-baru ini, volatilitas pasar, atau indikator risiko lainnya
- Ini akan memungkinkan strategi untuk meningkatkan risiko dalam kondisi pasar yang menguntungkan dan secara otomatis mengurangi risiko dalam kondisi pasar yang tidak menguntungkan.
- Implementasi: Mengatur parameter default_qty_value berdasarkan perubahan jumlah kerugian berturut-turut atau nilai ATR relatif terhadap tingkat sejarah
Meringkaskan
Strategi Stop Loss yang menggabungkan Traffic dan Tracking Stop Loss adalah sistem perdagangan yang dirancang dengan baik dan komprehensif yang menggabungkan metode analisis teknis klasik dengan teknologi manajemen risiko modern. Kelebihan utama dari strategi ini adalah kesederhanaan dan fleksibilitasnya, yang menyediakan sinyal masuk melalui konfirmasi lalu lintas yang digabungkan dengan sinyal EMA silang, dan pengendalian risiko yang komprehensif melalui Stop Loss dan Tracking Stop Loss.
Meskipun strategi ini berkinerja baik pada berbagai varietas perdagangan, masih ada beberapa risiko potensial dan ruang untuk optimalisasi. Strategi ini dapat meningkatkan stabilitas dan profitabilitas strategi dengan memperkenalkan langkah-langkah seperti penyaringan intensitas tren, pengoptimalan analisis volume transaksi, penyesuaian level stop-loss secara dinamis, peningkatan waktu masuk, dan pelaksanaan manajemen posisi dinamis.
Pada akhirnya, strategi ini menunjukkan bagaimana untuk membangun sistem perdagangan kuantitatif yang sesuai untuk pemahaman pemula dan memiliki nilai perdagangan yang nyata melalui manajemen risiko dan mekanisme pengakuan sinyal yang dirancang dengan baik, sambil menjaga strategi tetap sederhana dan intuitif. Seperti yang dinyatakan dalam catatan kode, “Simple does it!”, Terkadang strategi yang paling efektif tidak memerlukan kombinasi indikator yang rumit, tetapi memerlukan struktur logis yang masuk akal dan desain kontrol risiko yang komprehensif.
Kode Sumber Strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-03 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("EMA Crossover with Volume + Stacked TP & Trailing SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// 📊 Inputs
fastLen = input.int(21, title="Fast EMA")
slowLen = input.int(55, title="Slow EMA")
volMultiplier = input.float(1.2, title="Volume Threshold Multiplier")
atrLen = input.int(14, title="ATR Length")
tp1Mult = input.float(1.5, title="TP1 ATR Multiplier")
tp2Mult = input.float(2.5, title="TP2 ATR Multiplier")
trailOffsetMult = input.float(1.5, title="Trailing SL Offset (ATR)")
trailTriggerMult = input.float(1.5, title="Trailing SL Activation (ATR)")
// 📈 Indicators
fastEMA = ta.ema(close, fastLen)
slowEMA = ta.ema(close, slowLen)
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.orange, title="Slow EMA")
atr = ta.atr(atrLen)
avgVolume = ta.sma(volume, 20)
volumeCondition = volume > avgVolume * volMultiplier
plot(avgVolume, color=color.gray, title="Average Volume")
// 🚀 Entry Conditions
longCondition = ta.crossover(fastEMA, slowEMA) and volumeCondition
shortCondition = ta.crossunder(fastEMA, slowEMA) and volumeCondition
// 📌 Entry
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// 🎯 Take Profit Targets
tp1 = atr * tp1Mult
tp2 = atr * tp2Mult
// 🛡️ Trailing Stop Setup
trailOffset = atr * trailOffsetMult
trailTrigger = atr * trailTriggerMult
// 📤 Exit Logic for Long
if (strategy.position_size > 0)
strategy.exit("TP1", from_entry="Long", profit=tp1, qty_percent=33)
strategy.exit("TP2", from_entry="Long", profit=tp2, qty_percent=33)
strategy.exit("Trail", from_entry="Long", trail_offset=trailOffset, trail_price=trailTrigger, qty_percent=34)
// 📤 Exit Logic for Short
if (strategy.position_size < 0)
strategy.exit("TP1", from_entry="Short", profit=tp1, qty_percent=33)
strategy.exit("TP2", from_entry="Short", profit=tp2, qty_percent=33)
strategy.exit("Trail", from_entry="Short", trail_offset=trailOffset, trail_price=trailTrigger, qty_percent=34)
// 🧠 Visual Debug
plotshape(longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long Signal")
plotshape(shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Signal")