
Gambaran keseluruhan
Strategi ini menggunakan isyarat silang dua purata bergerak indeks ((EMA) dari dua kitaran yang berbeza untuk menangkap pergerakan jangka pendek di pasaran, membuka kedudukan berlainan kepala apabila garis pantas melintasi garis perlahan dari bawah ke atas, dan membuka kedudukan kepala kosong apabila garis pantas melintasi garis perlahan dari atas ke bawah. Pada masa yang sama, ia menetapkan hentian dan hentian untuk mengawal risiko dan mengunci keuntungan.
Prinsip Strategi
- Mengira EMA dua kitaran yang berbeza, parameter lalai adalah 9 kitaran dan 21 kitaran, kedua-dua parameter boleh disesuaikan mengikut ciri-ciri pasaran dan keutamaan peribadi.
- Apabila EMA garis pantas melintasi EMA garis perlahan dari bawah ke atas, ia menghasilkan isyarat berganda dan membuka kedudukan berganda.
- Apabila EMA garis pantas melintasi EMA garis perlahan dari atas ke bawah, ia menghasilkan isyarat kosong dan membuka kedudukan kosong.
- Pada masa yang sama dengan pembukaan kedudukan, berdasarkan harga pembukaan kedudukan semasa dan pilihan risiko, harga hentikan kerugian dan harga hentikan pelepasan ditetapkan.
- Apabila harga menyentuh harga hentian atau harga hentian, tutup kedudukan semasa dan tunggu isyarat perdagangan seterusnya.
Kelebihan Strategik
- Sederhana: Strategi ini logiknya jelas, hanya memerlukan dua baris EMA dengan kitaran yang berbeza untuk dilaksanakan, sangat mudah difahami, sesuai untuk pemula yang cepat.
- Sesuai untuk perdagangan pendek: EMA lebih sensitif terhadap perubahan harga, dapat bertindak balas dengan cepat terhadap trend jangka pendek di pasaran, sangat sesuai untuk pedagang pendek untuk menangkap peluang turun naik jangka pendek di pasaran.
- Pengesanan Trend: EMA adalah penunjuk ketinggalan, tetapi juga penunjuk trend yang sangat baik, strategi persilangan EMA dapat membantu peniaga untuk berdagang mengikut arah trend.
- Risiko boleh dikawal: Peratusan stop loss dan stop loss telah ditetapkan dalam strategi, walaupun kadar untung rugi tidak terlalu tinggi, tetapi ia juga boleh memainkan peranan perlindungan tertentu apabila trend pasaran tidak jelas atau turun naik yang besar, mengurangkan risiko pecah kedudukan akaun.
Risiko Strategik
- Perdagangan yang kerap: Strategi ini lebih kerap diperdagangkan berbanding dengan strategi panjang, dan mungkin sering dibuka semasa pergolakan pasaran, dan yuran bayaran akan meningkat dengan ketara, dan akan menimbulkan sedikit beban pada dana akaun.
- Pengoptimuman parameter: Pilihan parameter EMA mempunyai kesan yang besar terhadap prestasi strategi, parameter optimum mungkin tidak berfungsi kerana perubahan keadaan pasaran, parameter perlu diperiksa dan disesuaikan secara berkala.
- Risiko Rasio Kerugian: Setinggan berhenti dan berhenti pada kod contoh semasa adalah peratusan tetap, sebenarnya rasio kerugian tidak terlalu ideal, dalam beberapa keadaan pasaran, strategi mungkin mengalami kerugian berturut-turut lebih banyak.
- Trend Sweep: Strategi ini boleh menyebabkan kerugian berturut-turut yang disebabkan oleh ketinggalan pengiktirafan arah ketika pasaran berubah dari goyah ke trend awal.
Arah pengoptimuman strategi
- Optimumkan Stop Loss: Sesuai dengan ciri-ciri turun naik pasaran, pilih cara yang lebih sesuai untuk menetapkan Stop Loss, seperti menggunakan ATR, peratusan untuk mengesan Stop Loss, dan lain-lain, untuk meningkatkan kadar kerugian dan pulangan risiko strategi.
- Penapisan pergerakan goyah: pengesahan kedua isyarat silang EMA dengan penunjuk teknikal lain atau penunjuk harga kuantitatif, seperti menentukan sama ada ADX naik ke atas untuk memecahkan satu titik terendah dan membuka kedudukan, mengurangkan risiko perdagangan yang kerap.
- Pengurusan kedudukan optimum: anda boleh mempertimbangkan untuk membina kedudukan secara beransur-ansur, meningkatkan kedudukan apabila trend jelas, mengurangkan kedudukan apabila berlakunya gejolak, mengurangkan turun naik dana.
- Kombinasi kitaran yang berbeza: menggunakan kombinasi EMA dengan beberapa parameter yang berbeza untuk menghasilkan isyarat pembukaan kedudukan kosong, seperti EMA jangka pendek dan pertengahan sebagai isyarat masuk, EMA jangka panjang sebagai penapis trend, meningkatkan ketepatan pengenalan trend.
- Gabungan analisis makro: Gabungan strategi dengan analisis ekonomi makro, dan gunakan strategi ini apabila keadaan makro jelas, meningkatkan prestasi strategi dalam jangka masa sederhana dan jangka panjang.
ringkaskan
Strategi perdagangan garis pendek momentum silang EMA adalah strategi perdagangan garis pendek yang mudah dan mudah digunakan, sesuai untuk pemula untuk berlatih dengan cepat dan membiasakan diri dengan perdagangan kuantitatif. Strategi ini dapat menangkap kesan momentum jangka pendek, mengikuti arah trend pasaran, sambil menetapkan peratusan stop loss tetap untuk mengawal risiko. Tetapi strategi ini juga mempunyai risiko perdagangan yang kerap, kehilangan kerugian yang tidak tinggi, pengesanan trend yang terlewat.
Kod 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)