Strategi double EMA gold crossover adalah strategi pelacakan tren yang khas. Strategi ini menggunakan dua rata-rata EMA dari dua periode yang berbeda untuk menghasilkan sinyal beli dan jual berdasarkan bentuk silang mereka. Ketika EMA periode pendek melintasi EMA periode panjang, menghasilkan sinyal beli; Ketika EMA periode pendek melintasi EMA periode panjang, menghasilkan sinyal jual.
Strategi ini terdiri dari beberapa bagian utama:
Tetapkan panjang EMA jalur cepat dan EMA jalur lambat. EMA jalur cepat adalah 12 dan EMA jalur lambat adalah 26.
Hitung EMA jalur cepat dan lambat. EMA jalur cepat lebih cepat dan EMA jalur lambat lebih stabil.
Untuk menilai EMA yang bersilang, menghasilkan sinyal perdagangan. Ketika EMA di atas garis cepat melewati EMA di bawah garis lambat, menghasilkan sinyal beli. Ketika EMA di bawah garis cepat melewati EMA di bawah garis lambat, menghasilkan sinyal jual.
Sesuai dengan sinyal masuk. Bila melakukan over, jika ada posisi shorting terbalik, hapus dulu posisi shorting, lalu buka over.
Setting Stop Loss Bila melakukan lebih banyak, jika harga turun sebelum titik terendah tertentu, maka stop loss akan terjadi Melakukan shorting sama halnya
Sesuai dengan sinyal yang keluar. Di bawah EMA jalur cepat, jika melewati EMA jalur lambat, maka akan dihilangkan. Di atas EMA jalur cepat, jika melewati EMA jalur lambat, maka akan dihilangkan.
Strategi ini sederhana dan jelas, dengan menentukan arah dan kekuatan tren melalui persilangan dua garis EMA, tren dapat dilacak secara efektif. EMA garis cepat sensitif terhadap perubahan harga jangka pendek, dan EMA garis lambat lebih stabil dalam menanggapi tren jangka panjang.
Strategi ini memiliki keuntungan sebagai berikut:
Konsepnya sederhana, mudah dipahami dan diterapkan. EMA dan crossover adalah indikator dan sinyal teknis yang diakui efektif.
Ini memungkinkan Anda untuk secara efektif melacak tren garis tengah dan menangkap peluang tren tepat waktu.
Dengan pengaturan dual EMA, Anda dapat menghindari gangguan dari kebisingan pasar jangka pendek.
Ada aturan masuk yang jelas, aturan keluar, dan aturan stop loss, sehingga tidak akan ada posisi yang terlalu berat.
Parameter yang dibutuhkan hanya sedikit, tidak mudah untuk dioptimalkan terlalu banyak. Parameter yang disesuaikan mudah, cocok untuk pemula.
Hasil pengetesan yang baik, memiliki nilai dalam pertempuran. Dapat digunakan secara mandiri, atau dapat digunakan dengan kombinasi strategi lainnya.
Strategi ini juga memiliki beberapa risiko:
EMA ganda yang berselisih mudah menghasilkan sinyal yang salah dan sering berselisih. Parameter harus disesuaikan dengan tepat, filter sinyal tidak valid.
Tidak dapat menangani zona getaran dan pembalikan tren dengan baik. Perlu bantuan indikator lain untuk konfirmasi.
Strategi EMA ganda mudah mengejar naik dan turun, dan perlu mengontrol ukuran posisi dengan tepat, atau mengatur stop loss.
Kurva pengembalian mungkin ada tingkat overfitting. Harus dilakukan tes sensitivitas parameter untuk menilai stabilitas.
Tidak ada waktu yang tepat untuk menghentikan kerugian dapat menyebabkan kerugian yang lebih besar. Anda harus mengatur posisi berhenti yang wajar.
Biaya transaksi dapat mempengaruhi keuntungan yang sebenarnya. Faktor biaya yang berbeda harus dipertimbangkan.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Mengoptimalkan parameter siklus EMA untuk menemukan kombinasi parameter yang optimal.
Menambahkan filter tren, seperti indikator ADX, CCI, dan lain-lain, untuk menghindari perdagangan yang salah di bawah tren yang tidak pasti.
Meningkatkan indikator energi, seperti volume transaksi, arus energi, dan lain-lain, untuk memastikan adanya dorongan transaksi yang nyata.
Dilengkapi dengan mekanisme stop loss yang dapat menyesuaikan posisi stop loss secara otomatis sesuai dengan pergerakan pasar.
Kombinasi dengan varietas yang relevan, menggunakan relevansi varietas untuk penyesuaian risiko
Menambahkan algoritma pembelajaran mesin, menggunakan AI untuk optimasi parameter, teknik fitur, pemfilteran sinyal, dan sebagainya.
Mempertimbangkan faktor biaya transaksi, menyesuaikan stop loss dan ukuran posisi, mengurangi frekuensi transaksi.
Parameter desain untuk karakteristik varietas yang berbeda, membuat strategi lebih adaptif.
Desain kerangka strategi yang komposit, dengan kombinasi strategi lain, untuk meningkatkan stabilitas.
Dengan optimasi ini, strategi dapat dibuat lebih baik dan lebih stabil, dan menghasilkan keuntungan yang lebih konsisten dan lebih stabil dalam perdagangan yang sebenarnya.
Strategi ini menggunakan dua EMA silang untuk menghasilkan sinyal perdagangan, yang dapat secara efektif melacak tren lini tengah. Keunggulan strategi adalah mudah digunakan, dapat diukur dengan baik, dan cocok untuk pemula. Namun, ada juga risiko tertentu, perlu berhati-hati.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
window() => time >= timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false
stopLoss = input(20, title = "Stop loss percentage(0.1%)")
maFastSource = input(defval = open, title = "Fast MA Source")
maFastLength = input(defval = 12, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource = input(defval = open, title = "Slow MA Source")
maSlowLength = input(defval = 26, title = "Slow MA Period", minval = 1)
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)
fast = plot(maFast, title = "Fast MA", color = #7a8598, linewidth = 2, style = line, transp = 50)
slow = plot(maSlow, title = "Slow MA", color = #e08937, linewidth = 2, style = line, transp = 50)
longEMA = crossover(maFast, maSlow)
exitLong = crossunder(maFast, maSlow)
shortEMA = crossover(maSlow, maFast)
exitShort = crossover(maFast, maSlow)
if (longEMA)
strategy.entry("LongId", strategy.long, when=window())
if (shortEMA)
strategy.entry("ShortId", strategy.short, when=window())
if (UseStopLoss)
strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)