Strategi Emas Crossover Purata Bergerak


Tarikh penciptaan: 2023-12-27 15:56:12 Akhirnya diubah suai: 2023-12-27 15:56:12
Salin: 0 Bilangan klik: 863
1
fokus pada
1623
Pengikut

Strategi Emas Crossover Purata Bergerak

Gambaran keseluruhan

Strategi ini adalah strategi simpulan moving average crossover. Ia melakukan lebih banyak ketika melintasi EMA perlahan pada EMA cepat dan kosong ketika melintasi EMA perlahan di bawah EMA cepat. Strategi ini menggabungkan stop loss, stop loss dan stop loss bergerak untuk mengawal risiko dengan berkesan.

Prinsip Strategi

Strategi ini berdasarkan purata bergerak pantas dan perlahan. Garis pantas adalah EMA 9 hari, garis perlahan adalah EMA 21 hari. Apabila garis pantas melintasi garis perlahan dari bawah, lakukan lebih banyak. Apabila garis pantas melintasi garis perlahan dari atas, lakukan kosong.

Hentikan berdasarkan persentasyen tertentu untuk menutup, berhenti berdasarkan persentasyen tertentu untuk menutup. Hentikan bergerak berdasarkan persentasyen tertentu untuk menutup, apabila harga mencapai tahap itu, hentikan bergerak ke harga pembukaan.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Logik strategi ringkas, jelas, mudah difahami dan dilaksanakan
  2. Menggunakan fungsi pengesanan trend rata-rata bergerak, trend dapat ditangkap dengan berkesan
  3. Menggabungkan Stop Loss, Stop Stop, dan Stop Loss Mobile untuk mengawal risiko dengan berkesan
  4. Fleksibiliti penyesuaian parameter yang boleh dioptimumkan untuk pasaran yang berbeza

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Rata-rata bergerak mempunyai keterlambatan dan mungkin terlepas isyarat perubahan
  2. Penetapan yang tidak betul boleh menyebabkan kerugian yang tidak perlu atau kehilangan keuntungan
  3. Tetapan parameter yang tidak betul boleh menyebabkan terlalu banyak perdagangan atau kehilangan peluang perdagangan

Penyelesaian:

  1. Tetapan parameter purata bergerak yang munasabah, parameter pengoptimuman
  2. Sesuaikan peratusan hentian dan hentian untuk memastikan tetapan yang munasabah
  3. Menyesuaikan parameter untuk pasaran yang berbeza, mengelakkan terlalu sering berdagang

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan:

  1. Uji kombinasi parameter purata bergerak dengan panjang yang berbeza
  2. Peratusan Stop Loss, Stop Loss, dan Stop Loss Bergerak yang disesuaikan dengan tahap turun naik pasaran yang berbeza
  3. Menambah isyarat penapis petunjuk teknikal lain untuk mengoptimumkan masa masuk
  4. Parameter pengoptimuman dinamik yang menggabungkan teknik statistik atau kaedah pembelajaran mesin

ringkaskan

Strategi moving average crossover ini logiknya jelas dan mudah dilaksanakan secara keseluruhan, dan ia mengawal risiko dengan menggabungkan hentian, hentian dan hentian bergerak. Dengan menetapkan parameter yang munasabah dan melakukan penyesuaian optimum untuk pasaran yang berbeza, strategi ini dapat memperoleh kesan yang lebih baik.

Kod sumber strategi
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("XAUUSD Strategy with SL, TP, and BE", shorttitle="EA", overlay=true)

// Define strategy parameters
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
stopLossPercent = input(1, title="Stop Loss (%)", minval=0, maxval=5) / 100
takeProfitPercent = input(2, title="Take Profit (%)", minval=0, maxval=5) / 100
breakEvenPercent = input(1, title="Break Even (%)", minval=0, maxval=5) / 100

// Calculate EMAs
fastEMA = ema(close, fastLength)
slowEMA = ema(close, slowLength)

// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")

// Strategy logic
enterLong = crossover(fastEMA, slowEMA)
exitLong = crossunder(fastEMA, slowEMA)

enterShort = crossunder(fastEMA, slowEMA)
exitShort = crossover(fastEMA, slowEMA)

// Calculate stop loss, take profit, and break-even levels
longStopLoss = close * (1 - stopLossPercent)
longTakeProfit = close * (1 + takeProfitPercent)
shortStopLoss = close * (1 + stopLossPercent)
shortTakeProfit = close * (1 - takeProfitPercent)

longBreakEven = close * (1 + breakEvenPercent)
shortBreakEven = close * (1 - breakEvenPercent)

// Execute strategy with stop loss, take profit, and break-even
strategy.entry("Long", strategy.long, when = enterLong)
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", profit = longTakeProfit, loss = longStopLoss)

strategy.entry("Short", strategy.short, when = enterShort)
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", profit = shortTakeProfit, loss = shortStopLoss)

// Move stop loss to break even when price reaches break-even level
strategy.exit("Break Even Long", from_entry="Long", loss = longBreakEven)
strategy.exit("Break Even Short", from_entry="Short", loss = shortBreakEven)