Parabolik SAR dan CCI Strategi dengan EMA Exit untuk Perdagangan Emas

Penulis:ChaoZhang, Tarikh: 2023-12-07 17:04:54
Tag:

img

Ringkasan

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.

Logika Strategi

  1. 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.

  2. 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.

  3. EMA crossovers menandakan titik perubahan harga jangka pendek. Uptrend dicadangkan apabila garis cepat meningkat dan downtrend dicadangkan apabila ia jatuh.

  4. 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.

  5. Peraturan keluar: Ambil keuntungan pada harga masuk + 7 tik, Hentikan kerugian ditetapkan pada garis EMA 1 minit.

Kelebihan

  1. Menggunakan 3 penunjuk untuk mengenal pasti trend dan tahap sokongan / rintangan utama, meningkatkan keuntungan.

  2. CCI menapis pecah palsu dengan cekap. Pembalikan SAR digabungkan dengan arah trend mengelakkan entri yang tidak perlu semasa penyatuan.

  3. EMA crossovers dengan SAR menawarkan kemasukan berisiko rendah semasa penarikan sementara.

  4. Parameter yang dioptimumkan sesuai untuk komoditi yang tidak menentu seperti emas dan akaun kecil.

Risiko

  1. Terutamanya bergantung pada penunjuk teknikal yang mungkin gagal semasa peristiwa black swan.

  2. Komoditi yang mudah berubah, EMA stop loss terdedah kepada dipukul oleh lonjakan yang mengakibatkan kerugian besar.

  3. Potensi isyarat palsu dari CCI dan SAR yang membawa kepada kerugian yang tidak perlu.

  4. Kegagalan sistem semasa pergerakan yang tidak menentu boleh menghalang pelaksanaan stop loss yang berkesan.

Peluang Peningkatan

  1. Uji kombinasi parameter yang berbeza untuk mengoptimumkan CCI untuk ciri emas.

  2. Masukkan lebih banyak penunjuk seperti corak lilin, Bollinger Bands untuk meningkatkan ketahanan.

  3. Menggunakan pembelajaran mesin untuk pengoptimuman dinamik parameter SAR yang menyesuaikan diri dengan pasaran yang berubah.

  4. Uji mekanisme stop loss yang berlainan, contohnya, stop trailing untuk mengurangkan kebarangkalian terkena.

  5. Mengoptimumkan model saiz kedudukan e.g. saiz kedudukan pecahan tetap, dinamik untuk mengawal jumlah kerugian perdagangan tunggal.

Kesimpulan

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)


Lebih lanjut