Sumber dimuat naik... memuat...

Perpindahan fasa berbilang tempoh dengan EMA Trend Following Strategy

Penulis:ChaoZhang, Tarikh: 2025-01-10 15:17:33
Tag:SMAEMAMA

 Multi-Period Phase Crossover with EMA Trend Following Strategy

Ringkasan

Strategi ini menggabungkan isyarat persilangan fasa dengan purata bergerak eksponensial pelbagai tempoh untuk menangkap peluang membeli dan menjual pasaran. Ia menggunakan persilangan fasa utama dan fasa tertinggal untuk menghasilkan isyarat perdagangan, sambil menggabungkan 13, 26, 50, 100, dan 200 EMA tempoh untuk pengesahan trend, menyediakan penyelesaian komprehensif untuk trend berikut dan perdagangan jangka pendek.

Prinsip Strategi

Logik teras terdiri daripada dua komponen utama: Sistem Perpindahan Fasa dan Sistem Pengesahan Trend EMA. Sistem Perpindahan Fasa menggunakan Purata Bergerak Sederhana (SMA) dengan perpindahan ke atas sebagai Fasa Utama dan Purata Bergerak Eksponensial (EMA) dengan perpindahan ke bawah sebagai Fasa Lagging. Isyarat beli dihasilkan apabila Fasa Utama melintasi di atas Fasa Lagging, dan isyarat jual apabila melintasi di bawah. Sistem Pengesahan Trend EMA menggunakan purata bergerak eksponensial beberapa tempoh (13/26/50/100/200) untuk mengesahkan trend pasaran keseluruhan, dengan perpindahan EMA 13 dan 26 tempoh berfungsi sebagai isyarat perdagangan sekunder.

Kelebihan Strategi

  1. Sistem Isyarat Lengkap: Menggabungkan isyarat silang fasa jangka pendek dengan pengesahan trend jangka panjang untuk menapis isyarat palsu dengan berkesan
  2. Keupayaan Mengikuti Trend yang Kuat: Mencatatkan dengan tepat arah trend utama melalui sistem EMA pelbagai tempoh
  3. Visualisasi yang baik: Menggunakan zon berwarna untuk mengenal pasti keadaan bullish dan bearish dengan isyarat perdagangan yang jelas
  4. Kebolehsesuaian Parameter yang Kuat: Boleh diselaraskan untuk ciri pasaran dan tempoh dagangan yang berbeza
  5. Kawalan Risiko yang Munasabah: Menggabungkan beberapa penunjuk untuk pengesahan untuk mengawal risiko perdagangan dengan berkesan

Risiko Strategi

  1. Risiko pasaran turun naik: Boleh menghasilkan isyarat perdagangan yang berlebihan semasa fasa penyatuan, meningkatkan kos dagangan
  2. Risiko Lag: Purata bergerak secara semula jadi mempunyai lag, berpotensi kehilangan titik kemasukan yang optimum
  3. Risiko pecah palsu: Boleh menghasilkan isyarat pecah palsu semasa turun naik pasaran yang tinggi
  4. Sensitiviti Parameter: Tetapan parameter yang berbeza boleh membawa kepada variasi prestasi strategi yang ketara
  5. Kebergantungan Lingkungan Pasaran: Strategi berprestasi lebih baik di pasaran yang sedang berkembang tetapi berprestasi rendah di pasaran yang berayun

Arahan Pengoptimuman Strategi

  1. Tambah penapis turun naik untuk mengurangkan kekerapan dagangan semasa tempoh turun naik yang rendah
  2. Sertakan penunjuk pengesahan jumlah untuk meningkatkan kebolehpercayaan isyarat
  3. Mengoptimumkan mekanisme stop-loss dan mengambil keuntungan, mewujudkan sistem stop-loss dinamik
  4. Memperkenalkan klasifikasi persekitaran pasaran untuk menyesuaikan parameter strategi untuk keadaan pasaran yang berbeza
  5. Membangunkan sistem parameter adaptif untuk pengoptimuman strategi dinamik

Ringkasan

Strategi ini membina sistem perdagangan trend yang komprehensif dengan menggabungkan sistem persilangan fasa dan EMA pelbagai tempoh. Ia mempunyai isyarat yang jelas, tangkapan trend yang tepat, dan kawalan risiko yang munasabah, sementara juga mempunyai risiko lag dan isyarat palsu tertentu. Kestabilan dan kebolehpercayaan strategi ini dapat ditingkatkan lagi melalui pengoptimuman seperti menambahkan penapis turun naik dan pengesahan jumlah. Ia sesuai untuk aplikasi di pasaran yang jelas, dan peniaga perlu menyesuaikan parameter berdasarkan ciri pasaran tertentu dan keutamaan risiko individu.


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Phase Cross Strategy with Zone", overlay=true)

// Inputs
length = input.int(20, title="Smoothing Length")
source = input(close, title="Source")
offset = input.float(0.5, title="Offset Amount", minval=0.0)  // Offset for spacing

// Simulating "Phases" with Smoothed Oscillators
lead_phase = ta.sma(source, length) + offset  // Leading phase with offset
lag_phase = ta.ema(source, length) - offset  // Lagging phase with offset

// Signal Logic
buySignal = ta.crossover(lead_phase, lag_phase)
sellSignal = ta.crossunder(lead_phase, lag_phase)

// Plot Phases (as `plot` objects for `fill`)
lead_plot = plot(lead_phase, color=color.green, title="Leading Phase", linewidth=1)
lag_plot = plot(lag_phase, color=color.red, title="Lagging Phase", linewidth=1)

// Fill Zone Between Phases
fill_color = lead_phase > lag_phase ? color.new(color.green, 90) : color.new(color.red, 90)
fill(plot1=lead_plot, plot2=lag_plot, color=fill_color, title="Phase Zone")

// Plot Buy and Sell Signals
plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), title="Buy Signal", size=size.small)
plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), title="Sell Signal", size=size.small)

// Strategy Entry and Exit
if buySignal
    strategy.entry("Buy", strategy.long)

if sellSignal
    strategy.close("Buy")


//indicator("EMA 13, 26, 50, 100, and 200 with Crossover, Value Zone, and Special Candles", overlay=true)

// Define the EMAs
ema13 = ta.ema(close, 13)
ema26 = ta.ema(close, 26)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)

// Plot the EMAs
plot(ema13, color=color.blue, linewidth=2, title="EMA 13")
plot(ema26, color=color.red, linewidth=2, title="EMA 26")
plot(ema50, color=color.orange, linewidth=2, title="EMA 50")
plot(ema100, color=color.green, linewidth=2, title="EMA 100")
plot(ema200, color=color.purple, linewidth=2, title="EMA 200")

// Crossover conditions
uptrend = ta.crossover(ema13, ema26)  // EMA 13 crosses above EMA 26 (buy)
downtrend = ta.crossunder(ema13, ema26)  // EMA 13 crosses below EMA 26 (sell)

// Plot buy/sell arrows
plotshape(series=uptrend, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
plotshape(series=downtrend, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")


Berkaitan

Lebih lanjut