EMA23/EMA50 strategi dagangan kuantitatif crossover purata bergerak ganda

EMA EMA23 EMA50
Tarikh penciptaan: 2024-04-26 15:29:21 Akhirnya diubah suai: 2024-04-26 15:29:21
Salin: 3 Bilangan klik: 605
1
fokus pada
1617
Pengikut

EMA23/EMA50 strategi dagangan kuantitatif crossover purata bergerak ganda

Gambaran keseluruhan

Strategi ini berdagang berdasarkan isyarat silang EMA23 dan EMA50. Strategi ini menghasilkan isyarat beli apabila EMA23 melintasi EMA50, dan menghasilkan isyarat jual apabila ia melintasi EMA50. Strategi ini juga akan menghentikan kedudukan bertopeng apabila harga jatuh di bawah EMA50, sebaliknya menghentikan kedudukan kosong.

Prinsip Strategi

  1. Hitung purata bergerak kedua-dua indeks EMA23 dan EMA50
  2. Apabila EMA23 memakai EMA50, ia menghasilkan isyarat beli; apabila EMA23 memakai EMA50, ia menghasilkan isyarat jual.
  3. Untuk kedudukan multihead, hentikan kerugian jika harga jatuh di bawah EMA50 dan harga penutupan berada di bawah EMA50 pada garis K sebelumnya.
  4. Untuk kedudukan kosong, hentikan kerugian jika harga melampaui EMA50 dan harga penutupan lebih tinggi daripada EMA50 pada garis K sebelumnya.
  5. Untuk kedudukan multi-head, masuk semula jika harga kembali ke EMA50 dan harga penutupan, harga tertinggi adalah lebih tinggi daripada EMA50, dan EMA23 lebih tinggi daripada EMA50.
  6. Untuk kedudukan kosong, masuk semula jika harga jatuh ke bawah EMA50 dan harga penutupan dan harga terendah adalah di bawah EMA50 dan EMA23 adalah di bawah EMA50.
  7. Kedudukan berlainan kedudukan mendapat 1.6 kali ganda daripada harga penutupan yang ditetapkan sebagai harga pembukaan, kedudukan kosong mendapat 0.75 kali ganda daripada harga penutupan yang ditetapkan sebagai harga pembukaan.

Kelebihan Strategik

  1. Crossover adalah satu indikator trend yang mudah dan berkesan yang boleh membantu menangkap trend.
  2. Mekanisme penangguhan kerugian membantu mengawal risiko dan mengelakkan kerosakan yang lebih besar.
  3. Mekanisme kemasukan semula membolehkan strategi untuk menangkap semula trend dan meningkatkan potensi keuntungan.
  4. Tetapan untuk titik keuntungan membolehkan strategi untuk mengunci keuntungan tepat pada masanya.
  5. Dalam jangka masa 30 minit ini, lebih banyak peluang untuk berdagang, dan ia juga menapis beberapa bunyi bising.

Risiko Strategik

  1. EMA sebagai penunjuk trend yang ketinggalan zaman, mungkin terlepas titik masuk terbaik.
  2. Tetapan lokasi titik henti mungkin tidak dioptimumkan, menyebabkan hentian awal.
  3. Perdagangan yang kerap boleh meningkatkan kos bayaran dan menjejaskan keuntungan.
  4. Taktik ini boleh menyebabkan lebih banyak isyarat palsu di pasaran yang bergolak.
  5. Keuntungan tetap pada titik akhir mungkin mengehadkan ruang keuntungan strategi.

Arah pengoptimuman strategi

  1. Anda boleh mempertimbangkan untuk memperkenalkan petunjuk teknikal lain untuk membantu menentukan trend dan memperbaiki titik permulaan, seperti MACD, RSI dan sebagainya.
  2. Untuk mengoptimumkan tetapan titik hentian, pertimbangkan untuk menggunakan indikator kadar turun naik seperti ATR untuk menyesuaikan kedudukan hentian secara dinamik.
  3. Mengendalikan frekuensi transaksi, menetapkan syarat penyaringan perdagangan yang sesuai, mengurangkan isyarat palsu.
  4. Tetapan parameter strategi yang berbeza digunakan untuk pasaran goyah dan pasaran trend.
  5. Titik keuntungan boleh menjadi lebih fleksibel, seperti mengikut turun naik pasaran, nisbah ganjaran risiko dan lain-lain.

ringkaskan

Strategi ini adalah strategi perdagangan kuantitatif yang berasaskan silang dua garis sejajar, menangkap trend melalui sinyal silang EMA23 dan EMA50, dan menetapkan mekanisme berhenti dan masuk semula untuk mengawal risiko dan meningkatkan potensi keuntungan. Strategi ini mudah difahami, sesuai untuk perdagangan jangka pendek seperti 30 minit. Tetapi strategi ini juga mempunyai beberapa batasan, seperti penilaian trend yang terlambat, kurang pengoptimuman henti rugi, kurang prestasi pasaran goyah dan seterusnya.

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

//@version=5
strategy("EMA Crossover Strategy", overlay=true)

// EMA 23 ve EMA 50'nin hesaplanması
ema23 = ta.ema(close, 23)
ema50 = ta.ema(close, 50)

// Ana alım kuralı: EMA 23 ve EMA 50'nin yukarı kesilmesi
buySignal = ta.crossover(ema23, ema50)

// Ana satış kuralı: EMA 23 ve EMA 50'nin aşağı kesilmesi
sellSignal = ta.crossunder(ema23, ema50)

// Long pozisyon stop seviyesi
longStopLoss = low < ema50 and close < ema50[1]

// Short pozisyon stop seviyesi
shortStopLoss = high > ema50 and close > ema50[1]

// Long pozisyon için tekrar giriş kuralı
longReEntry = high > ema50 and close > ema50 and close > ema50 and ema23 > ema50

// Short pozisyon için tekrar giriş kuralı
shortReEntry = low < ema50 and close < ema50 and close < ema50 and ema23 < ema50

// Long işlemde kar alma seviyesi (%60)
longTakeProfit = strategy.position_avg_price * 1.60

// Short işlemde kar alma seviyesi (%25)
shortTakeProfit = strategy.position_avg_price * 0.75

// Long işlem için yeniden giriş koşulu
longReEntryCondition = strategy.position_size <= 0 and longReEntry

// Short işlem için yeniden giriş koşulu
shortReEntryCondition = strategy.position_size >= 0 and shortReEntry

// Geriye dönük test için başlangıç tarihi (01.01.2022)
startDate = timestamp(2022, 01, 01, 00, 00)

if (time >= startDate)
    if (buySignal)
        strategy.entry("Buy", strategy.long)

    if (sellSignal)
        strategy.entry("Sell", strategy.short)

    if (strategy.position_size > 0 and (longStopLoss or close >= longTakeProfit))
        strategy.close("Buy")

    if (strategy.position_size < 0 and (shortStopLoss or close <= shortTakeProfit))
        strategy.close("Sell")

    if (longReEntryCondition)
        strategy.entry("Buy", strategy.long)

    if (shortReEntryCondition)
        strategy.entry("Sell", strategy.short)