Strategi kuantitatif pengurusan risiko pengurusan risiko berbilang trend gelombang

EMA SMA
Tarikh penciptaan: 2024-12-13 10:51:31 Akhirnya diubah suai: 2024-12-13 10:51:31
Salin: 0 Bilangan klik: 341
1
fokus pada
1617
Pengikut

Strategi kuantitatif pengurusan risiko pengurusan risiko berbilang trend gelombang

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan indikator WaveTrend, yang digabungkan dengan mekanisme pengurusan risiko dinamik. Strategi ini menjalankan pengurusan perdagangan secara menyeluruh dengan mengira kekuatan trend dalam turun naik harga, memfilter isyarat di kawasan overbought dan oversold, sambil menggunakan kaedah kawalan risiko seperti stop loss, stop loss dan tracking stop loss.

Prinsip Strategi

Strategi ini berpusat pada pengiraan indikator WaveTrend melalui harga HLC3. Pertama, pengiraan purata bergerak indeks ((EMA) untuk tempoh n1 sebagai garis asas, kemudian pengiraan penyimpangan harga terhadap garis asas, dan pengolahan penggabungan menggunakan 0.015 sebagai faktor. Akhirnya, dua garis gelombang wt1 dan wt2, yang mewakili garis cepat dan perlahan, dihasilkan.

Kelebihan Strategik

  1. Sistem isyarat mempunyai keupayaan untuk mengesan trend yang baik, meningkatkan kebolehpercayaan isyarat melalui tahap overbought dan oversold ganda
  2. Sistem pengurusan risiko yang lengkap, termasuk hentian tetap, hentian tetap dan hentian pengesanan yang dinamik
  3. Parameter yang boleh laras dengan mudah untuk mengoptimumkan mengikut keadaan pasaran yang berbeza
  4. Menggabungkan mekanisme penyesuaian kadar turun naik untuk meningkatkan kebolehsesuaian strategi
  5. Sistem isyarat yang direka secara bertingkat mengurangkan kesan isyarat palsu

Risiko Strategik

  1. Keadaan yang mungkin sering berlaku dalam pasaran yang bergolak
  2. Pengaturan parameter yang tidak betul boleh menyebabkan kos transaksi yang terlalu tinggi
  3. Mungkin terlalu banyak isyarat palsu di pasaran Forex
  4. Perlu menetapkan peratusan stop loss dan stop loss yang munasabah untuk mengelakkan ketidakseimbangan antara risiko dan ganjaran
  5. Tracking stop loss boleh menyebabkan penarikan balik yang lebih besar dalam keadaan berbalik pantas

Arah pengoptimuman strategi

  1. Memperkenalkan penunjuk kuantiti pertukaran untuk pengesahan isyarat dan meningkatkan kebolehpercayaan perdagangan
  2. Mengoptimumkan parameter tracking stop loss agar lebih sesuai dengan keadaan pasaran yang berbeza
  3. Meningkatkan penapis kekuatan trend dan mengurangkan frekuensi perdagangan di pasaran horizontal
  4. Pertimbangkan untuk memasukkan mekanisme hentian dinamik yang secara automatik menyesuaikan kedudukan hentian mengikut turun naik pasaran
  5. Memperkenalkan penapis masa untuk mengelakkan perdagangan pada masa yang tidak menguntungkan

ringkaskan

Strategi ini mewujudkan strategi perdagangan kuantitatif yang lebih menyeluruh dengan menggabungkan indikator WaveTrend dan sistem pengurusan risiko yang baik. Kelebihan utama strategi ini adalah fleksibiliti dan risiko yang terkawal, tetapi masih memerlukan pengoptimuman parameter dan penambahbaikan strategi oleh peniaga mengikut keadaan pasaran sebenar. Dengan pengoptimuman dan penyempurnaan berterusan, strategi ini dijangka menghasilkan keuntungan yang stabil dalam perdagangan sebenar.

Kod sumber strategi
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="WaveTrend [LazyBear] with Risk Management", shorttitle="WT_LB_RM", overlay=true)

// Input Parameters
n1 = input.int(10, "Channel Length")
n2 = input.int(21, "Average Length")
obLevel1 = input.int(60, "Over Bought Level 1")
obLevel2 = input.int(53, "Over Bought Level 2")
osLevel1 = input.int(-60, "Over Sold Level 1")
osLevel2 = input.int(-53, "Over Sold Level 2")

// Risk Management Inputs
stopLossPercent = input.float(50.0, "Stop Loss (%)", minval=0.1, maxval=100)
takeProfitPercent = input.float(5.0, "Take Profit (%)", minval=0.1, maxval=100)
trailingStopPercent = input.float(3.0, "Trailing Stop (%)", minval=0.1, maxval=100)
trailingStepPercent = input.float(2.0, "Trailing Stop Step (%)", minval=0.1, maxval=100)

// WaveTrend Calculation
ap = hlc3 
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)
 
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Plotting Original Indicators
plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red, style=plot.style_line)
plot(osLevel2, color=color.green, style=plot.style_line)

plot(wt1, color=color.green)
plot(wt2, color=color.red, style=plot.style_line)
plot(wt1-wt2, color=color.blue, style=plot.style_area, transp=80)

// Buy and Sell Signals with Risk Management
longCondition = ta.crossover(wt1, osLevel1) or ta.crossover(wt1, osLevel2)
shortCondition = ta.crossunder(wt1, obLevel1) or ta.crossunder(wt1, obLevel2)

// Strategy Entry with Risk Management
if (longCondition)
    entryPrice = close
    stopLossPrice = entryPrice * (1 - stopLossPercent/100)
    takeProfitPrice = entryPrice * (1 + takeProfitPercent/100)
    
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", 
                  stop=stopLossPrice, 
                  limit=takeProfitPrice, 
                  trail_price=close * (1 + trailingStopPercent/100), 
                  trail_offset=close * (trailingStepPercent/100))

if (shortCondition)
    entryPrice = close
    stopLossPrice = entryPrice * (1 + stopLossPercent/100)
    takeProfitPrice = entryPrice * (1 - takeProfitPercent/100)
    
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", 
                  stop=stopLossPrice, 
                  limit=takeProfitPrice, 
                  trail_price=close * (1 - trailingStopPercent/100), 
                  trail_offset=close * (trailingStepPercent/100))