
Ringkasan
Strategi ini menggunakan sinyal silang dari dua rata-rata bergerak indeks ((EMA) dari dua periode yang berbeda untuk menangkap pergerakan pasar dalam jangka pendek, membuka posisi multihead saat garis cepat melintasi garis lambat dari bawah ke atas, dan membuka posisi head kosong saat garis cepat melintasi garis lambat dari atas ke bawah. Pada saat yang sama, pengaturan stop loss dan stop loss untuk mengendalikan risiko dan mengunci keuntungan.
Prinsip Strategi
- Perhitungan EMA dua periode yang berbeda, parameter default adalah 9 periode dan 21 periode, kedua parameter dapat disesuaikan sesuai dengan karakteristik pasar dan preferensi pribadi.
- Ketika EMA garis cepat melintasi EMA garis lambat dari bawah ke atas, menghasilkan sinyal multiply, membuka posisi multiply.
- Ketika EMA garis cepat melintasi EMA garis lambat dari atas ke bawah, maka akan muncul sinyal kosong, membuka posisi kepala kosong.
- Pada saat membuka posisi, sesuai dengan harga pembukaan posisi dan preferensi risiko posisi saat ini, atur harga stop loss dan harga stop loss.
- Ketika harga menyentuh harga stop loss atau stop loss, maka posisi saat ini akan dihapus dan menunggu sinyal perdagangan berikutnya.
Keunggulan Strategis
- Sederhana dan mudah digunakan: Strategi ini memiliki logika yang jelas, hanya membutuhkan dua garis EMA dengan periode yang berbeda untuk diimplementasikan, sangat sederhana dan mudah dimengerti, cocok untuk pemula.
- Cocok untuk short-line trading: EMA lebih sensitif terhadap perubahan harga, dapat bereaksi cepat terhadap tren jangka pendek di pasar, sangat cocok untuk pedagang short-line untuk menangkap peluang volatilitas jangka pendek di pasar.
- Trend Tracking: EMA adalah indikator yang tertinggal, tetapi juga merupakan indikator yang sangat baik untuk trend tracking. Strategi EMA crossover dapat membantu pedagang untuk berdagang sesuai dengan arah tren.
- Risiko terkontrol: Peratusan stop loss dan stop loss diatur dalam strategi, meskipun rasio untung rugi tidak terlalu tinggi, tetapi juga dapat berperan sebagai pelindung ketika tren pasar tidak jelas atau berfluktuasi besar, mengurangi risiko terjadinya posisi terbalik akun.
Risiko Strategis
- Frekuensi perdagangan: Strategi ini memiliki frekuensi perdagangan yang lebih tinggi dibandingkan dengan strategi garis panjang, dan kemungkinan sering terjadi posisi terbuka selama gejolak pasar, biaya proses akan meningkat secara signifikan, dan menimbulkan beberapa keterbelakangan pada dana akun.
- Optimasi parameter: Pilihan parameter EMA sangat berpengaruh pada kinerja strategi, parameter optimal mungkin tidak berlaku karena perubahan kondisi pasar, perlu diperiksa dan menyesuaikan parameter secara berkala.
- Risiko rasio kerugian: Stop loss dan stop loss yang ditetapkan pada contoh kode saat ini adalah persentase tetap, rasio kerugian sebenarnya tidak terlalu ideal, dan dalam beberapa kondisi pasar, strategi mungkin mengalami kerugian berturut-turut lebih banyak.
- Trend shuffle: Strategi ini dapat menyebabkan kerugian berturut-turut yang disebabkan oleh keterlambatan pengidentifikasian arah ketika pasar beralih dari getaran ke awal tren.
Arah optimasi strategi
- Optimalkan Stop Loss: Sesuai dengan karakteristik pasar yang berfluktuasi, pilihlah pengaturan stop loss yang lebih sesuai, seperti menggunakan ATR, persentase pelacakan stop loss, dan lain-lain, untuk meningkatkan rasio untung rugi dan pengembalian risiko strategi.
- Filter Shock Trends: Untuk mengkonfirmasi kedua sinyal EMA crossover dengan indikator teknis atau kuantitatif lainnya, misalnya untuk menentukan apakah ADX naik ke atas untuk menembus batas tertentu dan membuka posisi, untuk mengurangi risiko perdagangan yang sering terjadi.
- Optimalkan manajemen posisi: Anda dapat mempertimbangkan untuk membangun posisi secara bertahap, meningkatkan posisi saat tren jelas, mengurangi posisi saat bergejolak, dan mengurangi fluktuasi dana.
- Kombinasi siklus yang berbeda: Menggunakan kombinasi EMA dengan beberapa parameter yang berbeda untuk menghasilkan sinyal pembukaan posisi kosong, seperti EMA jangka pendek dan menengah sebagai sinyal masuk, EMA jangka panjang sebagai filter tren, meningkatkan akurasi identifikasi tren.
- Kombinasi analisis makro: menggabungkan strategi dengan analisis ekonomi makro, dan menggunakan strategi ini ketika situasi makro jelas, meningkatkan kinerja strategi dalam jangka menengah dan jangka panjang.
Meringkaskan
Strategi trading short-line EMA cross-dynamic adalah strategi trading short-line yang sederhana dan mudah digunakan, cocok untuk pemula yang cepat berlatih dan terbiasa dengan perdagangan kuantitatif. Strategi ini dapat menangkap efek momentum jangka pendek, mengikuti arah tren pasar, sambil mengatur stop loss persentase tetap untuk mengendalikan risiko. Tetapi strategi ini juga memiliki risiko perdagangan yang sering, stop loss yang tidak tinggi, identifikasi tren yang terlambat, dan sebagainya.
Kode Sumber Strategi
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Scalping Strategy", overlay=true)
// Parameters
length_fast = input.int(9, title="Fast EMA Length", minval=1)
length_slow = input.int(21, title="Slow EMA Length", minval=1)
stop_loss_pct = 0.7 // Risk 0.7% of capital
take_profit_pct = 0.5 // Target 0.5% of capital
// Calculate EMAs
ema_fast = ta.ema(close, length_fast)
ema_slow = ta.ema(close, length_slow)
// Plot EMAs
plot(ema_fast, color=color.blue, title="Fast EMA")
plot(ema_slow, color=color.red, title="Slow EMA")
// Trading logic
long_condition = ta.crossover(ema_fast, ema_slow)
short_condition = ta.crossunder(ema_fast, ema_slow)
// Calculate stop loss and take profit levels
stop_loss_long = strategy.position_avg_price * (1 - stop_loss_pct / 100)
take_profit_long = strategy.position_avg_price * (1 + take_profit_pct / 100)
stop_loss_short = strategy.position_avg_price * (1 + stop_loss_pct / 100)
take_profit_short = strategy.position_avg_price * (1 - take_profit_pct / 100)
// Enter and exit trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Exit long trades
if (strategy.position_size > 0)
strategy.exit("Take Profit Long", "Long", limit=take_profit_long)
strategy.exit("Stop Loss Long", "Long", stop=stop_loss_long)
// Exit short trades
if (strategy.position_size < 0)
strategy.exit("Take Profit Short", "Short", limit=take_profit_short)
strategy.exit("Stop Loss Short", "Short", stop=stop_loss_short)