Strategi harian DCA dengan menyentuh EMA

Penulis:ChaoZhang, Tarikh: 2024-01-16 15:30:17
Tag:

img

Ringkasan

Strategi skrip Pine ini melaksanakan pendekatan purata kos dolar harian pada platform TradingView, menggabungkan isyarat sentuhan EMA untuk menentukan titik masuk. Ia mengikuti metodologi purata kos dolar untuk membuat pelaburan jumlah tetap setiap hari, menyebarkan pembelian dari masa ke masa untuk mengurangkan risiko.

Logika Strategi

Strategi ini mempunyai ciri utama berikut:

  1. Purata Kos Dolar Harian

    • Pelaburan harian tetap tanpa mengira kenaikan dan penurunan pasaran
    • Pelaburan kumpulan jangka panjang untuk mengurangkan risiko perdagangan tunggal
  2. EMA untuk isyarat kemasukan

    • Isyarat beli diaktifkan apabila harga penutupan melintasi EMA 5, 10, 20 dan lain-lain.
    • Garis EMA berfungsi sebagai sokongan untuk mengelakkan penurunan jangka pendek
  3. Penghentian Kehilangan Dinamik

    • Jual semua kedudukan jika harga penutupan jatuh di bawah SMA 20 hari
    • Elakkan kerugian lebih lanjut
  4. Batas Jumlah Dagangan

    • Caps max perdagangan pada 300 untuk mengawal saiz kedudukan
    • Menghalang pelaburan berlebihan di luar kapasiti aset

Secara khusus, setiap hari strategi melabur jumlah tetap dan mengira saham yang akan dibeli berdasarkan harga penutupan. Jika harga penutupan melintasi di atas mana-mana EMA 5-, 10-, 20-hari dan lain-lain, isyarat beli dicetuskan. Sebaik sahaja jumlah perdagangan terkumpul mencapai had 300, tidak ada pembelian lagi yang akan berlaku. Di samping itu, jika harga ditutup di bawah SMA 20-hari atau mencapai tarikh keluar yang telah ditetapkan, semua kedudukan dibersihkan. skrip juga memetakan EMA pada carta harga untuk analisis visual.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Kepelbagaian Risiko

    • Pelaburan harian berjumlah tetap kecil tanpa mengira trend pasaran
    • Mengelakkan mengejar tinggi
  2. Gabungan EMA Mengelakkan Pullback

    • Perpindahan EMA menghalang pembelian dalam tempoh penurunan
    • Meneruskan pembelian semasa penurunan mempelbagaikan risiko
  3. Pengendalian Peletakan Hentian Dinamik

    • Stop loss membolehkan keluar tepat pada masanya
    • Mencegah kerugian besar
  4. Kawalan had perdagangan Risiko

    • Saiz kedudukan maksimum ditetapkan terlebih dahulu untuk mengelakkan pelaburan berlebihan
    • Mengekalkan pelaburan dalam kapasiti aset
  5. Visualisasi EMA intuitif

    • EMA digambarkan pada carta harga
    • Membolehkan pemantauan mudah oleh pengendali
  6. Sangat Sesuai

    • Input adat untuk jumlah pelaburan, tempoh EMA, berhenti dan lain-lain
    • Penyesuaian berdasarkan keutamaan risiko peribadi

Analisis Risiko

Strategi ini juga membawa beberapa risiko untuk diperhatikan:

  1. Risiko Sistemik Masih Ada

    • Peristiwa Black Swan boleh membawa kepada kerugian besar
    • Penyeragaman hanya mengurangkan tetapi tidak menghapuskan risiko
  2. Jumlah Pelaburan Tetap

    • Pelaburan harian tetap boleh kehilangan kenaikan jika harga melonjak
    • Penyesuaian jumlah dinamik boleh membantu
  3. EMA tidak boleh bertindak balas terhadap pergerakan melampau

    • EMA mempunyai tindak balas yang lebih perlahan kepada peristiwa tiba-tiba dan gagal menghentikan kerugian pada masa
    • Digabungkan dengan KD, BOLL boleh membantu mengenal pasti ekstrem
  4. Batas Perdagangan Potensi Keuntungan

    • Batas atas cap perdagangan keuntungan yang mungkin
    • Perlu menyeimbangkan risiko dan ganjaran
  5. Penempatan Stop Loss memerlukan penjagaan

    • Perhentian terlalu dekat cenderung untuk diambil sebelum masa sementara berhenti terlalu longgar gagal untuk melindungi pada masa
    • Ujian meluas diperlukan untuk mencari keseimbangan yang betul

Peningkatan Masa Depan

Pengoptimuman lanjut:

  1. Jumlah pelaburan harian dinamik

    • Asas pelaburan harian pada penunjuk
    • Meningkatkan apabila bullish, mengurangkan apabila bearish
  2. Isyarat kemasukan tambahan

    • Menambah EMA dengan penunjuk lain seperti KD, BOLL
    • Meningkatkan pengenalan pergerakan melampau
  3. Purata Bergerak Eksponen

    • EMA bertindak balas perlahan kepada peristiwa tiba-tiba, DEMA, TEMA boleh membantu
    • Mencatatkan trend baru dengan lebih cepat
  4. Had kedudukan dinamik

    • Peningkatan had berdasarkan keuntungan strategi
    • Membolehkan pendedahan yang lebih tinggi pada penilaian wajar
  5. Penghentian Kerugian

    • Pasaran strategi semasa menjual semua, penangguhan trailing boleh membantu mengelakkan jurang ke bawah
    • Mengurangkan risiko hentian berlari

Kesimpulan

Ringkasnya, strategi DCA harian yang digabungkan EMA ini merealisasikan konsep pelaburan berkala jangka panjang, menyebarkan risiko di beberapa entri kecil berbanding pembelian sekali pakai yang besar. EMA membantu mengelakkan risiko menarik balik jangka pendek hingga tahap tertentu, sementara stop loss mengawal kerugian maksimum. Namun, risiko angsa hitam dan batasan saiz pelaburan tetap perlu diingat. Aspek-aspek ini memberikan arah peningkatan masa depan melalui penyesuaian parameter dan kombinasi penunjuk untuk membina strategi kuantiti yang cekap namun stabil.


/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)

// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")

start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0

// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close

// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date

// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))

if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
    strategy.entry("Buy", strategy.long, qty=shares_to_buy)
    trade_count := trade_count + 1

// Dynamic sell conditions (optional)
sell_condition =  true

if enable_sell and sell_condition
    strategy.close_all()

// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")


Lebih lanjut