Sumber dimuat naik... memuat...

Strategi Kuantitatif Pengurusan Risiko Penyeberangan Trend Multi-Wave

Penulis:ChaoZhang, Tarikh: 2024-12-13 10:51:31
Tag:EMASMA

img

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan penunjuk WaveTrend, yang menggabungkan mekanisme pengurusan risiko dinamik. Strategi ini mengira kekuatan trend melalui turun naik harga, menapis isyarat di rantau yang terlalu banyak dibeli dan terlalu banyak dijual, dan menggunakan langkah kawalan risiko termasuk mekanisme henti rugi, mengambil keuntungan, dan hentian.

Prinsip Strategi

Inti strategi ini terletak pada pengiraan penunjuk WaveTrend menggunakan harga HLC3. Ia mula-mula mengira purata bergerak eksponensial (EMA) tempoh n1 sebagai garis asas, kemudian mengira penyimpangan harga dari garis asas ini, menormalkan mereka dengan pekali 0.015. Ini menghasilkan dua garis gelombang, wt1 dan wt2, masing-masing mewakili garis cepat dan perlahan. Isyarat perdagangan dihasilkan berdasarkan garis-garis ini melintasi tahap overbought dan oversold, digabungkan dengan sistem kawalan risiko berlapis-lapis.

Kelebihan Strategi

  1. Sistem isyarat menunjukkan keupayaan trend yang sangat baik dengan kebolehpercayaan yang dipertingkatkan melalui tahap overbought / oversold ganda
  2. Sistem pengurusan risiko yang komprehensif termasuk stop-loss tetap, mengambil keuntungan dan stop trailing dinamik
  3. Parameter yang sangat boleh diselaraskan untuk pengoptimuman dalam keadaan pasaran yang berbeza
  4. Menggabungkan mekanisme penyesuaian turun naik untuk peningkatan kesesuaian
  5. Reka bentuk sistem isyarat berlapis berkesan mengurangkan kesan isyarat palsu

Risiko Strategi

  1. Stop-loss yang kerap boleh berlaku di pasaran yang sangat tidak menentu
  2. Tetapan parameter yang tidak betul boleh membawa kepada kos perdagangan yang berlebihan
  3. Boleh menghasilkan isyarat palsu yang berlebihan di pasaran yang berbeza
  4. Memerlukan kalibrasi teliti nisbah stop-loss dan mengambil keuntungan untuk mengekalkan keseimbangan risiko-balasan
  5. Hentian pengekalan boleh mengakibatkan pengeluaran yang signifikan semasa pembalikan pasaran yang cepat

Arahan pengoptimuman

  1. Memasukkan penunjuk jumlah untuk pengesahan isyarat untuk meningkatkan kebolehpercayaan perdagangan
  2. Mengoptimumkan parameter hentian untuk penyesuaian yang lebih baik kepada pelbagai keadaan pasaran
  3. Tambah penapis kekuatan trend untuk mengurangkan kekerapan dagangan di pasaran pelbagai
  4. Pertimbangkan untuk melaksanakan mekanisme stop-loss dinamik yang menyesuaikan secara automatik berdasarkan turun naik pasaran
  5. Memperkenalkan penapis masa untuk mengelakkan memasuki kedudukan semasa tempoh dagangan yang tidak menguntungkan

Ringkasan

Strategi ini mencapai pendekatan perdagangan kuantitatif yang komprehensif dengan menggabungkan penunjuk WaveTrend dengan sistem pengurusan risiko yang kukuh. Kekuatannya utama terletak pada kemampuan beradaptasi dan pendedahan risiko yang terkawal, walaupun peniaga perlu mengoptimumkan parameter dan meningkatkan strategi berdasarkan keadaan pasaran sebenar. Melalui pengoptimuman dan penyempurnaan yang berterusan, strategi ini menunjukkan janji untuk mencapai pulangan yang stabil dalam persekitaran perdagangan sebenar.


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

Berkaitan

Lebih lanjut