Ini adalah strategi perdagangan emas pada kerangka waktu M5 berdasarkan kombinasi indikator teknis Parabolic SAR, CCI dan EMA. Ini menggunakan tiga indikator yang berbeda untuk mengidentifikasi arah tren dan situasi overbought / oversold emas untuk menangkap peluang perdagangan selama penarikan pasar.
Parabolic SAR digunakan untuk menentukan arah tren dan titik pembalikan potensial emas. Ketika titik SAR mulai menurun di bawah harga, itu menunjukkan tren naik; ketika titik SAR mulai naik di atas harga, itu menunjukkan tren menurun.
CCI menunjukkan kondisi pasar yang terlalu banyak dibeli/terlalu banyak dijual. CCI di atas 100 menunjukkan tren kenaikan yang menguat sementara CCI di bawah -100 menunjukkan tren penurunan yang menguat.
EMA crossover sinyal titik balik jangka pendek dari harga. Uptrend disarankan ketika garis cepat naik dan downtrend disarankan ketika turun.
Aturan masuk: Pergi panjang ketika SAR melintasi EMA 5 menit di arah naik dan CCI lebih besar dari 100; Pergi pendek ketika SAR melintasi EMA 5 menit di arah menurun dan CCI kurang dari -100.
Aturan keluar: Ambil keuntungan pada harga masuk + 7 tik, Stop loss ditetapkan pada garis EMA 1 menit.
Menggunakan 3 indikator untuk mengidentifikasi tren dan tingkat pendukung/resistensi utama, meningkatkan profitabilitas.
CCI menyaring penyusutan palsu secara efisien. pembalikan SAR dikombinasikan dengan arah tren menghindari entri yang tidak perlu selama konsolidasi.
Crossover EMA dengan SAR menawarkan entri berisiko rendah selama penarikan sementara.
Parameter dioptimalkan cocok untuk komoditas volatile seperti emas dan akun kecil.
Terutama bergantung pada indikator teknis yang mungkin gagal selama peristiwa angsa hitam.
Komoditas volatil, EMA stop loss rentan terkena lonjakan yang mengakibatkan kerugian besar.
Potensi sinyal palsu dari CCI dan SAR yang menyebabkan kerugian yang tidak perlu.
Kegagalan sistem selama pergerakan volatile dapat mencegah eksekusi stop loss yang efektif.
Uji kombinasi parameter yang berbeda untuk mengoptimalkan CCI untuk karakteristik emas.
Masukkan lebih banyak indikator seperti pola candlestick, Bollinger Bands untuk meningkatkan ketahanan.
Menggunakan pembelajaran mesin untuk optimasi dinamis parameter SAR yang beradaptasi dengan perubahan pasar.
Uji mekanisme stop loss yang berbeda misalnya stop trailing untuk mengurangi kemungkinan terkena.
Mengoptimalkan model ukuran posisi, misalnya ukuran posisi pecahan tetap dan dinamis untuk mengontrol jumlah kerugian perdagangan tunggal.
Secara keseluruhan strategi perdagangan emas yang stabil menggabungkan beberapa indikator untuk mengidentifikasi tren, tingkat dukungan / resistensi utama dan zona overbought / oversold untuk entri berisiko rendah selama retracements. Parameter yang dioptimalkan memungkinkan perdagangan akun kecil memanfaatkan volatilitas emas yang tinggi. Memiliki risiko yang dapat ditangani melalui manajemen risiko yang tepat. Potensi yang signifikan untuk meningkatkan stabilitas dan profitabilitas 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)