Strategi aliran gelombang pengesanan dinamik

EMA SMA HLC MA
Tarikh penciptaan: 2024-12-20 16:17:27 Akhirnya diubah suai: 2024-12-20 16:17:27
Salin: 3 Bilangan klik: 413
1
fokus pada
1617
Pengikut

Strategi aliran gelombang pengesanan dinamik

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan petunjuk WaveTrend dan pengesanan trend. Ia membentuk kerangka keputusan perdagangan yang lengkap dengan menggabungkan petunjuk WaveTrend dengan purata bergerak.

Prinsip Strategi

Strategi ini akan dilaksanakan melalui langkah-langkah berikut:

  1. Pertama, kira harga purata HLC (rata-rata harga tertinggi, terendah dan harga penutupan)
  2. EMA digunakan untuk menghaluskan HLC untuk mendapatkan garis ESA
  3. HLC Mean deviasi antara garis HLC dan ESA dan EMA untuk meluruskan
  4. Nilai K dikira berdasarkan bias, dan garis TCI akhir diperoleh melalui dua kali EMA
  5. Menggunakan SMA untuk mengira garisan trend jangka panjang sebagai penapis trend
  6. Sinyal perdagangan dihasilkan apabila garis TCI melepasi tahap overbought dan oversold dan sesuai dengan arah trend

Kelebihan Strategik

  1. Kebolehpercayaan isyarat yang tinggi: berkesan mengurangkan isyarat palsu dengan menggabungkan penunjuk WaveTrend dan penapis trend
  2. Pengendalian risiko yang sempurna: menetapkan had overbought dan oversold yang jelas untuk membantu menghentikan kerugian tepat pada masanya
  3. Ketabahan: parameter strategi boleh disesuaikan dengan keadaan pasaran yang berbeza
  4. Logik operasi yang jelas: syarat masuk dan keluar jelas dan mudah dilaksanakan
  5. Analisis komprehensif: meningkatkan kestabilan dagangan dengan mengambil kira turun naik jangka pendek dan trend jangka panjang

Risiko Strategik

  1. Risiko perubahan trend: Kemungkinan terbelakang dalam pasaran yang bergolak
  2. Kepekaan parameter: Kombinasi parameter yang berbeza boleh membawa kepada hasil yang berbeza sama sekali
  3. Kebolehan beradaptasi pasaran: kemungkinan perdagangan yang kerap berlaku dalam pasaran yang bergolak
  4. Pengurusan wang: perlu mengawal kedudukan dengan bijak untuk menghadapi turun naik pasaran
  5. Ketergantungan teknologi: Indeks ketergantungan teknologi mungkin mengabaikan faktor asas

Arah pengoptimuman strategi

  1. Menambah penapis turun naik: penyesuaian nilai sandaran dagangan semasa turun naik yang tinggi
  2. Pengenalan analisis pelbagai kitaran: peningkatan ketepatan isyarat yang menggabungkan kitaran masa yang berbeza
  3. Parameter pengoptimuman menyesuaikan diri: menyesuaikan parameter penunjuk mengikut keadaan pasaran yang dinamik
  4. Peningkatan Stop Loss: Menambah mekanisme Stop Loss Dinamik
  5. Penambahan pengesahan jumlah pertukaran: Analisis jumlah pertukaran gabungan meningkatkan kebolehpercayaan isyarat

ringkaskan

Strategi ini membina sistem perdagangan yang mantap dengan menggabungkan indikator WaveTrend dan penapis trend dengan bijak. Strategi ini membolehkan analisis menyeluruh pasaran dengan mengekalkan operasi yang ringkas. Walaupun terdapat risiko tertentu, dengan pengurusan risiko yang munasabah dan pengoptimuman berterusan, strategi ini mempunyai nilai dan potensi pembangunan yang baik.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mojomarv

//@version=6
strategy("WaveTrend with Trend Filter", shorttitle="WaveTrend Trend", overlay=false, initial_capital = 100000)

// Inputs for the WaveTrend indicator
inputLength = input.int(10, title="Channel Length", minval=1)
avgLength = input.int(21, title="Average Length", minval=1)
obLevel = input.float(45, title="Overbought Level")
osLevel = input.float(-45, title="Oversold Level")
showSignals = input.bool(true, title="Show Buy/Sell Signals")

// Trend filter input
maLength = input.int(500, title="Trend MA Length", minval=1)

// Calculate WaveTrend values
hlc_avg = (high + low + close) / 3  // Renamed from hlc3 to hlc_avg
esa = ta.ema(hlc_avg, inputLength)
d = ta.ema(math.abs(hlc_avg - esa), inputLength)
k = (hlc_avg - esa) / (0.015 * d)
ci = ta.ema(k, avgLength)
tci = ta.ema(ci, avgLength)

// Moving average for trend detection
trendMA = ta.sma(close, maLength)

// Determine trend
bullishTrend = close > trendMA
bearishTrend = close < trendMA

// Generate signals with trend filter
crossUp = ta.crossover(tci, osLevel)
crossDown = ta.crossunder(tci, obLevel)

// Plot WaveTrend
plot(tci, title="WaveTrend Line", color=color.new(color.blue, 0), linewidth=2)
hline(obLevel, "Overbought", color=color.red, linestyle=hline.style_dotted)
hline(osLevel, "Oversold", color=color.green, linestyle=hline.style_dotted)
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_solid)

// Plot moving average for trend visualization
plot(trendMA, title="Trend MA", color=color.orange, linewidth=1)

// Plot buy and sell signals
plotshape(showSignals and crossUp, title="Buy Signal", location=location.belowbar, style=shape.labelup, color=color.new(color.green, 0), size=size.small)
plotshape(showSignals and crossDown, title="Sell Signal", location=location.abovebar, style=shape.labeldown, color=color.new(color.red, 0), size=size.small)

// Alerts
alertcondition(crossUp, title="Buy Alert", message="WaveTrend Buy Signal (Trend Confirmed)")
alertcondition(crossDown, title="Sell Alert", message="WaveTrend Sell Signal (Trend Confirmed)")
alertcondition(bullishTrend, title="bull", message="WaveTrend Sell Signal (Trend Confirmed)")
alertcondition(bearishTrend, title="bear", message="WaveTrend Sell Signal (Trend Confirmed)")

// Strategy logic
if crossUp and bullishTrend
    strategy.entry("Long", strategy.long)

if crossDown
    strategy.close("Long")

if crossDown and bearishTrend
    strategy.entry("Short", strategy.short)

if crossUp
    strategy.close("Short")