Strategi Dagangan Reversi Gaussian

Penulis:ChaoZhang, Tarikh: 2023-11-07 15:01:19
Tag:

img

Ringkasan

Ini adalah strategi yang mengenal pasti pembalikan harga yang berpotensi dengan menggunakan pengayun harga Gaussian Detrended (GDPO) yang disesuaikan digabungkan dengan kitaran harga yang halus.

Logika Strategi

Strategi ini mula-mula mengira Detrended Price Oscillator (DPO) dengan membandingkan harga penutupan dengan Exponential Moving Average (EMA) dalam tempoh tertentu untuk mengenal pasti kitaran harga jangka pendek. Nilai DPO kemudiannya dihaluskan dengan menggunakan Arnaud Legoux Moving Average (ALMA) dengan teknik penghalusan Gaussian untuk menapis bunyi bising.

Peraturan masuk dan keluar ditakrifkan berdasarkan peristiwa persilangan antara GDPO yang dihaluskan dan versi tertingginya. Posisi panjang dimasukkan apabila GDPO yang dihaluskan melintasi di atas lag dan negatif. Posisi panjang dikeluarkan apabila GDPO yang dihaluskan melintasi di bawah lag atau garis sifar. Posisi pendek dimasukkan apabila GDPO yang dihaluskan melintasi di bawah lag dan positif. Posisi pendek dikeluarkan apabila GDPO yang dihaluskan melintasi di atas lag atau garis sifar.

GDPO yang diluruskan dan lagnya digambarkan dalam warna yang berbeza. Garis sifar juga dipaparkan sebagai rujukan. Warna latar belakang carta berubah apabila strategi memasuki kedudukan. Penanda silang digambarkan di titik persilangan sebagai isyarat keluar.

Analisis Kelebihan

Strategi ini menggabungkan teknik penolakan dan pelunturan Gaussian untuk mengenal pasti peluang pembalikan dengan lebih jelas berbanding dengan pengayun lain. GDPO meningkatkan ketepatan dengan menggabungkan analisis kitaran dengan penolakan. Pelunturan Gaussian menghilangkan bunyi bising untuk isyarat yang lebih jelas. Peraturan kemasukan dan keluar yang khusus secara berkesan mengawal kerugian.

Analisis Risiko

Strategi ini sensitif terhadap penyesuaian parameter seperti panjang tempoh dan parameter pelunturan. Ujian balik yang meluas diperlukan untuk menentukan parameter optimum, jika tidak, isyarat palsu yang berlebihan mungkin berlaku. Strategi ini boleh menghasilkan kerugian berturut-turut di pasaran trend. Stop loss harus digunakan untuk mengawal kerugian perdagangan tunggal. Pembalikan yang gagal juga merupakan risiko utama. Kebarangkalian pembalikan harus disahkan menggunakan corak carta dan kekuatan trend.

Pengoptimuman boleh dilakukan dengan menyesuaikan parameter secara dinamik dan menggabungkan penunjuk trend untuk meningkatkan ketahanan. Hentian dinamik juga boleh mengawal risiko.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Sesuaikan parameter pelembap secara dinamik untuk meningkatkan pelembap dalam trend dan mengurangkan isyarat palsu.

  2. Menggabungkan penunjuk trend seperti ADX untuk mengelakkan kerugian di pasaran trend.

  3. Tambahkan mekanisme stop loss seperti stop dinamik atau trailing.

  4. Mengoptimumkan keadaan kemasukan menggunakan penunjuk atau corak tambahan untuk ketepatan kemasukan yang lebih tinggi.

  5. Mengoptimumkan pengurusan modal dengan menyesuaikan saiz kedudukan dan berhenti berdasarkan keadaan pasaran.

  6. Uji strategi dalam jangka masa yang berbeza seperti data harian atau mingguan.

Ringkasan

Strategi pembalikan Gaussian Detrended mengenal pasti kitaran jangka pendek menggunakan GDPO dan mengekstrak isyarat dengan penapisan Gaussian untuk menangkap pembalikan di bawah peraturan kemasukan dan keluar yang ditakrifkan. Ia berkesan mengawal risiko perdagangan pembalikan tetapi memerlukan pengoptimuman parameter dan pengesahan trend. Penambahbaikan lanjut dalam ketahanan boleh dibuat melalui penyesuaian dinamik, mengesahkan penunjuk dan strategi stop loss.


/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0
// © DraftVenture

//@version=5
strategy(title="Gaussian Detrended Reversion Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=15)

//Detrended Price Oscillator for price cycles
period_ = input.int(50, title="Price Length", minval=1)

barsback = period_/2 + 1
ma = ta.ema(close, period_)
dpo = close - ma[barsback]

// Rounded ALMA Calculations for gaussian smoothing
almaSource = dpo
almaWindowSize = input(title="Smoothing Length", defval=50)
lagLength = input(title="Lag Length", defval=25)
almaSmoothed = ta.alma(almaSource, almaWindowSize, 0.85, 6)
almaLag = almaSmoothed[lagLength]

// Reversion entry conditions
entryL = ta.crossover(almaSmoothed, almaLag) and almaSmoothed < 0
exitL = ta.crossunder(almaSmoothed, almaLag) or ta.crossunder(almaSmoothed, 0)
entryS = ta.crossunder(almaSmoothed, almaLag) and almaSmoothed > 0
exitS = ta.crossover(almaSmoothed, almaLag) or ta.crossover(almaSmoothed, 0)

// Long entry and exit
if entryL
    strategy.entry("Long", strategy.long)

if exitL
    strategy.close("Long")

// Short entry and exit
if entryS
    strategy.entry("Short", strategy.short)

if exitS
    strategy.close("Short")

// Plot the oscillator
plot(almaSmoothed, title="GDPO", color=color.green)
plot(almaLag, title="Lag", color=color.white)

hline(0, title="Zero Line", color=color.white)

bgcolor(entryL ? color.new(color.green, 40) : na)
bgcolor(entryS ? color.new(color.red, 40) : na)

plotshape(series=ta.crossunder(almaSmoothed, almaLag) or ta.crossunder(almaSmoothed, 0), style=shape.xcross, location=location.top, color=color.white, size=size.tiny)
plotshape(series=ta.crossover(almaSmoothed, almaLag) or ta.crossover(almaSmoothed, 0), style=shape.xcross, location=location.bottom, color=color.white, size=size.tiny)

//Strategy by KP

Lebih lanjut