Strategi pembalikan detrending berdasarkan pemulusan Gaussian


Tanggal Pembuatan: 2023-11-07 15:01:19 Akhirnya memodifikasi: 2023-11-07 15:01:19
menyalin: 0 Jumlah klik: 686
1
fokus pada
1617
Pengikut

Strategi pembalikan detrending berdasarkan pemulusan Gaussian

Ringkasan

Ini adalah strategi untuk mengidentifikasi potensi reversal harga yang menggunakan indikator harga go trending yang disesuaikan berdasarkan Gaussian smoothing. Strategi ini menggabungkan indikator harga go trending dan rata-rata bergerak Gaussian smoothing dari siklus harga, menetapkan kondisi masuk dan keluar yang spesifik untuk menangkap peluang reversal harga.

Prinsip Strategi

Strategi ini pertama-tama menghitung indikator pergerakan harga tanpa tren (GDPO), dengan membandingkan harga penutupan dengan rata-rata pergerakan indeks dari periode tertentu untuk mengidentifikasi siklus harga dalam jangka pendek. Kemudian melakukan Gaussian smoothing pada GDPO, menggunakan Arnaud Legoux Moving Average (ALMA) untuk menerapkan teknik Gaussian smoothing, memfilter kebisingan, dan memberikan gambaran yang lebih jelas tentang tren harga.

Strategi ini digunakan untuk menentukan kondisi masuk dan keluar yang spesifik untuk melakukan banyak posisi kosong setelah smoothing GDPR dengan versi yang tertinggal. Bila smoothing GDPR melewati versi yang tertinggal dan negatif, lakukan banyak masuk; Bila smoothing GDPR melewati versi yang tertinggal atau sumbu nol, lakukan posisi kosong.

Pada grafik, GDPR yang telah diluruskan dan versi yang tertinggalnya digambar dengan warna yang berbeda untuk menunjukkan secara intuitif persimpangan mereka. Pada saat yang sama, garis nol digambar sebagai referensi. Pada saat masuk ke dalam strategi, pengaturan warna latar belakang berubah untuk memberi tahu.

Analisis Keunggulan

Strategi ini menggabungkan teknik de-trending dan Gaussian smoothing filter noise untuk mengidentifikasi peluang reversal harga dengan lebih jelas. GDPR dapat meningkatkan akurasi dengan melakukan analisis siklus dengan de-trending dibandingkan dengan indikator lain. Gaussian smoothing menghapus banyak noise untuk membuat sinyal indikator lebih jelas.

Analisis risiko

Strategi ini lebih sensitif terhadap pengaturan parameter, seperti panjang siklus, parameter perataan, dan lain-lain, yang perlu diukur kembali untuk menentukan kombinasi parameter yang tepat, atau mungkin terlalu banyak sinyal yang salah. Dalam situasi yang sedang tren, strategi ini mungkin menghasilkan kerugian berturut-turut. Strategi stop loss perlu digabungkan untuk mengontrol kerugian tunggal. Selain itu, kegagalan pembalikan adalah risiko utama dari strategi ini, perlu memperhatikan karakteristik bentuk dan kekuatan tren untuk menentukan probabilitas pembalikan.

Anda dapat mengoptimalkan strategi Anda dengan menyesuaikan parameter secara dinamis, menggabungkan indikator penilaian tren, dan meningkatkan stabilitas strategi. Anda juga dapat mengatur stop loss dinamis untuk mengendalikan risiko.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Mengubah parameter smoothing secara dinamis, meningkatkan intensitas smoothing dalam situasi tren, mengurangi sinyal kesalahan.

  2. Kombinasi dengan indikator penilaian tren, seperti ADX, menghindari strategi pembalikan kerugian berkelanjutan dalam situasi tren.

  3. Menambahkan strategi stop loss, seperti mengadaptasi stop loss dengan fluktuasi harga atau memindahkan stop loss setelah keuntungan.

  4. Optimalkan persyaratan masuk, dapat dikombinasikan dengan indikator atau bentuk lain sebagai konfirmasi, meningkatkan akurasi masuk.

  5. Mengoptimalkan pengelolaan dana, menyesuaikan posisi dan titik-titik stop loss sesuai dengan kondisi pasar.

  6. Uji data harga yang berbeda, seperti garis matahari, garis lingkaran, dan lain-lain, untuk menilai efektivitas strategi dalam periode yang berbeda.

Meringkaskan

Berdasarkan Gaussian smoothing to trend reversal strategi, menggunakan indikator GDPR untuk mengidentifikasi siklus harga jangka pendek, dan menggunakan teknik Gaussian filter wave untuk mengekstrak sinyal, menangkap peluang reversal dalam kondisi masuk dan keluar yang jelas. Strategi ini secara efektif mengendalikan risiko reversal perdagangan, tetapi perlu memperhatikan parameter optimasi dan penilaian tren.

Kode Sumber Strategi
/*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