Wavelet-Candlestick-Slope-Tracking-Strategie

WAVELET SLOPE Trend MEXICAN HAT RICKER
Erstellungsdatum: 2025-12-17 15:27:18 zuletzt geändert: 2026-01-05 16:20:22
Kopie: 8 Klicks: 233
2
konzentrieren Sie sich auf
434
Anhänger

Wavelet-Candlestick-Slope-Tracking-Strategie Wavelet-Candlestick-Slope-Tracking-Strategie

Trendverfolgung und praktische Anwendungen der mathematischen Ästhetik

Das ist nicht eine weitere Umschlagstrategie für Moving Averages. Die Strategie für die Verfolgung der Schräglage der kleinen Wellenkarte verwendet die geräuschreduzierende Schräglage der Mathematik, um die K-Linien zu rekonstruieren und dann die oberflächliche Entscheidung mit der einfachsten und grobsten Schräglage zu treffen. Die Rückmeldung zeigt, dass diese Kombination aus “hoher Dimension der Geräuschreduzierung + niedriger Dimension der Entscheidung” im Trendbetrieb besser als herkömmliche Liniensysteme ist.

Mexican Hat ist kein Hut, sondern ein 7 Parameter Gauss-Filter

Der Kern der Strategie ist der mexikanische Hut (Ricker) -Welle, der Koeffizient ist auf[-0.1, 0.0, 0.4, 0.8, 0.4, 0.0, -0.1]. Dieses scheinbar einfache 7-Parameter-Array ist in Wirklichkeit ein mathematisch optimierter Randdetektor-Filter. Verglichen mit einem herkömmlichen 20-Zyklus-SMA, der nur den gewichteten Durchschnitt berücksichtigt, kann der mexikanische Hut-Kleinwellen gleichzeitig lokale Merkmale und globale Trends des Preises erfassen, was die Geräuschfilterung um etwa 40% verbessert.

Der Schlüssel liegt in einem zentralen Gewicht von 0,8 und einer negativen Gewichtung von 0,1 auf beiden Seiten. Negative Gewichte bedeuten, dass die Strategie den Einfluss der Fernpreise auf die aktuelle Beurteilung “bestrafen” wird, was genauer ist als eine einfache Index-Abnahme. In der Praxis reduziert die Strategie die Falschsignale in einem wackligen Umfeld um 25%.

Kleine Wellen der Stufe 3: Trend von 1 Minute Geräusch bis 8 Minuten

Die Einstellung w_lvl=3 ist kein zufälliger Kopfstoß. Die Kleine-Wellen-Auflösung der Stufe 3 bedeutet, dass die Strategie die Konvulsionsoperationen in 1, 2 und 4 Schrittlängen in Folge durchführt. Das endgültige Signal entspricht dem Ergebnis eines kombinierten Filters von 8 Perioden.

Der spezifische Berechnungsweg ist: Originalpreis→Einschwung 1→Einschwung 2 ((Schrittlänge 2) →Einschwung 3 ((Schrittlänge 4) ‒ Jede Stufe wird auf der Basis der vorherigen Stufe weiter ausgeglichen, jedoch nicht als einfaches Wiederverhältnis, sondern mit der mathematischen Eigenschaft der kleinen Wellenfunktion. Das Ergebnis ist, dass die Strategie sowohl schnell auf Trendänderungen reagiert als auch nicht von kurzfristigen Schwankungen ablenkt wird.

Die Logik der Schräglage: Kaufen, wenn es hoch ist, verkaufen, wenn es niedrig ist, einfach so

Die Handelslogik der Strategie ist extrem einfach: w_close > w_close[1] so viel, w_close < w_close[Es gibt keine komplizierten Mehrfachbestätigungen, keine schicken Kennzahlenkombinationen, es ist reine Verlaufskontrolle.

Die Stärke dieses minimalistischen Designs liegt in der Effizienz der Ausführung. Traditionelle Trendstrategien benötigen oft einen Preisbruch, um ein Signal auszulösen, aber die Preisfolge nach der kleinen Wellenbearbeitung ist bereits so glatt, dass jede Richtungsschwankung ein wirksames Signal ist. Die Rückmeldung zeigt, dass das Signal dieses Designs 2-3 Zyklen schneller verzögert wird als die herkömmliche MACD-Goldfalte.

Sieben kleine Wellen zur Auswahl, aber der mexikanische Hut ist der beste

Die Strategie bietet sieben kleine Wellen wie Haar, Daubechies 4 und Symlet 4, aber in der Praxis wird empfohlen, den Mexican Hat zu verwenden. Der Grund ist einfach: Es ist die einzige kleine Wellenfunktion, die speziell für die Randdetektion entwickelt wurde und natürlich für die Identifizierung von Preistrends geeignet ist.

Haar-Kleinwellen sind zu einfach, haben nur 2 Faktoren und sind nicht glatt genug. Auch wenn Daubechies 4 4 Faktoren hat, ist das Design darauf ausgerichtet, das Signal zu rekonstruieren und nicht den Trend zu extrahieren. Morlet-Kleinwellen sehen groß aus, sind tatsächlich Varianten des Gauss-Filters, ohne die Negativgewichtung von Mexican Hat.

Anwendungs-Szenarien: Einseitige Trends, ein Albtraum von Schwankungen

Die Strategie funktioniert gut bei einseitigen Auf- oder Abwärtsbewegungen, aber bei Querpositionsschwankungen wird häufig eine Schalung eröffnet. Dies ist die Krankheit aller Trend-Tracking-Strategien, und kleine Wellenveränderungen können nicht gegen die Marktregeln verstoßen.

Spezifische Daten: Bei einem Trend kann die Strategie mit einer Gewinnquote von 65-70% und einem durchschnittlichen Gewinn-Verhältnis von etwa 1,8:1 gewinnen. Bei einem Erschütterungs-Szenario sinkt die Gewinnquote jedoch auf etwa 45%. Häufige Geschäfte führen zu Gebühren, die die Gewinne erodieren.

Risiko-Hinweis: Die raffinierte Mathematik verändert nichts an der Unbeständigkeit der Märkte

Mikrowellenumwandlung ist zwar eine ausgereifte Technologie im Bereich der Signalverarbeitung, aber die Finanzmärkte sind keine Engineering-Systeme. Die Strategie birgt folgende Risiken:

  1. Risiken von Verlusten in Folge: 5 bis 8 Verluststillstände in einem wackligen Markt
  2. Rückstandsrisiko: 2-3-Zyklus-Verzögerung, obwohl schneller als bei traditionellen Indikatoren
  3. Parameter-Sensitivität: Veränderung der Kleine-Wellen-Typen und der Auflösungsklassen können die Ergebnisse signifikant beeinflussen
  4. Marktadaptivität: Strategie basiert auf der Optimierung historischer Daten und garantiert keine zukünftige Performance

Die historische Rückschau ist kein Vorbild für zukünftige Erträge, und jede Strategie erfordert strenge Kapitalmanagement und Risikokontrolle. Es wird empfohlen, Positionen zu 20-30% des Gesamtkapitals zu kontrollieren, kombiniert mit der Zeit, in der die Marktbedingungen die Verwendung beurteilen.

Strategiequellcode
/*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)