Trendumkehrstrategie basierend auf Renko Average True Range


Erstellungsdatum: 2024-02-01 14:30:24 zuletzt geändert: 2024-02-01 14:30:24
Kopie: 0 Klicks: 1467
1
konzentrieren Sie sich auf
1617
Anhänger

Trendumkehrstrategie basierend auf Renko Average True Range

Überblick

Die Renko ATR Trend Reversal Strategy ist eine einzigartige Trading-Strategie, mit der Trend-Reversalpunkte in den Finanzmärkten identifiziert werden können. Die Strategie beseitigt die Probleme mit der Verzögerung der Abbildung von Renko-Charts und ist in der Lage, Wendepunkte genau zu erfassen und klare Signale für Handelsentscheidungen zu liefern.

Strategieprinzip

Renko-Blöcke erzeugt

Die Strategie berechnet zunächst die ATR-Werte innerhalb eines bestimmten Zeitraums und setzt die Blockgröße des Renko-Diagramms auf diese ATR als Basis. Wenn sich der Preis über eine ATR bewegt, werden neue Renko-Blöcke gezeichnet. Auf diese Weise kann der Renko-Diagramm automatisch an die Schwankungen des Marktes angepasst werden, indem er eine größere Blockgröße bei hohen Schwankungen und eine kleinere Blockgröße bei niedrigen Schwankungen festlegt.

Kauf und Verkauf von Signalgeneration

Wenn der Renko-Betriebspreis unter dem Schließungspreis liegt, erzeugt er ein Kaufsignal; wenn der Renko-Betriebspreis über dem Schließungspreis liegt, erzeugt er ein Verkaufsignal. Diese Signale markieren einen potenziellen Trendwendepunkt.

Stop-Loss- und Stop-Off-Einstellung

Die Strategie setzt die Stop-Loss- und Stop-Off-Preise für jede Einheit dynamisch auf Basis der vom Benutzer definierten Stop-Loss- und Stop-Off-Prozentsätze, wobei der Renko-Eröffnungspreis als Basis verwendet wird, um das Risiko und den Gewinn pro Einheit zu kontrollieren.

Analyse der Stärken

Entfernen von Rückstand

Die Strategie beseitigt die Probleme der Lag-Mapping durch manuelle Berechnung der Renko-Eröffnungs- und Schließungspreise, wodurch die Erzeugung von Signalen genauer und zeitgerechter wird.

Automatische Anpassung an Marktschwankungen

Die Renko-Blockgröße basierend auf dem ATR-Indikator ermöglicht die automatische Anpassung der Strategie an die Preisschwankungen unter verschiedenen Marktbedingungen.

Dynamische Stoppschaltung eingestellt

Die Strategie setzt dynamische Stop-Loss- und Stop-Stop-Mechanismen für jeden einzelnen Handel ein, um das Risiko in Abhängigkeit von der Volatilität des Marktes zu kontrollieren.

Vereinfachte Diagrammansicht

Die Renko-Diagramme selbst filtern Marktlärm aus und bieten eine klare und präzise visuelle Wirkung, wenn Trends umgedreht werden.

Risikoanalyse

Risiken der Parameteroptimierung

Benutzer müssen die Parameter wie ATR-Zyklus, Stop-Loss-Prozent und Stop-Out-Prozent optimieren, um sich an unterschiedliche Marktumgebungen anzupassen. Wenn die Parameter nicht richtig eingestellt sind, kann dies zu einer schlechten Strategie führen.

Risiken von Unvorhergesehenen

Schwerwiegende wirtschaftliche Ereignisse oder politische Entscheidungen können zu einem schnellen Anstieg führen, wodurch die Stop-Loss- oder Stop-Out-Ebene überschritten wird, was zu größeren Verlusten führt.

Die Gefahr des Rückschritts

In einigen Fällen kann die von den Handelssignalen festgelegte Umkehrung fehlschlagen und nicht dazu beitragen, dass die Preise in eine umgekehrte Richtung gehen, was zu Verlusten führt.

Optimierungsrichtung

Zusammenfassung mehrerer Zeitspannen

Es ist möglich, die großen Trends in höheren Zeiträumen zu beurteilen und Rückschläge zu vermeiden. Es ist auch möglich, falsche Signale in niedrigeren Zeiträumen zu filtern.

In Kombination mit anderen Indikatoren

In Kombination mit Dynamik- und Schwankungsmessgeräten kann die Qualität des Signals verbessert und Fehlsignale vermieden werden.

Dynamische Anpassung der Stoppquote

Die Stop-Stop-Rate kann dynamisch angepasst werden, je nachdem, wie stark der Markt schwankt und wie weit der aktuelle Preis vom Einstiegspunkt entfernt ist.

Zusammenfassen

Die Trend-Umkehr-Strategie basierend auf der realen Wellenlänge des Renko-Durchschnitts nutzt die Renko-Charts in Kombination mit dem ATR-Indikator erfolgreich, um automatisch Wendepunkte in den Finanzmärkten zu identifizieren. Die Strategie bietet Vorteile wie die Beseitigung von Verzögerungskartographien, die automatische Anpassung an die Marktvolatilität und die dynamische Stop-Loss-Stufe.

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

//@version=5
strategy(title='[tradinghook] - Renko Trend Reversal Strategy', shorttitle='[tradinghook] - Renko TRS', overlay=true ,initial_capital = 100, commission_value = 0.05, default_qty_value = 5)

// INPUTS
renkoATRLength = input.int(10, minval=1, title='ATR Length')
stopLossPct = input.float(3, title='Stop Loss Percentage', step=0.1)
takeProfitPct = input.float(20, title='Take Profit Percentage', step=0.1)
startDate = input(timestamp("01 July 2023 00:00"), title="Start Date")
endDate = input(timestamp("31 Dec 2025 23:59"), title="End Date")
enableShorts = input.bool(true, title="Enable Shorts")

var float stopLossPrice = na
var float takeProfitPrice = na

atr = ta.atr(renkoATRLength)

// thanks to https://www.tradingview.com/script/2vKhpfVH-Renko-XZ/ for manually calculating renkoClose and renkoOpen in order to remove repaint
getRenkoClose() =>
    p1 = 0.0
    p1 := close > nz(p1[1]) + atr ? nz(p1[1]) + atr : close < nz(p1[1]) - atr ? nz(p1[1]) - atr : nz(p1[1])
    p1

Renko3() =>
    p3 = 0.0
    p3 := open > nz(p3[1]) + atr ? nz(p3[1]) + atr : open < nz(p3[1]) - atr ? nz(p3[1]) - atr : nz(p3[1])
    p3

getRenkoOpen() =>
    open_v = 0.0
    Br_2 = Renko3()
    open_v := Renko3() != Renko3()[1] ? Br_2[1] : nz(open_v[1])
    open_v

renkoOpen = getRenkoOpen()
renkoClose = getRenkoClose()

// COLORS
colorGreen = #089981
colorRed = #F23645
bgTransparency = 95
bgColorRed = color.new(colorRed, bgTransparency)
bgColorGreen = color.new(colorGreen, bgTransparency)
lineColor = renkoClose < renkoOpen ?  colorRed : colorGreen 
bgColor = renkoClose < renkoOpen ?  bgColorRed : bgColorGreen 

// PLOTS
plot(renkoOpen, title="Renko Open", style=plot.style_line, linewidth=2, color=lineColor)
bgcolor(bgColor)

// SIGNALS
isWithinTimeRange = true
buySignal = ta.crossunder(renkoOpen, renkoClose) and isWithinTimeRange
sellSignal = ta.crossover(renkoOpen, renkoClose) and isWithinTimeRange and enableShorts

if (buySignal)
    stopLossPrice := renkoOpen * (1 - stopLossPct / 100)
    takeProfitPrice := renkoOpen * (1 + takeProfitPct / 100)
    strategy.entry("Long", strategy.long)
    strategy.exit("ExitLong", "Long", stop = stopLossPrice, limit = takeProfitPrice, comment="SL: " + str.tostring(stopLossPrice) + ", TP: " + str.tostring(takeProfitPrice))
if (sellSignal)
    stopLossPrice := renkoOpen * (1 + stopLossPct / 100)
    takeProfitPrice := renkoOpen * (1 - takeProfitPct / 100)
    strategy.entry("Short", strategy.short)
    strategy.exit("ExitShort", "Short", stop = stopLossPrice, limit = takeProfitPrice, comment="SL: " + str.tostring(stopLossPrice) + ", TP: " + str.tostring(takeProfitPrice))