Heikin-Ashi-Strategie zur Trendbestätigung ohne Neulackierung

HA NRTS TCS EQTY MGMT
Erstellungsdatum: 2025-03-28 17:35:26 zuletzt geändert: 2025-03-28 17:35:26
Kopie: 2 Klicks: 416
2
konzentrieren Sie sich auf
319
Anhänger

Heikin-Ashi-Strategie zur Trendbestätigung ohne Neulackierung Heikin-Ashi-Strategie zur Trendbestätigung ohne Neulackierung

Überblick

Es handelt sich um eine innovative Heikin-Ashi-Strategie zur Nicht-Übertragung von Trendbestätigungen, die darauf abzielt, die Übertragung der Heikin-Ashi-Strategie in der herkömmlichen TradingView zu lösen. Die Strategie bietet eine zuverlässigere und transparentere Handelsmethode durch manuelle Berechnung von Heikin-Ashi und mehreren Trendbestätigungsmechanismen.

Strategieprinzip

Die Kernprinzipien der Strategie bestehen aus drei Schlüsselschritten:

  1. Das ist eine sehr einfache und einfache Methode, um das Problem zu lösen.

    • Mit einer einzigartigen Formel berechnen Sie den Schlusskurs, den Eröffnungskurs, den Höchst- und den Tiefstkurs
    • Sicherstellen, dass historische Preisdaten bei nachfolgenden K-Linien-Aktualisierungen stabil bleiben
    • Vermeiden Sie die häufigen Umrisse in traditionellen Haikanasi-Strategie
  2. Mehrfache Trends bestätigt:

    • Der Trend wird von der Regierung der Vereinigten Staaten bestätigt, und die Regierung der Vereinigten Staaten wird die Tendenz bestätigen.
    • Langes Einstiegssignal: Sie müssen die X-Wurzeln in Folge sehen.
    • Ein Signal für einen leeren Einstieg: Eine Reihe von X-Wurzeln
    • Mehrfach Bestätigung, um falsche Signale zu filtern und die Strategie zu verbessern
  3. Flexible Handelsmodelle:

    • Unterstützung für ein traditionelles Trend-Following-Modell
    • Trends umzukehren
    • Benutzerdefinierte Transaktionsmodelle (alle, nur mehr, nur leer)

Strategische Vorteile

  1. Beseitigung der Übertragung: Die historischen Daten sind stabil und die Rückmessungen sind in hohem Maße mit der Ausführung auf der Festplatte übereinstimmend.
  2. Multiple-Trend-Bestätigung: Unnötige Transaktionen reduziert durch kontinuierliche Filterung von Falschsignalen
  3. Anpassung der Höhe:
    • Flexible Einstiegs- und Ausstiegsschwellen
    • Unterstützung für Trendfollowing und Umkehrhandel
    • Standard-K-Leitung versteckt, für eine klare Sichtbarkeit
  4. Für mittelfristige und langfristige Geschäfte: besonders geeignet für Swing-Handel und Trendbeobachtung

Strategisches Risiko

  1. Leistungsbeschränkungen:

    • Nicht geeignet für Hochfrequenz-Scalping
    • In einem Trendlosen-Sturmmarkt könnte es schlechter laufen
    • Die Parameter müssen für verschiedene Zeitrahmen angepasst werden
  2. Risikokontrollen:

    • Empfehlung für geeignete Schadensbegrenzungsmaßnahmen
    • Parameter zur kontinuierlichen Optimierung unter unterschiedlichen Marktbedingungen
    • Cross-Verifizierung in Verbindung mit anderen Techniken

Richtung der Strategieoptimierung

  1. Dynamische Anpassung der Parameter:

    • Entwicklung von adaptiven Einstiegs- und Ausstiegsmarginal-Algorithmen
    • Anpassung der Stückzahlen in Echtzeit an die Marktvolatilität
    • Einführung von Algorithmen des maschinellen Lernens zur Optimierung der Parameterauswahl
  2. Risikomanagement verbessert:

    • Integriertes dynamisches Positionsmanagement
    • Hinzufügen von Relevanzfiltern
    • Entwicklung von intelligenten Stop-Loss-Mechanismen
  3. Zusammensetzung der Indikatoren

    • In Kombination mit anderen technischen Indikatoren (z. B. RSI, MACD)
    • Entwicklung eines mehrstufigen Bestätigungssystems
    • Erhöhung der Genauigkeit und Zuverlässigkeit der Signale

Zusammenfassen

Die Hack’n’Rip Trend-Bestätigungsstrategie bietet Händlern ein zuverlässigeres und transparenteres Handelsinstrument durch die Verwendung von innovativen Rumpfberechnungen und Multiple-Trend-Bestätigungsmethoden. Die Strategie zeigt das Potenzial für technische Innovationen im Quantifizierten Handel durch die Beseitigung von Rumpfproblemen, das Filtern von Falschsignalen und die Bereitstellung flexibler Handelsmodelle.

Strategiequellcode
/*backtest
start: 2025-03-15 00:00:00
end: 2025-03-27 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
//© PineIndicators

strategy("Heikin-Ashi Non-Repainting Strategy [PineIndicators]", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, max_boxes_count=500, max_labels_count=500, max_lines_count=500, commission_value=0.01, process_orders_on_close=true, slippage= 2, behind_chart=false)

//====================================
// INPUTS
//====================================
// Number of consecutive candles required for entry and exit
openThreshold = input.int(title="Number of Candles for Entry", defval=2, minval=1)
exitThreshold = input.int(title="Number of Candles for Exit", defval=2, minval=1)
// Trade mode selection: "Long & Short", "Only Long", or "Only Short"
tradeMode = input.string(title="Trade Mode", defval="Only Long", options=["Long & Short", "Only Long", "Only Short"])
// Option to invert the trading logic (bullish signals become short signals, and vice versa)
invertTrades = input.bool(title="Invert Trading Logic (Long ↔ Short)", defval=false)
// Option to hide the standard candles (bodies only)
hideStandard = input.bool(title="Hide Standard Candles", defval=true)
// Heikin-Ashi transparency is fixed (0 = fully opaque)
heikinTransparency = 0

//====================================
// HIDE STANDARD CANDLES
//====================================
// Hide the body of the standard candles by setting them to 100% transparent.
// Note: The wicks of the standard candles cannot be hidden via code.
barcolor(hideStandard ? color.new(color.black, 100) : na)

//====================================
// HEIKIN-ASHI CALCULATION
//====================================
// Calculate Heikin-Ashi values manually
haClose = (open + high + low + close) / 4
var float haOpen = na
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, math.max(haOpen, haClose))
haLow  = math.min(low, math.min(haOpen, haClose))

// Define colors for Heikin-Ashi candles (using fixed transparency)
bullColor = color.new(#0097a7, heikinTransparency)
bearColor = color.new(#ff195f, heikinTransparency)

//====================================
// PLOT HEIKIN-ASHI CANDLES
//====================================
// Plot the manually calculated Heikin-Ashi candles over the chart.
// The candle body, wicks, and borders will be colored based on whether the candle is bullish or bearish.
plotcandle(haOpen, haHigh, haLow, haClose, title="Heikin-Ashi", 
     color       = haClose >= haOpen ? bullColor : bearColor,
     wickcolor   = haClose >= haOpen ? bullColor : bearColor,
     bordercolor = haClose >= haOpen ? bullColor : bearColor,
     force_overlay = true)

//====================================
// COUNT CONSECUTIVE TREND CANDLES
//====================================
// Count the number of consecutive bullish or bearish Heikin-Ashi candles.
var int bullishCount = 0
var int bearishCount = 0

if haClose > haOpen
    bullishCount := bullishCount + 1
    bearishCount := 0
else if haClose < haOpen
    bearishCount := bearishCount + 1
    bullishCount := 0
else
    bullishCount := 0
    bearishCount := 0

//====================================
// DEFINE ENTRY & EXIT SIGNALS
//====================================
// The signals are based on the number of consecutive trend candles.
// In normal logic: bullish candles trigger a long entry and bearish candles trigger a short entry.
// If invertTrades is enabled, the signals are swapped.
var bool longEntrySignal  = false
var bool shortEntrySignal = false
var bool exitLongSignal   = false
var bool exitShortSignal  = false

if not invertTrades
    longEntrySignal  := bullishCount >= openThreshold
    shortEntrySignal := bearishCount >= openThreshold
    exitLongSignal   := bearishCount >= exitThreshold
    exitShortSignal  := bullishCount >= exitThreshold
else
    // Inverted logic: bullish candles trigger short entries and bearish candles trigger long entries.
    longEntrySignal  := bearishCount >= openThreshold
    shortEntrySignal := bullishCount >= openThreshold
    exitLongSignal   := bullishCount >= exitThreshold
    exitShortSignal  := bearishCount >= exitThreshold

//====================================
// APPLY TRADE MODE RESTRICTIONS
//====================================
// If the user selects "Only Long", disable short signals (and vice versa).
if tradeMode == "Only Long"
    shortEntrySignal := false
    exitShortSignal  := false
else if tradeMode == "Only Short"
    longEntrySignal  := false
    exitLongSignal   := false

//====================================
// TRADING STRATEGY LOGIC
//====================================
// Execute trades based on the calculated signals.

// If a long position is open:
if strategy.position_size > 0
    if shortEntrySignal
        strategy.close("Long", comment="Reverse Long")
        strategy.entry("Short", strategy.short, comment="Enter Short")
    else if exitLongSignal
        strategy.close("Long", comment="Exit Long")

// If a short position is open:
if strategy.position_size < 0
    if longEntrySignal
        strategy.close("Short", comment="Reverse Short")
        strategy.entry("Long", strategy.long, comment="Enter Long")
    else if exitShortSignal
        strategy.close("Short", comment="Exit Short")

// If no position is open:
if strategy.position_size == 0
    if longEntrySignal
        strategy.entry("Long", strategy.long, comment="Enter Long")
    else if shortEntrySignal
        strategy.entry("Short", strategy.short, comment="Enter Short")