Strategi ini menghasilkan isyarat masuk dan keluar dengan mengira purata bergerak eksponen EMA dan penunjuk MACD dan menggabungkan isyarat silang kedua-duanya. Ia pergi panjang apabila harga melintasi di atas garis EMA dan garis MACD melintasi di atas garis isyarat, dan pergi pendek apabila harga melintasi di bawah garis EMA dan garis MACD melintasi di bawah garis isyarat.
Strategi ini menggunakan purata bergerak eksponensial EMA untuk menentukan arah trend semasa. Pada masa yang sama, ia menggunakan persilangan purata bergerak penunjuk MACD untuk menjana isyarat perdagangan. Hanya apabila harga memecahkan garis EMA isyarat salib emas dan salib kematian MACD akan dipertimbangkan. Ini mengelakkan isyarat palsu.
Strategi ini terutamanya berdasarkan kelebihan strategi perdagangan purata bergerak dan strategi perdagangan MACD. Purata bergerak dapat menilai arah trend dengan cukup baik. Persalinan garis cepat dan perlahan purata bergerak eksponensial MACD dapat menunjukkan titik beli dan jual. Menggunakan kedua-duanya dalam kombinasi dapat meningkatkan ketepatan isyarat.
Strategi ini menggabungkan penunjuk dua EMA dan MACD untuk menapis beberapa isyarat palsu dengan berkesan dan meningkatkan kualiti isyarat. Pada masa yang sama, EMA menilai trend utama dan MACD menilai titik masuk dan keluar tertentu. Kedua-duanya saling melengkapi dan dapat mencapai pulangan yang baik.
Di samping itu, strategi ini hanya mempertimbangkan isyarat MACD apabila harga menembusi garis EMA, mengelakkan perdagangan yang salah di pasaran yang bergolak. Ini juga meningkatkan kestabilan strategi.
Risiko utama strategi ini terletak pada tetapan parameter. Jika parameter EMA dan MACD ditetapkan dengan tidak betul, isyarat mungkin terlepas atau isyarat palsu boleh dihasilkan. Di samping itu, jika trend pasaran terbalik, strategi akan mengalami beberapa kerugian.
Untuk mengurangkan risiko, parameter harus diselaraskan dengan sewajarnya untuk sepadan dengan kitaran pasaran semasa EMA dan MACD. Pada masa yang sama, disyorkan untuk menggunakan stop loss untuk mengawal kerugian tunggal. Apabila pasaran memasuki proses bawah atau menyentuh sokongan, perdagangan harus ditangguhkan untuk mengelakkan kerugian berterusan.
Aspek strategi berikut boleh dioptimumkan:
Mengoptimumkan parameter secara dinamik untuk menyesuaikan parameter EMA dan MACD mengikut keadaan pasaran masa nyata dan kitaran untuk memastikan kesahihan parameter
Tambah penunjuk lain dalam kombinasi, seperti saluran BOLL atau penunjuk KD, untuk memperkaya isyarat strategi
Menggunakan kaedah pembelajaran mesin untuk mengoptimumkan parameter strategi secara automatik dan menyesuaikan parameter berdasarkan hasil backtest
Apabila menembusi garis EMA, menilai kekuatan arah untuk mengelakkan pecah palsu
Tambah strategi mengambil keuntungan dan menghentikan kerugian untuk mengunci keuntungan dan mengurangkan kerugian
Strategi kuantitatif crossover purata bergerak menggabungkan penunjuk EMA dan MACD berganda untuk menghasilkan isyarat berkualiti tinggi dengan berkesan. Mengoptimumkan tetapan parameter, menambah stop loss / mengambil keuntungan, menambah penunjuk lain, dan lain-lain dapat meningkatkan kestabilan dan keuntungan strategi. Strategi yang berkesan dan mudah ini mempunyai rujukan dan nilai aplikasi yang besar untuk peniaga kuantitatif.
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("LONERTESTV2", overlay=true) // Input definitions fastLength = input(12, title="Fast Length") slowlength = input(26, title="Slow Length") MACDLength = input(9, title="MACD Length") emaLength = input(13, title="EMA Length") //smaLength = input(200, title="SMA Length") // SMA Indicator - Are we in a Bull or Bear market according to 200 SMA? //SMA = ta.ema(close, smaLength) // EMA Indicator - Are we in a rally or not? EMA = ta.ema(close, emaLength) // MACD Indicator - Is the MACD bullish or bearish? MACD = ta.ema(close, fastLength) // - ta.ema(close, slowlength) aMACD = ta.ema(MACD, MACDLength) delta = MACD - aMACD // Set Buy/Sell conditions buy_entry = close > EMA and delta > 5 ? true : close > EMA and delta > -5 sell_entry = close < EMA and delta < -5 ? true : close < EMA and delta < 5 if buy_entry strategy.entry(id='EL', direction=strategy.long) if sell_entry strategy.entry(id='ES', direction=strategy.short) // strategy.entry("Buy", strategy.long) // strategy.entry("Sell", strategy.short)