Sumber dimuat naik... memuat...

Strategi Trend EMA Multi-Timeframe dengan Sistem Penembusan Tinggi-Rendah Harian

Penulis:ChaoZhang, Tarikh: 2024-11-28 15:20:59
Tag:EMAMA

img

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang menggabungkan pecah tinggi-rendah harian dengan trend EMA pelbagai jangka masa. Strategi ini terutamanya mengenal pasti peluang perdagangan dengan memantau pecah harga tahap tinggi dan rendah hari sebelumnya, digabungkan dengan trend EMA dan penunjuk Aliran Wang Chaikin (CMF).

Prinsip Strategi

Logik teras merangkumi elemen utama berikut:

  1. Menggunakan fungsi request.security untuk mendapatkan harga tinggi dan rendah hari sebelumnya sebagai tahap sokongan dan rintangan utama.
  2. Menggabungkan EMA 24 tempoh sebagai garis asas untuk penentuan trend.
  3. Melaksanakan CMF (20-periode) sebagai penunjuk komprehensif jumlah dan harga untuk menilai aliran wang pasaran.
  4. Mengira 200 EMA pada kedua-dua jangka masa semasa dan 1 jam untuk menentukan arah trend yang lebih besar.

Peraturan perdagangan khusus: Pendaftaran panjang: Harga pecah di atas hari sebelumnyatinggi + Tutup di atas EMA + CMF positif Entry Pendek: Harga pecah di bawah hari sebelumnyas rendah + Tutup di bawah EMA + CMF negatif Keluar: Melalui di bawah EMA untuk panjang, melintasi di atas EMA untuk pendek

Kelebihan Strategi

  1. Validasi pelbagai penunjuk teknikal meningkatkan kebolehpercayaan dagangan
  2. Analisis pelbagai jangka masa memberikan penilaian trend yang komprehensif
  3. Integrasi penunjuk CMF menangkap keadaan aliran wang pasaran dengan lebih baik
  4. Tahap tinggi dan rendah hari sebelumnya selaras dengan pelaku pasaran
  5. Logik strategi yang jelas yang mudah difahami dan dilaksanakan
  6. Syarat masuk dan keluar yang jelas meminimumkan penilaian subjektif

Risiko Strategi

  1. Boleh menghasilkan isyarat palsu yang kerap di pasaran yang berbeza
  2. Tidak cukup responsif kepada penembusan harga segera
  3. Peluang yang hilang di peringkat utama
  4. Tidak mengambil kira trend jangka masa yang lebih besar
  5. Mungkin mengalami pengeluaran yang signifikan semasa turun naik pasaran yang melampau

Cadangan Kawalan Risiko:

  1. Melaksanakan paras stop-loss yang sesuai
  2. Penyesuaian parameter berdasarkan keadaan pasaran
  3. Tambah penapis trend
  4. Pertimbangkan untuk memasukkan penunjuk turun naik

Arahan pengoptimuman

  1. Melaksanakan mekanisme pengoptimuman parameter adaptif
  2. Tambah lebih banyak penapis keadaan pasaran
  3. Mengoptimumkan mekanisme stop-loss dan mengambil keuntungan
  4. Sertakan penunjuk turun naik untuk keadaan pasaran yang berbeza
  5. Pertimbangkan mekanisme pengurusan kedudukan
  6. Tambah penunjuk analisis jumlah

Ringkasan

Ini adalah sistem perdagangan lengkap yang menggabungkan pelbagai penunjuk teknikal dan analisis pelbagai jangka masa. Strategi ini mencari peluang perdagangan melalui analisis komprehensif mengenai penembusan tinggi-rendah intraday, trend purata bergerak, dan aliran wang. Walaupun terdapat risiko tertentu, strategi ini mempunyai nilai praktikal yang baik melalui kawalan risiko yang betul dan pengoptimuman berterusan.


/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='The security Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, 
         default_qty_type=strategy.percent_of_equity, default_qty_value=100, 
         commission_type=strategy.commission.percent, commission_value=0.1)

// General Inputs
len = input.int(24, minval=1, title='Length MA', group='Optimization parameters')
src = input.source(close, title='Source MA', group='Optimization parameters')
out = ta.ema(src, len)

length = input.int(20, minval=1, title='CMF Length', group='Optimization parameters')
ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume
mf = math.sum(ad, length) / math.sum(volume, length)

// Function to get daily high and low
f_secureSecurity(_symbol, _res, _src) =>
    request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on)

pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high)
pricelow = f_secureSecurity(syminfo.tickerid, 'D', low)

// Plotting previous daily high and low
plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))
plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))

// Entry Conditions
short = ta.crossunder(low, pricelow) and close < out and mf < 0
long = ta.crossover(high, pricehigh) and close > out and mf > 0

if short and barstate.isconfirmed
    strategy.entry('short', strategy.short, stop=pricelow[1])
    strategy.close('short', when=close > out)

if long and barstate.isconfirmed
    strategy.entry('long', strategy.long, stop=pricehigh[1])
    strategy.close('long', when=close < out)

// 200 EMA on 1-hour timeframe
ema_200 = ta.ema(close, 200)
ema_200_1h = request.security(syminfo.tickerid, "60", ta.ema(close, 200))

plot(ema_200_1h, color=color.purple, title="200 EMA (1H)")
plot(ema_200, color=color.white, title="200 EMA")

Berkaitan

Lebih lanjut