Dreifache Resonanzerfassungsstrategie

WT CRSI LSDD
Erstellungsdatum: 2025-10-09 14:09:21 zuletzt geändert: 2025-10-09 14:09:21
Kopie: 0 Klicks: 212
2
konzentrieren Sie sich auf
319
Anhänger

Dreifache Resonanzerfassungsstrategie Dreifache Resonanzerfassungsstrategie

Die drei Indikatoren müssen in zwei K-Linien gleichzeitig ausgehen, sonst gibt es keinen Dialog

Es handelt sich nicht um eine gewöhnliche Multi-Indicator-Strategie. Die Kombination aus WaveTrend + Connors RSI + linearer Regressionsdeviation ist entscheidend für die Fenstersynchronisation: Alle Kaufsignale müssen innerhalb von 2 K-Linien auftreten und einzelne Signale werden direkt ignoriert. Diese Konstruktion filtert 90% der Falschsignale direkt.

Traditionelle Strategien lassen sich entweder durch die unabhängige Beurteilung der einzelnen Indikatoren verursachen oder durch die gleichzeitige Auslösung einer Vielzahl von verpassten Chancen auslösen. Diese Strategie findet eine Balance: Die fehlerfreie Fenster der K-Strecke gewährleisten die Relevanz des Signals und vermeiden zu strenge Synchronisationsanforderungen.

WaveTrend ist auf 48 überverkaufte Linien eingestellt und empfindlicher als der Standard-RSI

Die WT-Länge ist 10 Zyklen lang, die Überverkaufslinie ist 48, die Überkaufslinie ist 48. Diese Kombination von Parametern ist aggressiver als die 3070 des herkömmlichen RSI und kann das Preisumkehrsignal früher erfassen. Der Vorteil von WT besteht darin, dass es die Position und die Volatilität der Preise kombiniert und in schwankenden Situationen zuverlässiger ist als der reine RSI.

Der Schlüssel ist, wie WT berechnet wird:*Diese Formel hat die natürliche Funktion, die Schwankungsrate zu korrigieren. Wenn die Marktschwankungen verstärkt werden, wird die Splitter größer, und der WT-Wert ist relativ stabil, wodurch die Verfälschung des normalen RSI während hoher Schwankungen vermieden wird.

Connors RSI Triple Verifizierung, 2080-Reihe eingestellt

Der CRSI ist kein gewöhnlicher RSI, sondern eine Mischung aus dem Preis-RSI, dem RSI-Reihe und der Preisänderungs-Prozentsatz-Rangliste. Der Überverkaufsschwellenwert von 20 ist radikaler als der herkömmliche 30, aber die Dreifachprüfung des CRSI reduziert die Wahrscheinlichkeit falscher Signale.

Die RSI-Länge von 6 Zyklen ist kurz gesetzt, um die Signalempfindlichkeit zu erhöhen. Auf der 15-Minuten-Ebene entspricht 6 Zyklen einer 1,5-stündigen Preisgedächtnis, die sowohl einen kurzfristigen Überverkauf erfasst als auch nicht übermäßig verzögert. Dieser Parameter ist besonders effektiv für eine 24-Stunden-Handelsvariante wie BTC.

Lineare Regressionsdeviation LSDD, 20-Zyklus-Trendwechsel

LSDD = Der aktuelle Preis - lineare Regression, wenn die LSDD auf der 0-Achse zeigt, dass der Preis abweicht von der Abwärtstrendlinie. Die Einstellung von 20 Zyklen, die 5 Stunden auf dem 15-Minuten-Chart abdecken, ermöglicht eine effektive Identifizierung von kurzfristigen Trendänderungen.

Die Feinheit dieses Indikators liegt darin, dass er nicht nur eine Trendbeobachtung ist, sondern ein Maß für die Trendverschiebung. Wenn der Preis nach einem anhaltenden Rückgang von der Rücklauflinie nach oben abweicht, ist dies oft ein Beginn eines Aufpralls. Kombiniert mit den Überverkaufssignalen von WT und CRSI bildet dies eine Doppelbestätigung von “Überverkauf + Trendwende”.

Das ist eine sehr gute Idee, aber es ist nicht so einfach.

Die Strategie ist als reine Mehrkopfstrategie konzipiert, bei der 30% des Kapitals pro Position eröffnet werden und ein einziger Aufschlag erlaubt wird. Diese Einstellung ist für die langfristige Aufwärtsentwicklung der Kryptowährungen geeignet und verwaltet das Risiko durch Positionskontrolle. Eine einzelne Position von 30% bietet sowohl ausreichende Erträge als auch vermeidet das übermäßige Risiko eines einzelnen Handels.

Die Ausstiegsbedingungen sind genauso streng: WT Überkauf ((>48) AND CRSI Überkauf ((>80) AND LSDD Negativ, drei Bedingungen müssen gleichzeitig erfüllt werden. Diese Konstruktion gewährleistet die Integrität des Trendhandels und verhindert einen vorzeitigen Ausstieg.

15 Minuten BTC-Retracing optimiert, aber mit Blick auf die Marktlage

Die Strategie hat sich gut auf der BTC 15-Minuten-Retest-Ebene entwickelt, was jedoch nicht bedeutet, dass sie in allen Marktumgebungen wirksam ist. In schwankenden Overshoot-Märkten können sogar Dreifachbestätigungen mehr Falschsignale erzeugen. Die Strategie eignet sich am besten für Marktumgebungen mit klaren Trendmerkmalen.

Risikotipp: Die historische Rücksage ist kein Hinweis auf zukünftige Erträge, die Kryptowährungsmärkte sind sehr volatil und es besteht das Risiko von Kapitalverlusten. Es wird empfohlen, vor der Realisierung ausreichend Papiertransaktionen zu überprüfen und die Gesamtposition streng zu kontrollieren.

Strategiequellcode
/*backtest
start: 2024-10-09 00:00:00
end: 2025-10-07 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT","balance":500000}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © alescha13
// WT + CRSI + Linear Regression Long-only Strategy
// Description: 
// This long-only trading strategy combines WaveTrend (WT), 
// Connors RSI (CRSI), and a Linear Regression Slope (LSDD) trend filter.
// Signals are generated only when all three indicators align within a defined window.
// Exits occur when all indicators turn bearish.
// Backtested on BTC with 15-minute timeframe.

strategy("WT + CRSI + Linear Regression Long-only © alescha13", 
     overlay=true, 
     initial_capital=10000, 
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=30, 
     pyramiding=1, 
     calc_on_every_tick=false, 
     process_orders_on_close=true)

// =====================
// Inputs
// =====================
wtLength        = input.int(10, "WT Length")
wtOversold      = input.int(-48, "WT Oversold Level")
wtOverbought    = input.int(48, "WT Overbought Level")

crsiRSILength   = input.int(6,  "CRSI RSI Length")
crsiOversold    = input.int(20, "CRSI Oversold Level")
crsiOverbought  = input.int(80, "CRSI Overbought Level")

lsddLen         = input.int(20, "Linear Regression Length")

windowSize      = input.int(2, "Window size (bars) for all signals", minval=1)

// =====================
// Helper: CRSI Function
// =====================
updown(s) =>
    isEqual = s == s[1]
    isGrowing = s > s[1]
    ud = 0.0
    ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1]) + 1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1]) - 1)
    ud

crsiFunc(src, lenrsi) =>
    lenupdown = 2
    lenroc = 100
    rsi = ta.rsi(src, lenrsi)
    updownrsi = ta.rsi(updown(src), lenupdown)
    percentrank = ta.percentrank(ta.roc(src, 1), lenroc)
    math.avg(rsi, updownrsi, percentrank)

// =====================
// WaveTrend (WT) Calculation
// =====================
ap  = (high + low + close) / 3.0
esa = ta.ema(ap, wtLength)
d   = ta.ema(math.abs(ap - esa), wtLength)
ci  = (ap - esa) / (0.015 * d)
wt  = ta.ema(ci, 3)

wtBull = ta.crossover(wt, wtOversold)
wtBear = wt > wtOverbought

// =====================
// CRSI Calculation
// =====================
crsiValue = crsiFunc(close, crsiRSILength)
crsiBull  = crsiValue < crsiOversold
crsiBear  = crsiValue > crsiOverbought

// =====================
// Linear Regression LSDD Calculation
// =====================
slope = ta.linreg(close, lsddLen, 0)
lsdd = close - slope
lsddBull = ta.crossover(lsdd, 0)
lsddBear = lsdd < 0

// =====================
// Window Logic (Synchronize Signals)
// =====================
var int wtBarIndex   = na
var int crsiBarIndex = na
var int lsddBarIndex = na

if wtBull
    wtBarIndex := bar_index
if crsiBull
    crsiBarIndex := bar_index
if lsddBull
    lsddBarIndex := bar_index

buySignal = false
if not na(wtBarIndex) and not na(crsiBarIndex) and not na(lsddBarIndex)
    maxBar = math.max(wtBarIndex, crsiBarIndex, lsddBarIndex)
    minBar = math.min(wtBarIndex, crsiBarIndex, lsddBarIndex)
    if (maxBar - minBar) <= windowSize
        buySignal := true
        wtBarIndex := na
        crsiBarIndex := na
        lsddBarIndex := na

finalLong = buySignal

// =====================
// Exit Logic
// =====================
sellSignal = wtBear and crsiBear and lsddBear

// =====================
// Entries / Exits
// =====================
if finalLong
    strategy.entry("Long", strategy.long, comment="Long Entry")

if sellSignal
    strategy.close("Long", comment="Long Exit")

// =====================
// Background Color for Signals
// =====================
bgcolor(finalLong ? color.new(color.green, 85) : na)
bgcolor(sellSignal ? color.new(color.red, 85) : na)

// =====================
// Plots
// =====================
plot(wt, color=color.new(color.blue, 0), title="WT")
plot(crsiValue, color=color.new(color.purple, 0), title="CRSI")
plot(lsdd, color=color.new(color.orange, 0), title="LSDD")

plotshape(finalLong, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// =====================
// Alerts
// =====================
alertcondition(finalLong, title="Long Alert", message="WT + CRSI + LSDD Long Signal")
alertcondition(sellSignal, title="Exit Alert", message="WT + CRSI + LSDD Exit Signal")