Sumber daya yang dimuat... Pemuatan...

Strategi Tren EMA Multi-Timeframe dengan Sistem Breakout Tinggi-Rendah Harian

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

img

Gambaran umum

Ini adalah strategi perdagangan kuantitatif yang menggabungkan perputaran tinggi-rendah harian dengan tren EMA multi-frame waktu. Strategi ini terutama mengidentifikasi peluang perdagangan dengan memantau perputaran harga dari tingkat tinggi dan rendah hari sebelumnya, dikombinasikan dengan tren EMA dan indikator Chaikin Money Flow (CMF).

Prinsip Strategi

Logika inti mencakup elemen kunci berikut:

  1. Menggunakan fungsi request.security untuk mendapatkan harga tinggi dan rendah hari sebelumnya sebagai level support dan resistance utama.
  2. Menggabungkan EMA 24 periode sebagai garis dasar untuk penentuan tren.
  3. Mengimplementasikan CMF (periode 20) sebagai indikator komprehensif volume dan harga untuk menilai arus uang pasar.
  4. Menghitung 200 EMA pada jangka waktu saat ini dan 1 jam untuk menentukan arah tren yang lebih besar.

Aturan perdagangan khusus: Long Entry: Harga pecah di atas puncak hari sebelumnya + Tutup di atas EMA + CMF Positif Short Entry: Harga pecah di bawah low hari sebelumnya + Tutup di bawah EMA + CMF Negatif Keluar: Melalui di bawah EMA untuk panjang, melintasi di atas EMA untuk pendek

Keuntungan Strategi

  1. Validasi beberapa indikator teknis meningkatkan keandalan perdagangan
  2. Analisis multi-frame waktu memberikan penilaian tren yang komprehensif
  3. Integrasi indikator CMF lebih baik menangkap kondisi arus uang pasar
  4. Tingkat tinggi-rendah hari sebelumnya selaras dengan kebiasaan perdagangan peserta pasar
  5. Logika strategi yang jelas yang mudah dimengerti dan dilaksanakan
  6. Kondisi masuk dan keluar yang jelas meminimalkan penilaian subjektif

Risiko Strategi

  1. Dapat menghasilkan sinyal palsu yang sering di berbagai pasar
  2. Tidak cukup responsif terhadap pergeseran harga instan
  3. Potensi kesempatan yang hilang di tingkat kunci
  4. Tidak mempertimbangkan tren jangka waktu yang lebih luas
  5. Dapat mengalami penarikan yang signifikan selama volatilitas pasar yang ekstrim

Saran Pengendalian Risiko:

  1. Mengimplementasikan tingkat stop loss yang tepat
  2. Sesuaikan parameter berdasarkan kondisi pasar
  3. Tambahkan filter tren
  4. Pertimbangkan untuk memasukkan indikator volatilitas

Arahan Optimasi

  1. Mengimplementasikan mekanisme optimasi parameter adaptif
  2. Tambahkan filter kondisi pasar
  3. Mengoptimalkan mekanisme stop loss dan take profit
  4. Sertakan indikator volatilitas untuk kondisi pasar yang berbeda
  5. Pertimbangkan mekanisme manajemen posisi
  6. Tambahkan indikator analisis volume

Ringkasan

Ini adalah sistem perdagangan lengkap yang menggabungkan beberapa indikator teknis dan analisis multi-frame waktu. Strategi ini mencari peluang perdagangan melalui analisis komprehensif dari intraday high-low breakout, tren rata-rata bergerak, dan aliran uang. Meskipun ada risiko tertentu, strategi ini memiliki nilai praktis yang baik melalui kontrol risiko yang tepat dan optimasi terus-menerus. Pedagang disarankan untuk melakukan backtesting menyeluruh dan optimasi parameter sebelum implementasi langsung.


/*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 banyak