Sumber daya yang dimuat... Pemuatan...

Strategi Kuantitatif Manajemen Risiko Penyeberangan Tren Multi-Wave

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

img

Gambaran umum

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan indikator WaveTrend, yang menggabungkan mekanisme manajemen risiko dinamis. Strategi ini menghitung kekuatan tren melalui fluktuasi harga, menyaring sinyal di wilayah yang terlalu banyak dibeli dan terlalu banyak dijual, dan menerapkan langkah-langkah pengendalian risiko termasuk mekanisme stop-loss, take-profit, dan trailing stop.

Prinsip Strategi

Inti dari strategi ini terletak pada perhitungan indikator WaveTrend menggunakan harga HLC3. Pertama-tama menghitung rata-rata bergerak eksponensial (EMA) periode n1 sebagai garis dasar, kemudian menghitung penyimpangan harga dari garis dasar ini, menormalkan dengan koefisien 0,015. Ini menghasilkan dua garis gelombang, wt1 dan wt2, masing-masing mewakili garis cepat dan lambat. Sinyal perdagangan dihasilkan berdasarkan garis ini yang melintasi tingkat overbought dan oversold, dikombinasikan dengan sistem kontrol risiko berlapis-lapis.

Keuntungan Strategi

  1. Sistem sinyal menunjukkan kemampuan mengikuti tren yang sangat baik dengan keandalan yang ditingkatkan melalui tingkat overbought / oversold ganda
  2. Sistem manajemen risiko yang komprehensif termasuk stop-loss tetap, take-profit, dan dynamic trailing stop
  3. Parameter yang sangat dapat disesuaikan untuk optimalisasi dalam kondisi pasar yang berbeda
  4. Menggabungkan mekanisme adaptasi volatilitas untuk meningkatkan kemampuan beradaptasi
  5. Desain sistem sinyal berlapis secara efektif mengurangi dampak sinyal palsu

Risiko Strategi

  1. Stop-loss yang sering dapat terjadi di pasar yang sangat volatile
  2. Pengaturan parameter yang tidak benar dapat menyebabkan biaya perdagangan yang berlebihan
  3. Dapat menghasilkan sinyal palsu yang berlebihan di berbagai pasar
  4. Memerlukan kalibrasi yang cermat dari stop loss dan take profit ratio untuk menjaga keseimbangan risiko-imbalan
  5. Trailing stops dapat mengakibatkan penarikan yang signifikan selama pembalikan pasar yang cepat

Arahan Optimasi

  1. Mengintegrasikan indikator volume untuk konfirmasi sinyal untuk meningkatkan keandalan perdagangan
  2. Mengoptimalkan parameter trailing stop untuk beradaptasi dengan kondisi pasar yang berbeda
  3. Tambahkan filter kekuatan tren untuk mengurangi frekuensi perdagangan di pasar yang bervariasi
  4. Pertimbangkan untuk menerapkan mekanisme stop-loss dinamis yang secara otomatis menyesuaikan berdasarkan volatilitas pasar
  5. Memperkenalkan filter waktu untuk menghindari masuk posisi selama periode perdagangan yang tidak menguntungkan

Ringkasan

Strategi ini mencapai pendekatan perdagangan kuantitatif yang komprehensif dengan menggabungkan indikator WaveTrend dengan sistem manajemen risiko yang kuat. Kekuatan utamanya terletak pada kemampuan beradaptasi dan paparan risiko yang terkendali, meskipun pedagang perlu mengoptimalkan parameter dan meningkatkan strategi berdasarkan kondisi pasar yang sebenarnya. Melalui optimalisasi dan penyempurnaan terus-menerus, strategi ini menunjukkan janji untuk mencapai pengembalian yang stabil dalam lingkungan perdagangan nyata.


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