Die Hauptidee dieser Strategie besteht darin, den glätteten gleitenden Durchschnitt zu verwenden, um den glätteten Heiken Ashi zu berechnen, um Preistrends zu identifizieren, und lang zu gehen, wenn der Preis ein goldenes Kreuz mit dem glätteten Heiken Ashi hat, und kurz zu gehen, wenn es ein Todeskreuz gibt.
Die Strategie definiert zunächst eine Funktion smoothedMovingAvg zur Berechnung des glätteten gleitenden Durchschnitts, die den gleitenden Durchschnittswert des vorhergehenden Zeitraums und den letzten Preis zur Berechnung des glätteten gleitenden Durchschnitts des laufenden Zeitraums anhand bestimmter Gewichte verwendet.
Anschließend wird eine Funktion getHAClose definiert, um den Schlusskurs von Heiken Ashi anhand der Öffnungs-, Höchst-, Tief- und Schlusskurs zu berechnen.
In der Hauptstrategie-Logik erhält es zunächst die ursprünglichen Preise verschiedener Zeiträume, dann verwendet die Funktion smoothedMovingAvg, um den glätteten gleitenden Durchschnitt zu berechnen, und berechnet dann den glätteten Heiken Ashi Schlusskurs durch die Funktion getHAClose.
Schließlich geht es lang, wenn der Preis über den glatten Heiken Ashi-Schlusskurs geht, und schließt die Position, wenn der Preis unter ihm geht. Es geht kurz, wenn der Preis unter den glatten Heiken Ashi-Schlusskurs geht, und schließt die Position, wenn der Preis darüber geht.
Der größte Vorteil dieser Strategie besteht darin, dass sie durch die Verwendung des glatten gleitenden Durchschnitts zur Berechnung des glatten Heiken Ashi die Preisentwicklung genauer bestimmen und etwas Rauschen filtern kann, um falsche Signale in unruhigen Perioden zu vermeiden.
Die wichtigsten Risiken dieser Strategie sind:
Eine falsche Einstellung der Parameter der Glättung kann dazu führen, dass die Strategie Preisumkehrmöglichkeiten verpasst oder falsche Signale erzeugt. Die optimalen Parameter müssen durch wiederholtes Backtesting und Optimierung gefunden werden.
Wenn die Preise stark schwanken, kann der gleitende Durchschnitt hinter den Preisänderungen zurückbleiben, was zu einem Stop-Loss oder fehlenden Umkehrmöglichkeiten führt.
Um den oben genannten Risiken entgegenzuwirken, können zur Verringerung der Risiken und zur Verbesserung der Strategie-Stabilität Methoden wie die Anpassung der Ausgleichsparameter, die Einführung von Stop-Loss-Mechanismen und die Verringerung der Größe der Handelspositionen verwendet werden.
Die Strategie kann auch in folgenden Aspekten optimiert werden:
Einführung von adaptiven Glättungsparametern zur automatischen Anpassung von Parametern bei steigender Marktvolatilität.
Kombination mit anderen Indikatoren als Filter, um falsche Signale während der Preiskonsolidierung zu vermeiden.
Sie können auch Stopp-Loss-Mechanismen pro Handel hinzufügen.
Optimieren Sie Handelsprodukte, Handelssitzungen usw., um sich auf Produkte und Sitzungen mit den meisten Vorteilen zu konzentrieren.
Durch die oben genannten Optimierungen können die Kurvenanpassungsrisiken der Strategie weiter reduziert und die Anpassungsfähigkeit und Stabilität der Strategie verbessert werden.
Die allgemeine Logik dieser Strategie ist klar und leicht zu verstehen. Durch die Berechnung des glatten Heiken Ashi, um Preistrends zu bestimmen und entsprechend Long- und Short-Positionen zu machen. Sein größter Vorteil ist die Fähigkeit, etwas Rauschen auszufiltern und die Genauigkeit des Signalurteils zu verbessern. Es gibt aber auch bestimmte Schwierigkeiten bei der Parameteroptimierung und Risiken, dass schnelle Umkehrungen fehlen. Weitere Optimierungen können durch die Einführung adaptiver Mechanismen, die Erweiterung von Indikatorenkombinationen usw. durchgeführt werden, um eine eingehende Forschung wert zu machen.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Smoothed Heiken Ashi Strategy", overlay=true) // Inputs g_TimeframeSettings = 'Display & Timeframe Settings' time_frame = input.timeframe(title='Timeframe for HA candle calculation', defval='', group=g_TimeframeSettings) g_SmoothedHASettings = 'Smoothed HA Settings' smoothedHALength = input.int(title='HA Price Input Smoothing Length', minval=1, maxval=500, step=1, defval=10, group=g_SmoothedHASettings) // Define a function for calculating the smoothed moving average smoothedMovingAvg(src, len) => smma = 0.0 smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len smma // Function to get Heiken Ashi close getHAClose(o, h, l, c) => ((o + h + l + c) / 4) // Calculate smoothed HA candles smoothedHAOpen = request.security(syminfo.tickerid, time_frame, open) smoothedMA1close = smoothedMovingAvg(request.security(syminfo.tickerid, time_frame, close), smoothedHALength) smoothedHAClose = getHAClose(smoothedHAOpen, smoothedHAOpen, smoothedHAOpen, smoothedMA1close) // Plot Smoothed Heiken Ashi candles plotcandle(open=smoothedHAOpen, high=smoothedHAOpen, low=smoothedHAOpen, close=smoothedHAClose, color=color.new(color.blue, 0), wickcolor=color.new(color.blue, 0)) // Strategy logic longCondition = close > smoothedHAClose shortCondition = close < smoothedHAClose strategy.entry("Buy", strategy.long, when=longCondition) strategy.close("Buy", when=shortCondition) plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)