Sumber daya yang dimuat... Pemuatan...

Fisher Transform Dynamic Threshold Trend Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2024-06-17 15:01:19
Tag:

img

Gambaran umum

Fisher Transform Dynamic Threshold Trend Following Strategy menggunakan indikator Fisher Transform untuk mengidentifikasi perubahan tren harga. Strategi ini menggunakan Fisher Transform untuk menormalkan harga ke skala standar, sehingga lebih mudah untuk mendeteksi titik pembalikan tren potensial. Dengan menyesuaikan ambang secara dinamis, strategi ini beradaptasi dengan kondisi pasar yang berbeda dan meningkatkan akurasi pengenalan tren. Ketika nilai Fisher Transform melintasi ambang positif atau negatif, strategi menghasilkan sinyal beli atau jual untuk mengikuti tren pasar.

Prinsip Strategi

  1. Hitung nilai Transformasi Fisher: Berdasarkan harga tinggi dan rendah dalam sejarah, normalkan harga saat ini untuk mendapatkan nilai Transformasi Fisher antara -0,999 dan 0,999.
  2. ambang batas dinamis: Sesuaikan ambang batas sinyal beli dan jual secara dinamis berdasarkan volatilitas historis nilai Fisher Transform untuk menyesuaikan diri dengan kondisi pasar yang berbeda.
  3. Penentuan tren: Menentukan perubahan tren harga dengan membandingkan nilai Fisher Transform saat ini dengan nilai dari dua periode sebelumnya.
  4. Sinyal beli dan jual: Menghasilkan sinyal beli ketika nilai Fisher Transform melewati ambang negatif dari bawah, dan menghasilkan sinyal jual ketika nilai Fisher Transform melewati ambang positif dari atas.

Analisis Keuntungan

  1. Penyesuaian ambang dinamis: Sesuaikan ambang pembelian dan penjualan berdasarkan volatilitas pasar untuk meningkatkan akurasi penilaian tren.
  2. Pelacakan tren: Penilaian tren indikator Fisher Transform memungkinkan menangkap tren pasar secara efektif dan perdagangan mengikuti tren.
  3. Mengurangi kebisingan harga: Transformasi Fisher menormalkan harga, membantu mengurangi dampak kebisingan harga pada penilaian tren.
  4. Tampilan grafik intuitif: Strategi ini memetakan kurva dan garis ambang Fisher Transform pada grafik, memungkinkan pedagang untuk mengamati tren pasar dan sinyal beli / jual secara visual.

Analisis Risiko

  1. Risiko optimasi parameter: Kinerja strategi tergantung pada pemilihan parameter seperti periode Fisher Transform dan metode perhitungan ambang dinamis.
  2. Lag pengakuan tren: Indikator Fisher Transform memiliki keterlambatan tertentu dalam menilai tren harga, yang mungkin melewatkan beberapa pergerakan tren.
  3. Kinerja yang buruk di pasar yang berbelit-belit: Dalam kondisi pasar yang berbelit-belit, perubahan tren yang sering dapat menyebabkan strategi menghasilkan lebih banyak sinyal palsu, yang mengarah pada kinerja perdagangan yang tidak optimal.
  4. Risiko pasar yang ekstrim: Dalam kondisi pasar yang ekstrim (seperti perubahan yang cepat dan substansial), indikator Fisher Transform mungkin gagal, menyebabkan strategi membuat keputusan perdagangan yang salah.

Arah Optimalisasi

  1. Optimasi parameter: Optimalkan parameter kunci seperti periode Transform Fisher dan metode perhitungan ambang dinamis untuk meningkatkan kemampuan strategi untuk beradaptasi dengan kondisi pasar yang berbeda.
  2. Penyaringan sinyal: Selain pengenalan tren, memperkenalkan indikator teknis atau indikator sentimen pasar lainnya untuk mengkonfirmasi sinyal perdagangan dan meningkatkan keandalan sinyal.
  3. Stop-loss dan take-profit: Menetapkan aturan stop-loss dan take-profit yang wajar untuk mengendalikan risiko perdagangan tunggal dan meningkatkan rasio risiko-manfaat strategi.
  4. Manajemen Posisi: Sesuaikan secara dinamis ukuran posisi berdasarkan faktor-faktor seperti kekuatan tren pasar dan volatilitas harga untuk mengurangi risiko kepemilikan.

Ringkasan

Fisher Transform Dynamic Threshold Trend Following Strategy mengidentifikasi perubahan tren harga menggunakan indikator Fisher Transform dan ambang batas dinamis, beradaptasi dengan kondisi pasar yang berbeda. Strategi secara efektif menangkap tren pasar dan memungkinkan perdagangan mengikuti tren. Keuntungannya termasuk penyesuaian ambang batas dinamis, pengurangan gangguan kebisingan harga, dan tampilan grafik yang intuitif. Namun, ia juga menghadapi tantangan seperti risiko optimasi parameter, lag pengenalan tren, kinerja yang buruk di pasar yang bergolak, dan risiko pasar yang ekstrim. Melalui langkah-langkah seperti optimasi parameter, penyaringan sinyal, stop-loss dan take-profit, dan manajemen posisi, kekuatan dan profitabilitas strategi dapat ditingkatkan lebih lanjut.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Qiuboneminer -  Fisher Transform", overlay=true)

// Parámetros
Len = input.int(10, minval=1)
mult1 = input.int(1, minval=1)
threshold = 2.6

// Función Fisher Transform
fish(Length, timeMultiplier) =>
    var float nValue1 = na
    var float nFish = na
    xHL2 = hl2
    xMaxH = ta.highest(xHL2, Length * timeMultiplier)
    xMinL = ta.lowest(xHL2, Length * timeMultiplier)
    nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
    nValue2 = if nValue1 > 0.99
        0.999
    else if nValue1 < -0.99
        -0.999
    else
        nValue1
    nFish := 0.5 * math.log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
    nFish

// Cálculo del Fisher Transform para mult1
Fisher1 = fish(Len, mult1)

// Condiciones de entrada y salida
longCondition = Fisher1 > nz(Fisher1[1]) and nz(Fisher1[1]) <= nz(Fisher1[2]) and Fisher1 < -threshold
shortCondition = Fisher1 < nz(Fisher1[1]) and nz(Fisher1[1]) >= nz(Fisher1[2]) and Fisher1 > threshold

// Estrategia de entrada
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Ploteo del Fisher Transform
plot(Fisher1, color=(Fisher1 > nz(Fisher1[1]) ? color.rgb(34, 255, 0) : color.rgb(255, 0, 212)), title="Fisher TF:1")

// Ploteo de líneas de umbral
hline(threshold, "Umbral Superior", color=color.rgb(255, 0, 0), linestyle=hline.style_dotted)
hline(-threshold, "Umbral Inferior", color=#008704, linestyle=hline.style_dotted)


Lebih banyak