Strategi penembusan salib emas EMA berganda adalah strategi perdagangan trend dan penembusan berdasarkan dua purata bergerak eksponensial (EMA) dengan tempoh yang berbeza. Ia menghasilkan isyarat beli apabila salib emas muncul antara kedua-dua EMA dan isyarat jual apabila salib kematian berlaku, untuk menangkap perubahan trend dalam harga. Strategi ini juga menggabungkan keadaan penembusan harga EMA untuk menapis isyarat palsu.
Strategi penembusan silang emas EMA berganda terutamanya berdasarkan logik berikut:
Gunakan EMA tempoh yang lebih pendek (garis 26 hari) untuk menangkap trend jangka pendek dan EMA tempoh yang lebih lama (garis 200 hari) untuk menentukan arah trend jangka panjang.
Apabila EMA tempoh yang lebih pendek melintasi di atas EMA tempoh yang lebih lama, ia dipanggil
Apabila EMA tempoh yang lebih pendek melintasi di bawah EMA tempoh yang lebih lama, ia dipanggil
Apabila isyarat silang berlaku, harga juga perlu memecahkan EMA untuk menapis isyarat palsu dan memastikan isyarat perdagangan yang boleh dipercayai.
Menggunakan teknik stop loss dan mengambil keuntungan untuk mengawal risiko perdagangan dan mengunci keuntungan.
Strategi penembusan silang emas EMA berganda mempunyai kelebihan berikut:
Menggunakan EMA berganda untuk menentukan trend harga dan isyarat silang dapat dengan berkesan mengesan pergerakan pasaran.
Menggabungkan isyarat penapis harga mengelakkan ditipu oleh isyarat silang palsu.
Mengambil logik perdagangan yang mudah dan jelas, mudah difahami dan dilaksanakan.
Boleh digunakan untuk produk dan jangka masa yang berbeza, fleksibel dan serba boleh.
Parameter EMA yang boleh dikonfigurasikan dan syarat stop loss/take profit menjadikannya sangat mudah disesuaikan.
Strategi penembusan silang emas EMA berganda juga mempunyai risiko berikut:
Perpindahan yang kerap boleh berlaku apabila harga berayun, menghasilkan isyarat perdagangan yang berlebihan.
EMA berganda kadangkala mempunyai prestasi yang ketinggalan dan tidak dapat bertindak balas terhadap perubahan harga dalam masa.
Titik stop loss yang terlalu kecil boleh dengan mudah dicetuskan oleh turun naik harga yang sedikit, sementara titik mengambil keuntungan yang terlalu besar mungkin kehilangan beberapa keuntungan.
Penghakiman trend utama harus dibuat sebelum isyarat perdagangan untuk mengelakkan perdagangan terhadap trend.
Strategi penembusan silang emas EMA berganda boleh dioptimumkan dalam aspek berikut:
Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter EMA secara dinamik supaya mereka dapat menyesuaikan diri dengan lebih baik dengan turun naik harga.
Tambah isyarat pengesahan lain seperti jumlah, Bollinger Bands dan sebagainya untuk meningkatkan kualiti isyarat.
Menggabungkan ramalan pembelajaran mendalam laluan harga untuk meletakkan stop loss dan mengambil keuntungan lebih dekat dengan tahap optimum.
Mengoptimumkan strategi khusus untuk data frekuensi tinggi untuk meningkatkan ketepatan isyarat.
Tambah mekanisme pelarasan penyesuaian untuk menghentikan kerugian untuk mengelakkan berhenti berlebihan.
Ringkasnya, strategi penembusan silang emas EMA berganda menggunakan isyarat penembusan EMA untuk menentukan trend harga dan titik balik, dan menggabungkan penapis penembusan harga untuk mengelakkan isyarat palsu. Ini adalah trend yang boleh dipercayai, stabil dan mudah dilaksanakan mengikuti strategi perdagangan. Peningkatan lanjut boleh dibuat melalui pengoptimuman parameter, penapisan isyarat dan penyesuaian adaptif. Logik dagangnya mudah dan intuitif, sesuai untuk semua jenis pelabur, dan dengan itu merupakan salah satu strategi dagangan algoritmik asas.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Buy/Sell Signal", shorttitle="EMABuySell", overlay=true) // === INPUTS === src = input(close) ema1Length = input(26, title='EMA-1') ema2Length = input(200, title='EMA-2') EMASig = input(true, title="Show EMA ?") takeProfitPercent = input(2.0, title="Take Profit (%)") / 100 stopLossPercent = input(1, title="Stop Loss (%)") / 100 pema1 = ta.ema(src, ema1Length) pema2 = ta.ema(src, ema2Length) // Plotting EMAs plot(EMASig ? pema1 : na, title='EMA-1', color=color.new(color.blue, 0), linewidth=2) plot(EMASig ? pema2 : na, title='EMA-2', color=color.new(color.orange, 0), linewidth=2) // EMA Crossover Buy Signal EMACrossoverLong = ta.crossover(pema1, pema2) // EMA Crossunder Short Signal EMACrossoverShort = ta.crossunder(pema1, pema2) // Crossover above EMA-200 Long Signal CrossoverAboveEMA200 = ta.crossover(close, pema2) // Trading logic for Long if ((EMACrossoverLong and close > pema1 and close > pema2) or CrossoverAboveEMA200) strategy.entry("Buy", strategy.long, qty=1) // Take Profit logic for Long longCondition = close >= strategy.position_avg_price * (1 + takeProfitPercent) if (strategy.position_size > 0 and longCondition) strategy.close("Buy") // Stop Loss logic for Long stopLossConditionLong = ta.crossunder(pema1, pema2) if (strategy.position_size > 0 and stopLossConditionLong) strategy.close("Buy") // Trading logic for Short if (EMACrossoverShort and close < pema1 and close < pema2) strategy.entry("Sell", strategy.short, qty=1) // Take Profit logic for Short shortCondition = close <= strategy.position_avg_price * (1 - takeProfitPercent) if (strategy.position_size < 0 and shortCondition) strategy.close("Sell") // Stop Loss logic for Short stopLossConditionShort = ta.crossover(pema1, pema2) if (strategy.position_size < 0 and stopLossConditionShort) strategy.close("Sell") // Visual Signals plotshape(series=EMACrossoverLong or CrossoverAboveEMA200, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small) plotshape(series=EMACrossoverShort, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)