Trend Mengikuti Strategi EMA


Tarikh penciptaan: 2023-10-16 15:54:41 Akhirnya diubah suai: 2023-10-16 15:54:41
Salin: 0 Bilangan klik: 714
1
fokus pada
1617
Pengikut

Trend Mengikuti Strategi EMA

Gambaran keseluruhan

Strategi EMA trend track adalah strategi trend track yang berdasarkan pada indikator EMA. Strategi ini dilakukan dengan mengira garis EMA untuk kitaran yang ditentukan, menentukan arah trend harga, dan melakukan trend track. Strategi trend track adalah tipikal.

Prinsip Strategi

Strategi ini adalah berdasarkan kepada EMA untuk menilai trend harga. EMA adalah purata bergerak indeks yang selaras dengan harga, ia memberikan berat yang lebih tinggi kepada harga yang lebih baru dan dapat bertindak balas lebih cepat terhadap perubahan harga. Strategi ini menghasilkan kurva yang selaras dengan mengira harga purata dalam kitaran EMA.

Mengikut prinsip ini, strategi ini melakukan shorting apabila harga melepasi EMA di atas dan shorting apabila harga melepasi EMA di bawah, untuk mengesan perubahan trend harga dengan mengesan garis EMA. Khususnya, ia mengira garis EMA 8 kitaran dalam kod, membuka posisi shorting apabila harga menutup melepasi EMA di atas dan shorting apabila ia melepasi EMA di bawah.

Kelebihan Strategik

  • EMA line dapat melonggarkan turun naik harga, menyaring bunyi pasaran, dan menjejaki trend garis panjang.
  • Frekuensi operasi adalah sederhana. Berbanding dengan penunjuk kitaran pendek, garis EMA menyesuaikan frekuensi yang sederhana, mengelakkan perdagangan yang terlalu kerap.
  • Strategi ini membolehkan trend dijejaki hanya berdasarkan satu indikator EMA, sangat mudah dan langsung.
  • Skala yang kuat. Strategi boleh diperkaya dengan mengoptimumkan parameter EMA atau menambah petunjuk lain.

Risiko dan Penyelesaian

  • Risiko kehilangan titik penyesuaian mungkin berlaku. Apabila harga berbalik dengan cepat, garis EMA memerlukan masa untuk melakukan penyesuaian dan mungkin kehilangan masa masuk yang terbaik. Penyelesaian adalah dengan menggabungkan petunjuk lain untuk menilai titik penyesuaian.

  • Terdapat risiko peningkatan kerugian. Garis EMA memainkan peranan sebagai trend, tidak dapat menentukan titik penyesuaian dengan tepat. Jika harga berbalik, kemungkinan besar akan menyebabkan kerugian yang lebih besar.

  • Frekuensi perdagangan mungkin terlalu tinggi atau terlalu rendah. Periode EMA berbeza, dan frekuensi perdagangan strategi produksi juga berbeza.

Cadangan Optimasi

  • Optimumkan parameter EMA untuk mencari titik keseimbangan terbaik. Anda boleh mengoptimumkan langkah demi langkah untuk menentukan nilai kitaran EMA terbaik.

  • Tambah indikator lain untuk menentukan titik penyesuaian. Sebagai contoh, indikator overbought dan oversold seperti RSI dapat digunakan untuk menentukan titik penyesuaian harga.

  • Mengoptimumkan strategi berhenti untuk mencari titik berhenti yang terbaik. Dengan pengulangan, anda boleh menguji titik berhenti yang berbeza untuk mencari titik berhenti yang paling besar untuk mengunci keuntungan.

  • Optimumkan pilihan varieti. Sesuaikan parameter kitaran EMA mengikut ciri-ciri varieti yang berbeza untuk menghasilkan kesan terbaik.

ringkaskan

Strategi EMA trend track adalah strategi trend track yang sangat tipikal berdasarkan indikator. Ia mudah, mudah dilaksanakan, sesuai untuk pelajar pemula. Ia juga boleh diperluaskan, dan dapat meningkatkan lagi kesan strategi dengan menambah indikator lain atau parameter pengoptimuman. Dengan terus mengoptimumkan dan memperbaiki, strategi ini boleh menjadi alat trend track yang sangat praktikal.

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

//@version=3
strategy(title = "EMA Close Strategy", shorttitle = "EMA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

EmaSource   = input(defval = close, title = "EMA Source")
EmaLength   = input(defval = 8, title = "EMA Period", minval = 1)

StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
stopLoss = input(30, title = "Stop loss percentage(0.1%)") 
UseStopLoss = input(true,"UseStopLoss")

window() => time >=  timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false



EMA = ema(EmaSource,EmaLength)

plot(EMA, title = "EMA", color = green, linewidth = 2, style = line, transp = 50)

long = crossunder(EMA, close)
short= crossover(EMA, close)

if (long)
    strategy.entry("LongId", strategy.long, when=window())
    
if (short)
    strategy.entry("ShortId", strategy.short, when=window())

if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)