Nadaraya-Watson Strip Chart Mehrfachbestätigung Dynamische Stop-Loss-Strategie

ADX DI RSI MAE
Erstellungsdatum: 2024-05-24 17:58:47 zuletzt geändert: 2024-05-24 17:58:47
Kopie: 0 Klicks: 1065
1
konzentrieren Sie sich auf
1617
Anhänger

Nadaraya-Watson Strip Chart Mehrfachbestätigung Dynamische Stop-Loss-Strategie

Überblick

Die Strategie nutzt die Nadleria-Watson-Band-Chart, um die Preise zu glätten, und berechnet die Auf- und Abwärtskurve anhand der Preise nach dem Glätten. Dann wird die Trendstärke und -richtung anhand der ADX- und DI-Indikatoren beurteilt, die RSI-Indikatoren bestätigen die Trenddynamik und identifizieren potenzielle Durchbrüche, indem die Preise auf und abgleiten.

Strategieprinzip

  1. Die Nadaraya-Watson-Bandkarte wird verwendet, um die Preise zu glätten und die Auf- und Abwärtsberechnung zu berechnen.
  2. Die ADX- und DI-Indikatoren werden verwendet, um die Stärke und Richtung des Trends zu bestimmen. Wenn die ADX größer als die Schwelle ist und + DI größer als -DI, ist dies ein Aufwärtstrend, im Gegensatz dazu ein Abwärtstrend.
  3. Beurteilen Sie, ob der Preis einen Auf- oder Abbruch des Bandgraphik-Charts durchläuft, um einen potenziellen Auf- und Abbruch zu zeigen.
  4. Der RSI-Indikator wird verwendet, um die Trenddynamik zu bestätigen. Wenn der RSI größer als 70 ist, bedeutet dies eine steigende Dynamik, wenn er kleiner als 30 ist, bedeutet dies eine fallende Dynamik.
  5. Der Handel wird durch mehrere Signale wie Trends, Breakpoints und Dynamik ausgeführt:
    • Ein Überlagerung wird bei starkem Aufwärtstrend, Aufwärtsbruch und Aufwärtsdynamik erfolgen.
    • Wenn ein starker Abwärtstrend vorliegt, wird bei Abwärtstrend und Abwärtsdynamik freigesetzt.
  6. Der Stop-Loss-Preis wird berechnet anhand des Höchst-/Tiefstpreises und des Schlusskurses.
  7. Strategie-Signale werden visuell dargestellt, indem Trendlinien, Durchbrüche und Dynamiksignale auf den Diagrammen markiert werden.

Strategische Vorteile

  1. Die Nadleria-Watson-Bandkarte kann die Preisdaten effizient glätten und die Geräuschstörungen reduzieren.
  2. Die Multi-Signal-Bestätigungs-Mechanismen verbessern die Signalsicherheit und ergänzen Trends, Breakpoints und Dynamiksignale, um die Handelschancen gemeinsam zu bestätigen.
  3. Die dynamische Stop-Loss-Verwaltung kann besser an Marktschwankungen angepasst werden, um das Risiko zu verringern. Die Stop-Loss-Preise werden auf der Grundlage der Höchst-/Tiefstpreise und der Schließungspreise berechnet und können sich an den Markt anpassen.
  4. Trendlinien, Durchbrüche und Dynamiksignale werden auf der Grafik visuell markiert, damit der Benutzer die Strategie-Signale beobachten und lesen kann.

Strategisches Risiko

  1. Häufige Durchbruchsignale können zu Übertriebenen und Verlusten führen, wenn die Märkte im Umbruch sind oder sich der Trend umdreht.
  2. Dynamische Stop-Losses können nicht rechtzeitig gestoppt werden, wenn sich der Trend umkehrt, was zu einem verstärkten Rückzug führt.
  3. Strategieparameter wie die Bandbreite des Nadella-Watson-Banddiagramms, die ADX-Trenchwerte usw. müssen für verschiedene Märkte und Standards optimiert werden. Die falsche Einstellung der Parameter kann die Strategiewirkung beeinträchtigen.

Richtung der Strategieoptimierung

  1. Die Einführung von mehr effektiven Trendbeurteilungskennzahlen wie MACD, Gleichgewichtssystem usw. verbessert die Genauigkeit und Stabilität der Trendbeurteilung.
  2. Optimierte dynamische Stop-Loss-Berechnungsmethoden, wie die Berücksichtigung von Indikatoren wie ATR, SAR und anderen, die mit der Volatilität verbunden sind, machen Stop-Loss flexibler und effektiver.
  3. Die Anpassung der Strategie wird durch die Einstellung verschiedener Parameterkombinationen für verschiedene Marktmerkmale, wie z. B. Trend- und Schwingungsmuster, verbessert.
  4. Positionsmanagement-Module, um Ihre Positionen dynamisch an Markttrends und Volatilität anzupassen und Risiken zu kontrollieren.

Zusammenfassen

Die Strategie erzeugt ein gutes Handelssystem, indem sie die Preise in einer Nadaraja-Watson-Band-Grafik ausgleicht. Sie kombiniert Trendindikatoren wie ADX, DI und RSI-Dynamikindikatoren mit mehreren Signalen wie Preisbruchpunkten. Das dynamische Stop-Loss-Management kann sich bis zu einem gewissen Grad an Marktveränderungen anpassen und Risiken kontrollieren.

Strategiequellcode
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-18 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Nadaraya-Watson Envelope with Multi-Confirmation and Dynamic Stop-Loss", overlay=true)

// Input parameters
h = input.float(7.2, "Bandwidth", minval=0)
mult = input.float(2.1, minval=0)
src = input(close, "Source")

// ADX and DI Input Parameters
adxLength = input.int(14, "ADX Length")
adxThreshold = input.float(25, "ADX Threshold")
adxSmoothing = input.int(14, "ADX Smoothing")

// Calculate ADX and DI
[dmiPlus, dmiMinus, adx] = ta.dmi(adxLength, adxSmoothing)
strongTrendUp = dmiPlus > dmiMinus and adx > adxThreshold
strongTrendDown = dmiMinus > dmiPlus and adx > adxThreshold

// Nadaraya-Watson Envelope Calculation
gauss(x, h) =>
    math.exp(-(math.pow(x, 2) / (h * h * 2)))

coefs = array.new_float(0)
den = 0.0

for i = 0 to 100
    w = gauss(i, h)
    array.push(coefs, w)

den := array.sum(coefs)

out = 0.0
for i = 0 to 100
    out += src[i] * array.get(coefs, i)
out /= den
mae = ta.sma(math.abs(src - out), 100) * mult

upper = ta.sma(out + mae, 10)
lower = ta.sma(out - mae, 10)

// Confirmations
breakoutUp = ta.crossover(src, upper)
breakoutDown = ta.crossunder(src, lower)

// Original RSI period and thresholds
rsiPeriod = input.int(14, "RSI Period")
rsi = ta.rsi(src, rsiPeriod)
momentumUp = rsi > 70 and adx > adxThreshold
momentumDown = rsi < 30 and adx > adxThreshold

// // Plot ADX-based Trend Confirmation Lines
// if (strongTrendUp)
//     line.new(bar_index, low, bar_index + 1, low, color=color.new(color.blue, 50), width=2, style=line.style_dashed)

// if (strongTrendDown)
//     line.new(bar_index, high, bar_index + 1, high, color=color.new(color.red, 50), width=2, style=line.style_dashed)

// Plot Breakout Confirmation Dots
plotshape(series=breakoutUp, style=shape.circle, location=location.abovebar, color=color.blue, size=size.tiny, title="Breakout Up")
plotshape(series=breakoutDown, style=shape.circle, location=location.belowbar, color=color.orange, size=size.tiny, title="Breakout Down")

// Plot Momentum Confirmation Arrows
plotshape(series=momentumUp, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, title="Momentum Up")
plotshape(series=momentumDown, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny, title="Momentum Down")

// Strategy Entry and Exit
var float stopLossLevel = na
var float highestPrice = na

potentialBuy = strongTrendUp and breakoutUp
potentialSell = strongTrendDown and breakoutDown
momentumConfirmUp = potentialBuy and momentumUp
momentumConfirmDown = potentialSell and momentumDown

if (momentumConfirmUp)
    strategy.entry("Buy", strategy.long)
    stopLossLevel := close * 0.90
    highestPrice := close

if (momentumConfirmDown)
    strategy.entry("Sell", strategy.short)
    stopLossLevel := close * 1.10
    highestPrice := close

if (strategy.position_size > 0)
    highestPrice := math.max(highestPrice, close)
    stopLossLevel := math.max(highestPrice * 0.85, close * 0.90)

if (strategy.position_size < 0)
    highestPrice := math.min(highestPrice, close)
    stopLossLevel := math.min(highestPrice * 1.15, close * 1.10)

// Close position if stop loss is hit
if (strategy.position_size > 0 and close < stopLossLevel)
    strategy.close("Buy")

if (strategy.position_size < 0 and close > stopLossLevel)
    strategy.close("Sell")