Strategi EMA Crossover yang teliti adalah sistem perdagangan trend berdasarkan isyarat silang antara dua garis purata bergerak eksponensial (EMA) dengan tetapan parameter yang berbeza. Ia menggunakan garis EMA pantas jangka pendek dan garis EMA perlahan jangka panjang dan menghasilkan isyarat perdagangan apabila mereka melintasi. Isyarat panjang dipicu apabila garis pantas melintasi di atas garis perlahan, dan isyarat kedudukan dekat dipicu apabila garis pantas melintasi di bawah garis perlahan. Sistem ini juga menggabungkan cara pengurusan risiko seperti stop loss, trailing stop untuk mengunci keuntungan dan mengawal risiko.
Indikator utama strategi ini adalah dua garis EMA: garisan pantas dan garisan perlahan. Parameter garisan pantas
Mengikut prinsip ini, strategi ini berjalan lama apabila garis EMA cepat melintasi di atas garis EMA perlahan, menunjukkan trend menaik supaya anda boleh membeli. Apabila garis cepat melintasi di bawah garis perlahan, ia menutup kedudukan, menunjukkan akhir trend menaik dan masa untuk mengambil keuntungan. Untuk mengawal risiko, strategi ini juga menetapkan stop loss awal pada 8% di bawah harga masuk dan stop trailing lalai menjadi 120 mata dari harga pasaran. Ini membolehkan sistem keluar lebih awal dan meminimumkan kerugian apabila terdapat pembalikan trend.
Dalam pelaksanaan pengekodan, fungsi
Strategi Crossover EMA yang teliti mempunyai kelebihan utama berikut:
Isyarat mudah dan jelas, mudah difahami dan dilaksanakan.
Penapis MA boleh mengesan perubahan trend dengan kurang bunyi pasaran.
Parameter yang sangat boleh dikonfigurasikan pada garis EMA pantas / perlahan, tahap stop loss, dll.
Stop loss bermaksud mengawal risiko dengan berkesan.
Sistem yang agak stabil dalam pelbagai keadaan pasaran.
Terdapat juga beberapa risiko yang melekat dengan strategi ini:
Isyarat EMA mungkin terlambat semasa turun naik pasaran yang ganas, tidak dapat mencerminkan perubahan harga tepat pada masanya.
Penyesuaian parameter yang terlalu cepat dari penunjuk MA boleh menghasilkan lebih banyak isyarat palsu.
Trend harga yang lemah boleh menghasilkan lebih sedikit persimpangan EMA sehingga tidak dapat menangkap pergerakan.
Tiada analisis terhadap trend pasaran secara keseluruhan bermakna bertentangan dengan trend utama.
Risiko boleh dikurangkan dengan:
Menambah penapis seperti MACD dan KD untuk mengesahkan isyarat silang.
Sesuaikan parameter EMA berdasarkan pasaran yang berbeza untuk mengurangkan isyarat palsu.
Menggabungkan analisis trend keseluruhan berdasarkan purata bergerak jangka panjang.
Strategi ini boleh dinaik taraf dari aspek berikut:
Menambah penapis kedudukan terbuka untuk mengelakkan perdagangan berlebihan di pasaran terhad julat.
Tetapkan tahap stop loss dan mengambil keuntungan berdasarkan tahap swing tinggi / rendah dan zon sokongan / rintangan untuk ketepatan yang lebih baik.
Tambah modul trend untuk menganalisis trend jangka masa yang lebih lama sebagai penapis untuk isyarat jangka pendek, mengelakkan perdagangan terhadap trend utama.
Gunakan pembelajaran mesin untuk melatih dan mengoptimumkan parameter EMA ideal yang sesuai dengan pasaran praktikal untuk mengurangkan isyarat palsu.
Di atas adalah arah utama untuk meningkatkan strategi silang EMA asas ini ke hadapan.Penggabungan yang betul antara penunjuk teknikal dan cara pengurusan risiko pasti dapat meningkatkan keberkesanan strategi ini.
Strategi EMA Crossover yang teliti adalah sistem trend berikut asas yang berdasarkan EMA crossover garis cepat dan perlahan untuk menentukan trend harga dan menggabungkan stop loss untuk mengawal risiko. Isyaratnya mudah dan bersih, mudah difahami untuk pemula, menjadikannya salah satu strategi kuantiti permulaan yang biasa. Tetapi kelewatan dan risiko isyarat palsu wujud.
/*backtest start: 2022-12-13 00:00:00 end: 2023-12-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // *** USE AT YOUR OWN RISK *** // strategy("EMA Strategy", shorttitle = "EMA Strategy", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10) // === Inputs === // short ma maFastSource = input(defval = close, title = "Fast MA Source") maFastLength = input(defval = 13, title = "Fast MA Period", minval = 1) // long ma maSlowSource = input(defval = close, title = "Slow MA Source") maSlowLength = input(defval = 48, title = "Slow MA Period", minval = 1) // invert trade direction tradeInvert = input(defval = false, title = "Invert Trade Direction?") // risk management useStop = input(defval = true, title = "Use Initial Stop Loss?") slPoints = input(defval = 25, title = "Initial Stop Loss Points", minval = 1) useTS = input(defval = true, title = "Use Trailing Stop?") tslPoints = input(defval = 120, title = "Trail Points", minval = 1) useTSO = input(defval = false, title = "Use Offset For Trailing Stop?") tslOffset = input(defval = 20, title = "Trail Offset Points", minval = 1) // === Vars and Series === fastMA = ema(maFastSource, maFastLength) slowMA = ema(maSlowSource, maSlowLength) plot(fastMA, color=blue) plot(slowMA, color=purple) goLong() => crossover(fastMA, slowMA) killLong() => crossunder(fastMA, slowMA) strategy.entry("Buy", strategy.long, when = goLong()) strategy.close("Buy", when = killLong()) // Shorting if using goShort() => crossunder (fastMA, slowMA) killShort() => crossover(fastMA, slowMA) //strategy.entry("Sell", strategy.short, when = goShort()) //strategy.close("Sell", when = killShort()) if (useStop) strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 ) strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.08)