Strategi EMA emas dua kali bersalin adalah strategi pengesanan trend yang tipikal. Strategi ini menggunakan garis purata EMA dua kitaran yang berbeza untuk menghasilkan isyarat beli dan jual berdasarkan bentuk silang mereka. Apabila EMA kitaran pendek melintasi EMA kitaran panjang, ia menghasilkan isyarat beli; apabila EMA kitaran pendek melintasi EMA kitaran panjang, ia menghasilkan isyarat jual.
Strategi ini terdiri daripada beberapa bahagian:
Tetapkan panjang EMA garis pantas dan EMA garis perlahan. EMA garis pantas adalah 12 dan EMA garis perlahan adalah 26.
Hitung EMA garisan pantas dan EMA garisan perlahan. EMA garisan pantas bertindak balas lebih cepat, dan EMA garisan perlahan bertindak balas lebih stabil.
Untuk menilai persilangan EMA, menghasilkan isyarat dagangan. Apabila EMA di atas garis pantas melintasi EMA di bawah garis perlahan, menghasilkan isyarat beli. Apabila EMA di bawah garis pantas melintasi EMA di bawah garis perlahan, menghasilkan isyarat jual.
Berdasarkan isyarat masuk. Apabila melakukan lebih banyak, jika ada posisi shorting terbalik, mulakan dengan melonggarkan posisi shorting, kemudian buka lebih banyak posisi.
Tetapkan titik hentian. Apabila anda melakukan lebih banyak, anda akan berhenti pada peratusan tertentu jika harga jatuh ke titik rendah sebelum jatuh.
Berdasarkan isyarat keluar. Di bawah EMA garisan pantas, apabila melalui EMA garisan perlahan, ia akan meratakan lebih banyak kad. Di atas EMA garisan pantas, apabila melalui EMA garisan perlahan, ia akan meratakan kad kosong.
Strategi ini mudah dan jelas, dengan menentukan arah dan kekuatan trend melalui persilangan dua garis EMA, trend dapat dijejaki dengan berkesan. EMA garis cepat sensitif terhadap perubahan harga jangka pendek, dan EMA garis perlahan lebih stabil terhadap tindak balas trend jangka panjang.
Strategi ini mempunyai kelebihan berikut:
Konsepnya mudah, mudah difahami dan dilaksanakan. EMA dan crossover adalah petunjuk dan isyarat teknikal yang diiktiraf dan berkesan.
Ia boleh mengesan trend garis panjang dengan berkesan dan menangkap peluang trend tepat pada masanya.
Tetapan dua EMA dapat mengelakkan gangguan bunyi pasaran jangka pendek.
Terdapat peraturan kemasukan, keluar dan penangguhan kerugian yang jelas, dan tidak akan berlaku kes-kes yang membawa kepada kerugian.
Hanya memerlukan sedikit parameter, tidak mudah dioptimumkan. Pengesuaian parameter mudah, sesuai untuk pembelajaran pemula.
Hasil pengesanan yang baik mempunyai nilai pertempuran. Ia boleh digunakan secara berasingan atau dalam kombinasi dengan strategi lain.
Strategi ini mempunyai beberapa risiko:
Perpaduan EMA berganda mudah menghasilkan isyarat yang salah dan sering bercampur. Parameter harus disesuaikan dengan betul, penapis isyarat tidak sah.
Ia tidak dapat menangani dengan baik tempoh gegaran dan pembalikan trend. Ia perlu dipastikan dengan bantuan petunjuk lain.
Strategi EMA berganda mudah mengejar tinggi dan rendah, perlu mengawal saiz kedudukan dengan betul, atau menetapkan stop loss.
Kemungkinan terdapat overfit dalam kurva pengesanan. Parameter sensitiviti mesti diuji untuk menilai kestabilan.
Tidak berhenti tepat pada masanya boleh menyebabkan kerugian yang lebih besar. Harus menetapkan kedudukan berhenti yang munasabah.
Kos urus niaga boleh menjejaskan keuntungan sebenar. Faktor bayaran untuk pelbagai jenis perlu dipertimbangkan.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter kitaran EMA untuk mencari kombinasi parameter yang optimum. Pengoptimuman langkah demi langkah dan kaedah pembelajaran mesin boleh diperkenalkan.
Tambah penapis trend seperti ADX, CCI dan lain-lain untuk mengelakkan perdagangan yang salah di bawah trend yang tidak pasti.
Meningkatkan jumlah penunjuk tenaga, seperti jumlah transaksi, arus tenaga, dan lain-lain, untuk memastikan terdapat pendorong transaksi yang sebenar.
Mekanisme Hentian Kerosakan Dinamik yang boleh menyesuaikan kedudukan Hentian Kerosakan secara automatik mengikut turun naik pasaran.
Gabungan dengan varieti yang berkaitan untuk penyesuaian risiko menggunakan hubungan varieti.
Menambah algoritma pembelajaran mesin, menggunakan AI untuk pengoptimuman parameter, kejuruteraan ciri, penapisan isyarat dan sebagainya.
Mengambil kira faktor kos dagangan, menyesuaikan titik berhenti kerugian dan saiz kedudukan, mengurangkan kekerapan dagangan.
Parameter reka bentuk untuk ciri-ciri varieti yang berbeza, menjadikan strategi lebih bersesuaian.
Reka bentuk kerangka strategi komposit, dengan gabungan strategi lain, untuk meningkatkan kestabilan.
Dengan pengoptimuman ini, strategi dapat dibuat lebih baik dan stabil, dan keuntungan yang lebih berterusan dan stabil dapat diperoleh dalam perdagangan sebenar.
Strategi ini menggunakan silang dua EMA untuk menghasilkan isyarat dagangan, yang dapat mengesan trend garis tengah dengan berkesan. Kelebihan strategi adalah mudah digunakan, pengesanan semula yang baik, sesuai untuk digunakan oleh pemula. Tetapi ada 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)