Strategi Penjejakan Cerun Candlestick Wavelet

WAVELET SLOPE Trend MEXICAN HAT RICKER
Tarikh penciptaan: 2025-12-17 15:27:18 Akhirnya diubah suai: 2026-01-05 16:20:22
Salin: 8 Bilangan klik: 233
2
fokus pada
434
Pengikut

Strategi Penjejakan Cerun Candlestick Wavelet Strategi Penjejakan Cerun Candlestick Wavelet

Pemindahan gelombang kecil terhadap trend pelacakan, penggunaan estetika matematik dalam peperangan

Ini bukan satu lagi strategi menukar kulit rata-rata bergerak. Strategi mengesan kemiringan grafik gelombang kecil menggunakan transformasi gelombang kecil dengan penghadang kebisingan dalam bidang matematik untuk membina semula K-garis, dan kemudian membuat keputusan kosong dengan keputusan kemiringan kasar yang paling mudah.

Mexican Hat gelombang kecil bukan topi, adalah 7 parameter Gaussian Filter

Strategi ini berpusat pada Mexican Hat (Ricker) gelombang kecil, dengan faktor yang ditetapkan sebagai[-0.1, 0.0, 0.4, 0.8, 0.4, 0.0, -0.1]. Array 7 parameter yang nampaknya mudah ini sebenarnya adalah penapis pengesanan tepi yang dioptimumkan secara matematik. Berbanding dengan SMA 20 kitaran tradisional yang hanya mengambil kira purata berat, gelombang kecil Mexican Hat dapat menangkap ciri-ciri tempatan dan trend global harga pada masa yang sama.

Kuncinya adalah dengan berat pusat 0.8 dan kedua-dua sisi -0.1 reka bentuk berat negatif. Berat negatif bermaksud bahawa strategi akan secara aktif “menghukum” kesan harga jauh ke atas penghakiman semasa, yang lebih tepat daripada penurunan indeks yang mudah.

Pecah gelombang kecil tahap 3: trend dari 1 minit ke 8 minit

Tetapan w_lvl=3 bukan untuk mengetuk kepala secara tidak sengaja. Pecahan gelombang kecil tahap 3 bermaksud bahawa strategi akan melakukan pengendalian kelengkapan secara berturut-turut dengan langkah 1, 2 dan 4 kali ganda, dan isyarat akhir adalah bersamaan dengan hasil penyaringan gelombang komposit selama 8 kitaran. Ini lebih pintar daripada purata 8 kitaran yang sederhana, kerana ia mengekalkan maklumat yang berkesan mengenai perubahan jangka pendek, sambil menyaring bunyi frekuensi tinggi.

Laluan pengiraan khusus: Harga Asli → 1st Level Convolution → 2nd Level Convolution ((panjang langkah 2) → 3rd Level Convolution ((panjang langkah 4)). Setiap tahap di atas asas tahap sebelumnya lebih halus, tetapi bukan purata semula, tetapi mengekalkan ciri matematik fungsi gelombang kecil. Hasilnya, strategi dapat bertindak balas dengan cepat terhadap perubahan trend dan tidak disesatkan oleh turun naik jangka pendek.

Logik penilaian bias: Beli jika naik, jual jika turun, mudah sahaja

Logik urus niaga strategi ini sangat mudah: w_close > w_close[1] buka lebih, w_close < w_close[Tidak ada pengesahan berganda yang rumit, tidak ada kombinasi penunjuk yang mewah, hanya pengesanan kecenderungan.

Kekuatan reka bentuk yang sangat ringkas ini terletak pada kecekapan pelaksanaan. Strategi trend tradisional sering memerlukan harga untuk menembusi titik terendah untuk mencetuskan isyarat, tetapi urutan harga selepas pemprosesan gelombang kecil sudah cukup halus, dan sebarang perubahan arah adalah isyarat yang berkesan.

Terdapat 7 jenis gelombang kecil, tetapi topi Mexico adalah pilihan terbaik

Strategi ini menawarkan 7 pilihan gelombang kecil seperti Haar, Daubechies 4, Symlet 4, tetapi cadangan untuk menggunakan Mexican Hat. Sebabnya sangat mudah: ia adalah satu-satunya fungsi gelombang kecil yang direka khusus untuk pengesanan tepi dan sesuai untuk mengenal pasti trend harga.

Gelombang kecil Haar terlalu mudah, hanya 2 faktor, dan tidak cukup untuk kelancaran. Walaupun terdapat 4 faktor, Daubechies 4 direka untuk merekonstruksi isyarat dan bukan untuk mengekstrak trend. Gelombang kecil Morlet kelihatan tinggi, sebenarnya adalah varian penapis Gauss, tanpa kelebihan berat badan negatif Hat Mexico.

Skenario yang boleh digunakan: Mesin pemanen trend unilateral, mimpi buruk dengan keadaan yang bergolak

Strategi ini berfungsi dengan baik dalam pergerakan naik atau turun satu sisi, tetapi sering membuka posisi kosong dalam pergerakan lateral. Ini adalah penyakit semua strategi yang mengikuti trend, dan perubahan gelombang kecil tidak boleh bertentangan dengan peraturan pasaran.

Data khusus: Dalam keadaan trend, kemenangan strategi boleh mencapai 65-70%, rasio keuntungan dan kerugian rata-rata sekitar 1.8: 1. Tetapi dalam keadaan gegaran, kemenangan akan turun kepada kira-kira 45%, dan perdagangan yang kerap menyebabkan bayaran bayaran mengikis keuntungan. Oleh itu, strategi ini paling sesuai untuk digunakan selepas trend yang jelas dimulakan, tidak sesuai untuk mengikuti secara buta ketika menyusun jarak.

Petua Risiko: Matematik yang Cerdas Tidak Boleh Mengubah Kecanggihan Pasaran

Walaupun transformasi gelombang kecil adalah teknologi yang matang dalam bidang pemprosesan isyarat, pasaran kewangan bukanlah sistem kejuruteraan. Strategi ini mempunyai risiko:

  1. Risiko kerugian berturut-turut: 5-8 penghentian kerugian berturut-turut mungkin berlaku dalam pasaran yang bergolak
  2. Risiko ketinggalan: 2-3 kitaran kelewatan walaupun lebih cepat daripada penunjuk tradisional
  3. Sensitiviti parameter: perubahan jenis gelombang kecil dan darjah pemisahan akan mempengaruhi hasil secara ketara
  4. Kebolehan beradaptasi pasaran: Strategi yang dioptimumkan berdasarkan data sejarah, tidak menjamin prestasi masa depan

Pemantauan semula sejarah tidak mewakili keuntungan masa depan, dan strategi apa pun memerlukan pengurusan dana dan kawalan risiko yang ketat. Ia disyorkan untuk mengawal kedudukan dalam 20-30% daripada jumlah dana dan menggunakan masa yang ditentukan oleh keadaan pasaran.

Kod sumber strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-12-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":500000}]
*/

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wojlucz

//@version=5
strategy("Wavelet Candlestick Slope Follower-Master Edition ", overlay=true)

// ——————— 1. CONFIGURATION ———————
grp_wav = "WAVELET SETTINGS"
w_type  = input.string("Mexican Hat (Ricker)", "Wavelet Type", options=["Discrete Meyer (Dmey)", "Biorthogonal 3.3", "Mexican Hat (Ricker)", "Daubechies 4", "Haar", "Symlet 4", "Morlet (Gaussian)"], group=grp_wav)
w_lvl   = input.int(3, "Smoothing Level", minval=1, maxval=5, group=grp_wav)

grp_vis = "VISUALIZATION"
show_candles = input.bool(true, "Show Wavelet Candles?", group=grp_vis)

// ——————— 2. COEFFICIENTS LIBRARY ———————

get_coeffs(w_name) =>
    float[] h = array.new_float(0)
    
    if w_name == "Haar"
        array.push(h, 0.5), array.push(h, 0.5)

    else if w_name == "Daubechies 4"
        s3 = math.sqrt(3), denom = 4 * math.sqrt(2), norm = math.sqrt(2)
        array.push(h, ((1 + s3) / denom) / norm), array.push(h, ((3 + s3) / denom) / norm)
        array.push(h, ((3 - s3) / denom) / norm), array.push(h, ((1 - s3) / denom) / norm)

    else if w_name == "Symlet 4"
        array.push(h, -0.05357), array.push(h, -0.02096), array.push(h, 0.35238)
        array.push(h, 0.56833), array.push(h, 0.21062), array.push(h, -0.07007)
        array.push(h, -0.01941), array.push(h, 0.03268)
        
    else if w_name == "Biorthogonal 3.3"
        array.push(h, -0.06629), array.push(h, 0.28289), array.push(h, 0.63678)
        array.push(h, 0.28289), array.push(h, -0.06629)

    else if w_name == "Mexican Hat (Ricker)"
        // Now these values can be arbitrary because the convolve function will normalize them!
        // Maintaining "Sombrero" proportions
        array.push(h, -0.1), array.push(h, 0.0), array.push(h, 0.4), array.push(h, 0.8), array.push(h, 0.4), array.push(h, 0.0), array.push(h, -0.1)

    else if w_name == "Morlet (Gaussian)"
        array.push(h, 0.0625), array.push(h, 0.25), array.push(h, 0.375), array.push(h, 0.25), array.push(h, 0.0625)

    else if w_name == "Discrete Meyer (Dmey)"
        array.push(h, -0.015), array.push(h, -0.025), array.push(h, 0.0)
        array.push(h, 0.28), array.push(h, 0.52), array.push(h, 0.28)
        array.push(h, 0.0), array.push(h, -0.025), array.push(h, -0.015)

    h

// ——————— 3. CALCULATION ENGINE (FIXED - NORMALIZATION) ———————

convolve(src, coeffs, step) =>
    float sum_val = 0.0
    float sum_w   = 0.0 // Sum of weights for normalization
    int len = array.size(coeffs)
    
    for i = 0 to len - 1
        weight = array.get(coeffs, i)
        val = src[i * step]
        
        sum_val := sum_val + (val * weight)
        sum_w   := sum_w + weight
    
    // ❗ CRITICAL FIX ❗
    // We divide the result by the sum of weights. 
    // If the sum of weights was 1.4 (like in Mexican Hat or Daubechies), division brings it down to 1.0.
    // A price of 100$ enters as 100$ and exits as 100$, not 140$.
    sum_w != 0 ? sum_val / sum_w : sum_val

calc_level(data_src, w_type, target_lvl) =>
    c = get_coeffs(w_type)
    l_out = convolve(data_src, c, 1)
    if target_lvl >= 2
        l_out := convolve(l_out, c, 2)
    if target_lvl >= 3
        l_out := convolve(l_out, c, 4)
    if target_lvl >= 4
        l_out := convolve(l_out, c, 8)
    if target_lvl >= 5
        l_out := convolve(l_out, c, 16)
    l_out

// ——————— 4. CONSTRUCTION ———————

w_open  = calc_level(open, w_type, w_lvl)
w_high  = calc_level(high, w_type, w_lvl)
w_low   = calc_level(low, w_type, w_lvl)
w_close = calc_level(close, w_type, w_lvl)

real_high = math.max(w_high, w_low)
real_high := math.max(real_high, math.max(w_open, w_close))
real_low  = math.min(w_high, w_low)
real_low  := math.min(real_low, math.min(w_open, w_close))

// ——————— 5. SLOPE LOGIC ———————

is_rising  = w_close > w_close[1]
is_falling = w_close < w_close[1]

if (is_rising)
    strategy.entry("Norm Long", strategy.long)

if (is_falling)
    strategy.close("Norm Long")

// ——————— 6. VISUALIZATION ———————

slope_color = is_rising ? color.new(color.lime, 0) : color.new(color.red, 0)
final_color = show_candles ? slope_color : na

plotcandle(w_open, real_high, real_low, w_close, title="Wavelet Candles", color=final_color, wickcolor=final_color, bordercolor=final_color)