Strategi ini adalah strategi pengesanan trend berasaskan penunjuk EMA berganda. Dengan mengira garis EMA pantas dan garis EMA perlahan dan menentukan salib emas dan salib kematian, ia merealisasikan pembelian rendah menjual tinggi untuk mengesan trend pasaran secara automatik.
Indikator utama strategi ini adalah EMA berganda, termasuk garis EMA pantas dan garis EMA perlahan. Garis EMA pantas mempunyai panjang 3 hari dan bertindak balas dengan sensitif. Garis EMA perlahan mempunyai panjang 30 hari dan bertindak balas dengan perlahan. Apabila garis pantas melintasi di atas garis perlahan, isyarat salib emas dihasilkan, yang menunjukkan pasaran memasuki trend menaik, dan strategi akan membuka kedudukan panjang pada masa ini. Apabila garis pantas melintasi di bawah garis perlahan, isyarat salib kematian dihasilkan, yang menunjukkan pasaran memasuki trend menurun, dan strategi akan ditutup pada masa ini. Dengan menggunakan kedudukan pantas dan salib garis EMA perlahan untuk mengesan perubahan dalam trend pasaran, strategi dapat secara automatik beralih kedudukan ke arah membeli rendah dan menjual tinggi.
Kelebihan utama strategi ini ialah ia dapat mengenal pasti trend pasaran secara automatik dan menyesuaikan kedudukan dengan fleksibel.
Gabungan kepekaan EMA pantas dan kestabilan EMA perlahan dapat menangkap dengan tepat titik perubahan dalam trend sambil menapis bunyi bising untuk mengelakkan isyarat palsu.
Menggunakan isyarat silang EMA berganda, kedudukan hanya diselaraskan apabila perubahan trend yang ketara berlaku, mengelakkan kekerapan dagangan yang berlebihan.
Logik strategi adalah mudah dan jelas, mudah difahami dan diubah suai, dan mudah untuk backtest dan mengoptimumkan secara kuantitatif.
Kecekapan penggunaan modal yang tinggi, mengekalkan kedudukan kebanyakan masa untuk mengesan trend.
Indikator EMA berganda termasuk dalam strategi pengesanan trend, yang tidak dapat meramalkan atau mengelakkan risiko turun naik besar atau peristiwa khas.
Indikator EMA sensitif terhadap parameter. Tetapan parameter garis pantas dan perlahan yang tidak betul boleh menyebabkan prestasi strategi yang buruk. Parameter optimum boleh dijumpai melalui kaedah pengoptimuman backtesting yang sistematik.
Penunjuk EMA berganda boleh menghasilkan isyarat palsu dalam beberapa kejutan atau trend sampingan.
Strategi EMA berganda termasuk dalam strategi pengesanan, tidak baik dalam memilih titik perubahan teknikal yang penting.
Aspek berikut strategi ini boleh dioptimumkan lagi:
Mengoptimumkan parameter garis EMA pantas dan perlahan untuk mencari kombinasi parameter terbaik.
Meningkatkan penunjuk lain untuk membina model pelbagai faktor dan meningkatkan ketepatan isyarat.
Tambah strategi stop loss untuk mengawal risiko urus niaga tunggal.
Parameter optimum mungkin berbeza di antara produk. Pertimbangkan penguraian faktor untuk mencari parameter yang paling sesuai untuk setiap produk.
Kaedah pembelajaran mesin boleh dicoba untuk pengoptimuman hiperparameter yang didorong oleh masa.
Meneroka pengenalan corak K-line di kedudukan teknikal utama untuk menangkap pembalikan darjah yang lebih besar.
Ringkasnya, ini adalah strategi pengesanan trend EMA berganda yang mudah dan praktikal. Ia menyesuaikan kedudukan secara automatik dengan menentukan peringkat pasaran melalui penyeberangan EMA yang cepat dan perlahan. Logik strategi ringkas dan jelas, mudah dilaksanakan secara kuantitatif. Pada masa yang sama, terdapat ruang untuk pengoptimuman lanjut untuk meningkatkan ketepatan isyarat dan mengawal risiko untuk menjadikannya strategi kuantitatif berkualiti tinggi untuk perdagangan sebenar.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy with Target", shorttitle="EMACross", overlay=true) // Define input parameters fastLength = input(3, title="Fast EMA Length") slowLength = input(30, title="Slow EMA Length") profitPercentage = input(100.0, title="Profit Percentage") // Calculate EMAs fastEMA = ta.ema(close, fastLength) slowEMA = ta.ema(close, slowLength) // Plot EMAs on the chart plot(fastEMA, color=color.blue, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") // Buy condition: 3EMA crosses above 30EMA buyCondition = ta.crossover(fastEMA, slowEMA) // Sell condition: 3EMA crosses below 30EMA or profit target is reached sellCondition = ta.crossunder(fastEMA, slowEMA) or close >= (strategy.position_avg_price * (1 + profitPercentage / 100)) // Target condition: 50 points profit //targetCondition = close >= (strategy.position_avg_price + 50) // Execute orders // strategy.entry("Buy", strategy.long, when=buyCondition) // strategy.close("Buy", when=sellCondition ) if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // // Execute sell orders // strategy.entry("Sell", strategy.short, when=sellCondition) // strategy.close("Sell", when=buyCondition) // Plot buy and sell signals on the chart plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)