Dies ist eine kurzfristige Handelsstrategie, die Kauf- und Verkaufssignale basierend auf 0,5%igen Veränderungen des Heikin-Ashi-Schlusskurses ausgibt.
Die Kernlogik dieser Strategie lautet:Gehen Sie lang, wenn der Heikin-Ashi-Schlusskurs im Vergleich zur vorherigen Kerze um 0,5% steigt; Gehen Sie kurz, wenn der Heikin-Ashi-Schlusskurs im Vergleich zur vorherigen Kerze um 0,5% fällt.
Insbesondere berechnet die Strategie zunächst die prozentuale Veränderung zwischen dem aktuellen Schlusskurs und dem vorherigen Schlusskurs, d. h.priceChange = close / close[1] - 1
Wenn.priceChange >= 0.005
, wird ein langes Signal ausgegeben.priceChange <= -0.005
, wird ein kurzes Signal ausgegeben.
Bei der Ausgabe von Signalen beurteilt die Strategie auch, ob eine bestehende Position vorhanden ist. Wenn bereits eine Position (long oder short) vorhanden ist, wird kein Signal wiederholt. Wenn keine Position vorhanden ist, wird sie auf der Grundlage der Kauf- oder Verkaufsbedingungen offene Positionssignale ausstellen.
Und schließlich:plotshape
wird verwendet, um die Kauf- und Verkaufssignale auf dem Diagramm zu markieren.
Die wichtigsten Aspekte zur Optimierung dieser Strategie:
Zusammenfassend ist dies eine sehr einfache, niedrige Parameter, leicht zu verstehen kurzfristige Handelsstrategie. Es fängt Preisänderungen extrem schnell, geeignet für Hochfrequenz-Händler. Aber auch müssen die Anzahl der Trades zu kontrollieren, um Kosten zu reduzieren. Mit mehreren Optimierungsmethoden, kann es noch bessere Ergebnisse erzielen.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Heikin-Ashi - Change 0.5% short Time Period", shorttitle="Heikin-Ashi - Change 0.5% short Time Period", overlay=true) // Calculate 0.5% price change priceChange = close / close[1] - 1 // Buy and Sell Signals buyp = priceChange >= 0.005 sellp = priceChange <= -0.005 // Initialize position and track the current position var int position = na // Strategy entry conditions buy_condition = buyp and (na(position) or position == -1) sell_condition = sellp and (na(position) or position == 1) if buy_condition strategy.entry("Buy", strategy.long) position := 1 if sell_condition strategy.entry("Sell", strategy.short) position := -1 // Plot Buy and Sell signals using plotshape plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)