Ini adalah strategi dagangan emas pada jangka masa M5 berdasarkan gabungan indikator teknikal Parabolic SAR, CCI dan EMA. Ia menggunakan tiga penunjuk yang berbeza untuk mengenal pasti arah trend dan situasi overbought / oversold emas untuk menangkap peluang dagangan semasa penurunan pasaran.
SAR parabolik digunakan untuk menentukan arah trend dan titik pembalikan emas yang berpotensi. Apabila titik SAR mula menurun di bawah harga, ia menunjukkan trend menaik; apabila titik SAR mula meningkat di atas harga, ia menunjukkan trend menurun.
CCI menunjukkan keadaan overbought/oversold pasaran. CCI di atas 100 menunjukkan peningkatan yang semakin kuat manakala CCI di bawah -100 menunjukkan penurunan yang semakin kuat.
EMA crossovers menandakan titik perubahan harga jangka pendek. Uptrend dicadangkan apabila garis cepat meningkat dan downtrend dicadangkan apabila ia jatuh.
Peraturan kemasukan: Pergi panjang apabila SAR melintasi EMA 5 minit dalam arah menaik dan CCI lebih besar daripada 100; Pergi pendek apabila SAR melintasi EMA 5 minit dalam arah menurun dan CCI kurang daripada -100.
Peraturan keluar: Ambil keuntungan pada harga masuk + 7 tik, Hentikan kerugian ditetapkan pada garis EMA 1 minit.
Menggunakan 3 penunjuk untuk mengenal pasti trend dan tahap sokongan / rintangan utama, meningkatkan keuntungan.
CCI menapis pecah palsu dengan cekap. Pembalikan SAR digabungkan dengan arah trend mengelakkan entri yang tidak perlu semasa penyatuan.
EMA crossovers dengan SAR menawarkan kemasukan berisiko rendah semasa penarikan sementara.
Parameter yang dioptimumkan sesuai untuk komoditi yang tidak menentu seperti emas dan akaun kecil.
Terutamanya bergantung pada penunjuk teknikal yang mungkin gagal semasa peristiwa black swan.
Komoditi yang mudah berubah, EMA stop loss terdedah kepada dipukul oleh lonjakan yang mengakibatkan kerugian besar.
Potensi isyarat palsu dari CCI dan SAR yang membawa kepada kerugian yang tidak perlu.
Kegagalan sistem semasa pergerakan yang tidak menentu boleh menghalang pelaksanaan stop loss yang berkesan.
Uji kombinasi parameter yang berbeza untuk mengoptimumkan CCI untuk ciri emas.
Masukkan lebih banyak penunjuk seperti corak lilin, Bollinger Bands untuk meningkatkan ketahanan.
Menggunakan pembelajaran mesin untuk pengoptimuman dinamik parameter SAR yang menyesuaikan diri dengan pasaran yang berubah.
Uji mekanisme stop loss yang berlainan, contohnya, stop trailing untuk mengurangkan kebarangkalian terkena.
Mengoptimumkan model saiz kedudukan e.g. saiz kedudukan pecahan tetap, dinamik untuk mengawal jumlah kerugian perdagangan tunggal.
Secara keseluruhan, strategi perdagangan emas yang stabil menggabungkan pelbagai penunjuk untuk mengenal pasti trend, tahap sokongan / rintangan utama dan zon overbought / oversold untuk entri risiko rendah semasa retracements. Parameter yang dioptimumkan membolehkan perdagangan akaun kecil memanfaatkan volatiliti emas yang tinggi. Mempunyai risiko yang boleh ditangani melalui pengurusan risiko yang betul. Potensi yang signifikan untuk meningkatkan lagi kestabilan dan keuntungan melalui peningkatan.
/*backtest start: 2022-11-30 00:00:00 end: 2023-12-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Parabolic SAR and CCI Strategy with EMA Exit", overlay=true) // Parameters length = input(50, title="EMA Length") length_21 = input(21, title="EMA Length 21") acc = input(0.02, title="Acceleration Factor") max_acc = input(0.2, title="Max Acceleration Factor") takeProfitPoints = input(7, title="Take Profit Points") // Variables var float ep = 0.0 var float sar = 0.0 var float af = acc // Calculating 5-minute EMA based on 1-minute data var float sum_close = na var float ema_5min = na if (bar_index % 5 == 0) sum_close := 0.0 for i = 0 to 4 sum_close := sum_close + close[i] ema_5min := ema(sum_close / 5, length_21) // Calculating 1-minute EMA ema1 = ema(close, length) cci = cci(close, 45) // Custom Parabolic SAR Calculation trendUp = close > ema1 trendDown = close < ema1 var float prev_sar = na prev_sar := na(sar[1]) ? low[1] : sar[1] if trendUp ep := high > ep ? high : ep af := min(af + acc, max_acc) sar := min(prev_sar, prev_sar + af * (ep - prev_sar)) if trendDown ep := low < ep ? low : ep af := min(af + acc, max_acc) sar := max(prev_sar, prev_sar + af * (ep - prev_sar)) // Entry Conditions longCondition = sar > ema1 and ema1 > ema_5min and cci > 100 shortCondition = sar < ema1 and ema1 < ema_5min and cci < -100 // Exit Conditions longTakeProfit = strategy.position_avg_price + takeProfitPoints * syminfo.mintick longStopLoss = ema1 shortTakeProfit = strategy.position_avg_price - takeProfitPoints * syminfo.mintick shortStopLoss = ema1 // Plotting Entry Points plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy Execution if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) if strategy.position_size > 0 strategy.exit("Take Profit/Stop Loss", "Long", limit=longTakeProfit, stop=longStopLoss) if strategy.position_size < 0 strategy.exit("Take Profit/Stop Loss", "Short", limit=shortTakeProfit, stop=shortStopLoss)