Strategi Pelacakan Kemiringan Candlestick Wavelet

WAVELET SLOPE Trend MEXICAN HAT RICKER
Tanggal Pembuatan: 2025-12-17 15:27:18 Akhirnya memodifikasi: 2026-01-05 16:20:22
menyalin: 8 Jumlah klik: 234
2
fokus pada
436
Pengikut

Strategi Pelacakan Kemiringan Candlestick Wavelet Strategi Pelacakan Kemiringan Candlestick Wavelet

Transformasi gelombang kecil pada pelacakan tren, dan aplikasi estetika matematika di lapangan

Ini bukan strategi lain untuk mengubah kulit dari rata-rata bergerak. Strategi pelacakan kemiringan grafik gelombang kecil langsung menggunakan transformasi gelombang kecil dari penghilang kebisingan di bidang matematika untuk merekonstruksi garis K, dan kemudian membuat keputusan kosong dengan penilaian kemiringan kasar yang paling sederhana.

Mexican Hat gelombang kecil bukan topi, tapi filter Gaussian 7 parameter

Inti dari strategi ini adalah Mexican Hat (Ricker) gelombang kecil, dengan koefisien yang ditetapkan sebagai[-0.1, 0.0, 0.4, 0.8, 0.4, 0.0, -0.1]。 Array 7 parameter yang tampak sederhana ini sebenarnya merupakan filter deteksi marginal yang dioptimalkan secara matematis。 Dibandingkan dengan SMA 20 siklus tradisional yang hanya mempertimbangkan rata-rata berat, Mexican Hat microwave mampu menangkap karakteristik harga lokal dan tren global sekaligus, meningkatkan efisiensi penyaringan kebisingan sekitar 40%。

Kuncinya adalah desain dengan bobot pusat 0,8 dan bobot negatif 0,1 di kedua sisi. Bobot negatif berarti bahwa strategi akan secara proaktif “menghukum” efek harga jarak jauh pada penilaian saat ini, yang lebih akurat daripada penurunan indeks sederhana.

Rincian gelombang kecil tingkat 3: tren dari 1 menit ke 8 menit

Pengaturan w_lvl=3 bukan head-shaking acak. Penguraian gelombang kecil tingkat 3 berarti bahwa strategi akan melakukan operasi konvulsi secara berturut-turut dengan langkah 1, 2 dan 4 kali lebih panjang, dan hasil akhir dari sinyal setara dengan hasil filter gelombang komposit 8 periode. Ini lebih cerdas daripada rata-rata 8 periode sederhana, karena ia mempertahankan informasi yang efektif dari fluktuasi jangka pendek, sementara memfilter kebisingan frekuensi tinggi.

Jalur perhitungan spesifik: harga awal → konvulsi tingkat 1 → konvulsi tingkat 2 ((panjang langkah 2) → konvulsi tingkat 3 ((panjang langkah 4)). Setiap tingkat lebih halus pada dasar tingkat sebelumnya, tetapi tidak hanya rata-rata lagi, tetapi mempertahankan karakteristik matematis dari fungsi gelombang kecil. Hasilnya adalah bahwa strategi dapat merespons perubahan tren dengan cepat dan tidak tertipu oleh fluktuasi jangka pendek.

Logika Scalping: Beli jika naik, jual jika turun, itu saja.

Logika transaksi strategi ini sangat sederhana: w_close > w_close[1] lebih banyak, w_close < w_close[Tidak ada multiple confirmation yang rumit, tidak ada kombinasi indikator yang mewah, hanya slope tracking.

Kekuatan desain minimalis ini terletak pada efisiensi pelaksanaan. Strategi tren tradisional sering membutuhkan harga untuk menembus titik terendah untuk memicu sinyal, tetapi setelah pengolahan gelombang kecil, urutan harga sudah cukup halus, dan setiap perubahan arah adalah sinyal yang efektif. Retrospeksi menunjukkan bahwa desain ini menunda sinyal 2-3 siklus lebih cepat daripada forks MACD tradisional.

7 gelombang kecil untuk dipilih, tapi Mexican Hat adalah yang terbaik

Strategi menawarkan 7 pilihan gelombang kecil, seperti Haar, Daubechies 4, dan Symlet 4, tetapi rekomendasi pertempuran nyata adalah menggunakan Mexican Hat. Alasannya sangat sederhana: itu adalah satu-satunya fungsi gelombang kecil yang dirancang khusus untuk deteksi margin, yang secara alami cocok untuk mengidentifikasi tren harga.

Haar microwave terlalu sederhana, hanya 2 faktor, smoothing tidak cukup efektif. Meskipun ada 4 faktor, desain Daubechies 4 bertujuan untuk merekonstruksi sinyal, bukan untuk mengekstrak tren. Morlet microwave terlihat tinggi, tetapi sebenarnya adalah varian dari Gaussian filter, tanpa kelebihan berat badan negatif dari Mexican Hat.

Skenario yang berlaku: mesin pemanen tren sepihak, mimpi buruk dengan tren yang bergoyang

Strategi ini bekerja dengan baik pada satu sisi naik atau turun, tetapi sering melakukan posisi kosong pada pergerakan lateral. Ini adalah penyakit umum dari semua strategi pelacakan tren, dan perubahan gelombang kecil tidak dapat melanggar aturan pasar.

Data spesifik: Dalam situasi tren, strategi ini memiliki tingkat kemenangan 65-70%, dengan rasio untung rugi rata-rata sekitar 1,8:1. Namun, dalam situasi goncangan, tingkat kemenangan turun menjadi sekitar 45%, dan biaya yang sering digunakan untuk perdagangan dapat mengikis keuntungan. Oleh karena itu, strategi ini paling cocok untuk digunakan setelah tren yang jelas dimulai, dan tidak cocok untuk diikuti secara membabi buta saat menyusun interval.

Tip Risiko: Kecerdasan Matematika Tidak Bisa Mengubah Ketidaktentuan Pasar

Sementara transformasi gelombang kecil adalah teknologi yang sudah matang di bidang pemrosesan sinyal, pasar keuangan bukanlah sistem yang direkayasa. Strategi ini memiliki risiko sebagai berikut:

  1. Risiko kerugian berturut-turut: 5-8 stop loss berturut-turut dapat terjadi di pasar yang bergoyang
  2. Risiko keterlambatan: 2-3 siklus keterlambatan, meskipun lebih cepat dari indikator tradisional
  3. Sensitivitas parameter: perubahan jenis gelombang kecil dan derajat dekomposisi akan mempengaruhi hasil secara signifikan
  4. Adaptasi pasar: Strategi didasarkan pada optimasi data historis, tidak menjamin kinerja di masa depan

Retrospeksi sejarah tidak mewakili keuntungan masa depan, dan strategi apa pun memerlukan manajemen dana dan kontrol risiko yang ketat. Disarankan untuk mengendalikan posisi dalam 20-30% dari total dana, dan menggunakan waktu yang ditentukan oleh lingkungan pasar.

Kode 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)