Strategi ini adalah sistem dagangan kuantitatif berdasarkan crossover purata bergerak dan penunjuk MACD, menggabungkan beberapa penunjuk teknikal untuk mengoptimumkan masa kemasukan dan keluar. Strategi ini terutamanya menggunakan crossover EMA9 dan WMA30 sebagai isyarat kemasukan, bersama dengan pengesahan dari penunjuk MACD. Syarat keluar lebih kompleks, dengan mengambil kira hubungan antara harga dan purata bergerak, serta perubahan dalam penunjuk MACD. Di samping itu, strategi ini menggabungkan penunjuk tambahan seperti Purata Bergerak Sederhana 200 hari (SMA), Purata Bergerak Eksponensial 21 hari (EMA), dan Harga Purata Bertimbang Volume (VWAP) untuk memberikan perspektif pasaran yang lebih komprehensif.
Syarat kemasukan:
Syarat keluar (sesuatu daripada yang berikut):
Penunjuk Bantuan:
Idea teras strategi ini adalah untuk menangkap trend menaik yang berpotensi menggunakan persilangan purata bergerak jangka pendek (EMA9) dan jangka sederhana (WMA30), sambil menggunakan penunjuk MACD untuk menapis isyarat palsu.
Analisis Komprehensif Multi-penunjuk: Menggabungkan pelbagai penunjuk teknikal termasuk purata bergerak, MACD, dan VWAP, menyediakan perspektif analisis pasaran yang lebih komprehensif dan membantu meningkatkan ketepatan keputusan perdagangan.
Mekanisme Masuk Fleksibel: Dengan menggabungkan persilangan EMA dan WMA dengan pengesahan MACD, strategi dapat menangkap peringkat awal trend sambil menapis beberapa isyarat palsu dengan berkesan.
Kawalan Risiko yang ketat: Mengambil beberapa syarat keluar, termasuk pecah berturut-turut di bawah purata bergerak jangka pendek dan isyarat pembalikan MACD, membantu mengurangkan kerugian dengan tepat pada masanya dan mengawal risiko.
Pertimbangan Tempoh Masa yang Berbeza: Memperkenalkan SMA 200 hari dan EMA 21 hari, yang membolehkan strategi untuk menganalisis dalam jangka masa yang berbeza, meningkatkan kesesuaiannya.
Rujukan Harga Berasaskan Volume: Melalui penunjuk VWAP, faktor jumlah dipertimbangkan, menyediakan rujukan yang lebih mewakili untuk trend harga.
Risiko Perdagangan Sering: Strategi crossover purata bergerak boleh membawa kepada perdagangan kerap, meningkatkan kos transaksi dan mempengaruhi pulangan keseluruhan.
Risiko Lag: Purata bergerak adalah penunjuk yang secara semula jadi ketinggalan dan mungkin tidak menangkap titik perubahan dalam masa di pasaran yang sangat tidak menentu.
Risiko pecah palsu: Semasa fasa penyatuan sampingan, isyarat pecah palsu yang kerap boleh berlaku, yang membawa kepada kerugian berturut-turut.
Kebergantungan Trend: Strategi ini berfungsi dengan baik di pasaran yang jelas tetapi mungkin kurang berkesan di pasaran yang terhad.
Sensitiviti Parameter: Keberkesanan strategi mungkin sangat sensitif kepada tetapan parameter (seperti tempoh purata bergerak, parameter MACD, dll.), yang memerlukan pelarasan yang kerap.
Memperkenalkan Penunjuk Volatiliti: Pertimbangkan untuk menambah penunjuk Julat Benar Purata (ATR) untuk menyesuaikan kedudukan stop-loss berdasarkan turun naik pasaran, meningkatkan fleksibiliti pengurusan risiko.
Mengoptimumkan Mekanisme Keluar: Pertimbangkan untuk menambah hentian penghujung atau hentian kehilangan dinamik berdasarkan turun naik untuk mengunci keuntungan dengan lebih baik.
Tambah Penapis Volume: Sertakan analisis jumlah apabila mengesahkan isyarat masuk untuk mengurangkan risiko daripada pecah palsu.
Klasifikasi Negara Pasaran: Membangunkan model klasifikasi negara pasaran untuk menggunakan parameter perdagangan atau strategi yang berbeza di bawah keadaan pasaran yang berbeza (trend, terhad pada julat).
Analisis pelbagai jangka masa: Luaskan strategi kepada pelbagai jangka masa, meningkatkan ketepatan kemasukan dengan mengesahkan isyarat di pelbagai tempoh.
Pengoptimuman Pembelajaran Mesin: Gunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter strategi secara dinamik, meningkatkan kemampuan strategi untuk menyesuaikan diri dengan perubahan pasaran.
/*backtest start: 2023-07-25 00:00:00 end: 2024-07-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //X version 11 strategy("EMA9/WMA30 Crossover Strategy with Enhanced Exit Conditions", shorttitle="EMA9/WMA30 Enhanced Exit", overlay=true) // Inputs lengthEma = input.int(9, title="Length for EMA") lengthWma = input.int(30, title="Length for WMA") fastLength = input.int(12, title="Fast Length for MACD") slowLength = input.int(26, title="Slow Length for MACD") macdLength = input.int(9, title="Signal Smoothing for MACD") pointsGainGoal = input.float(33.00, title="Points Gain Goal") pointsLossGoal = input.float(-50.00, title="Points Loss Goal") // Calculating EMA, WMA, and MACD EMA9 = ta.ema(close, lengthEma) WMA30 = ta.wma(close, lengthWma) [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, macdLength) // Adding 200 SMA, 21 EMA, and VWAP SMA200 = ta.sma(close, 200) EMA21 = ta.ema(close, 21) VWAPValue = ta.vwap(close) // Buy Signal based on EMA/WMA Crossover and MACD confirmation crossover = ta.crossover(EMA9, WMA30) buySignal = crossover and macdLine > signalLine // Entry var float entryPrice = na if (buySignal) strategy.entry("Buy", strategy.long) entryPrice := close // Counters for consecutive closes below EMA9 and WMA30 var int belowEMA9Count = 0 var int belowWMA30Count = 0 belowEMA9Count := close < EMA9 ? belowEMA9Count + 1 : 0 belowWMA30Count := close < WMA30 ? belowWMA30Count + 1 : 0 // Exit Conditions MACDBearishCross = ta.crossunder(macdLine, signalLine) exitCondition1 = belowEMA9Count >= 2 and belowWMA30Count >= 1 exitCondition2 = MACDBearishCross // Exit if (strategy.position_size > 0) if (exitCondition1 or exitCondition2) strategy.close("Buy") entryPrice := na belowEMA9Count := 0 belowWMA30Count := 0 // Visualization plot(EMA9, title="EMA 9", color=color.blue) plot(WMA30, title="WMA 30", color=color.red) plot(SMA200, title="SMA 200", color=color.orange) plot(EMA21, title="EMA 21", color=color.purple) plot(VWAPValue, title="VWAP", color=color.green)