
Ringkasan
Strategi pelacakan tren penurunan harga dinamis Fisher Conversion didasarkan pada indikator perubahan Fisher Conversion untuk mengidentifikasi perubahan tren harga. Strategi ini menggunakan transformasi Fisher untuk mengintegrasikan harga ke dalam skala standar sehingga lebih mudah untuk mendeteksi potensi titik balik tren.
Prinsip Strategi
- Hitung nilai konversi Fisher: dengan harga saat ini yang diproses secara homogen berdasarkan harga tertinggi dan terendah dalam sejarah, nilai konversi Fisher antara -0.999 dan 0.999 diperoleh.
- Devaluasi Dinamis: Devaluasi sinyal jual beli disesuaikan secara dinamis dengan pergerakan historis nilai tukar Fisher untuk menyesuaikan dengan kondisi pasar yang berbeda.
- Pengertian tren: menilai perubahan tren harga dengan membandingkan nilai perubahan Fisher saat ini dengan nilai dua periode sebelumnya.
- Sinyal jual beli: Sinyal jual beli dihasilkan ketika nilai perubahan Fisher melintasi nilai negatif dari bawah ke atas; Sinyal jual beli dihasilkan ketika nilai perubahan Fisher melintasi nilai positif dari atas ke bawah.
Analisis Keunggulan
- Dinamis penurunan nilai penyesuaian: Sesuai dengan kondisi pasar berfluktuasi beradaptasi untuk menyesuaikan penurunan nilai jual beli, meningkatkan akurasi penilaian tren.
- Pelacakan tren: Pengertian tren dari indikator konversi Fisher memungkinkan untuk menangkap tren pasar dengan lebih baik dan melakukan perdagangan pelacakan tren.
- Mengurangi kebisingan harga: Transformasi Fisher memperlakukan harga secara seragam, yang membantu mengurangi pengaruh kebisingan harga pada penilaian tren.
- Presentasi grafik yang intuitif: strategi untuk memetakan kurva konversi Fisher dan garis nilai yang terdegradasi pada grafik, sehingga memudahkan trader untuk secara intuitif mengamati tren pasar dan sinyal jual beli.
Analisis risiko
- Risiko Optimasi Parameter: Kinerja strategi tergantung pada pilihan parameter seperti siklus perubahan Fisher, cara menghitung nilai terendah dinamis, dan parameter yang berbeda dapat menyebabkan hasil perdagangan yang berbeda.
- Penarikan tren: Ada keterlambatan dalam penilaian indikator konversi Fisher tentang tren harga, yang mungkin melewatkan beberapa tren.
- Performa yang buruk dalam pasar yang bergoyang: Dalam lingkungan pasar yang bergoyang, perubahan tren yang sering dapat menyebabkan strategi ini menghasilkan lebih banyak sinyal palsu, dan kinerja perdagangan mungkin buruk.
- Risiko ekstremitas: Dalam situasi ekstremitas (seperti perubahan yang cepat dan besar), indikator konversi Fisher dapat gagal, menyebabkan strategi membuat keputusan perdagangan yang salah.
Arah optimasi
- Optimasi parameter: mengoptimalkan parameter-parameter kunci seperti siklus perubahan Fisher, metode penghitungan nilai terendah dinamis, meningkatkan kemampuan adaptasi strategi dalam berbagai kondisi pasar.
- Filter sinyal: Menggunakan indikator teknis lain atau indikator sentimen pasar berdasarkan identifikasi tren untuk mengkonfirmasi kedua sinyal perdagangan, meningkatkan keandalan sinyal.
- Stop Loss: menetapkan aturan stop loss yang masuk akal, mengendalikan risiko satu transaksi, meningkatkan rasio risiko-keuntungan strategi.
- Manajemen Posisi: Mengatur ukuran posisi secara dinamis berdasarkan kekuatan tren pasar, fluktuasi harga, dan faktor lainnya untuk mengurangi risiko memegang posisi.
Meringkaskan
Strategi pelacakan tren penurunan harga dinamis dengan perubahan indikator Fisher dan penurunan harga dinamis, mengidentifikasi perubahan tren harga, beradaptasi dengan berbagai keadaan pasar. Strategi ini dapat menangkap tren pasar dengan lebih baik, melakukan perdagangan pelacakan tren. Keuntungan dari strategi ini adalah penyesuaian tren tren dinamis, mengurangi gangguan noise harga dan tampilan grafik yang intuitif.
Kode Sumber Strategi
/*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)