
Die Strategie basiert hauptsächlich auf einer verbesserten HA-Gleichlinie, um die Wendepunkte der Preise zu erkennen, um deutliche Trendänderungen zu erfassen, und gehört zu den Kurzlinien-Handelsstrategien. Die Strategie verwendet die HA, um die Öffnung, die Höhe, die Tiefe und den Preis der K-Linie zu berechnen und die endgültige Farbe der K-Linie anhand der Preisbeziehung zu bestimmen.
Die Kernlogik der Strategie besteht hauptsächlich darin, die Farbänderungen der HA-Säulen zu berechnen, um eine Preisumkehr zu ermitteln.
Zuerst berechnen Sie den Wert der K-Zeile, je nachdem, ob Sie die Eingabeparameter wählen, die HA verwenden. Wenn Sie dies wählen, erhalten Sie die Öffnung, die Höhe, die Tiefe und den Preis aus den HA-Daten. Wenn Sie dies nicht tun, erhalten Sie sie direkt aus den ursprünglichen Daten der K-Zeile.
haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low
Die HA-Eröffnung und die HA-Einnahme für diese Periode werden dann nach der HA-Rechnerformel berechnet.
haclose = (haOpen + haHigh + haLow + haClose) / 4
haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2
Der Höchst- und Mindestpreis des Ha wird dann nach dem Ha-Auf- und -Absatz berechnet.
hahigh = max(haHigh, max(haopen, haclose))
halow = min(haLow, min(haopen, haclose))
Die Farbe der HA-Säulen in dieser Periode wird anhand der HA-Eröffnungspreisbeziehung beurteilt.
hacolor = haclose > haopen ? color.green : color.red
Das Preisumkehrsignal wird anhand der HA-Farbänderungen in zwei aufeinanderfolgenden Zyklen beurteilt.
turnGreen = haclose > haopen and haclose[1] <= haopen[1]
turnRed = haclose <= haopen and haclose[1] > haopen[1]
Beim Auftreten von Auf- und Abnahme-Signalen werden jeweils Auf- und Abnahmepositionen eröffnet.
strategy.entry("long", 1, when=turnGreen)
strategy.entry("short", 0, when=turnRed)
Bei einem Gegensignal ist die Position platziert.
strategy.close("long", when=turnRed)
Durch die Beurteilung der Veränderung der Farbe der HA-Säulenlinie kann der Preiswendepunkt erfasst und eine Umkehrhandelsstrategie umgesetzt werden.
Diese Strategie hat folgende Vorteile:
Mit verbessertem HA berechnet man die K-Linien-Daten, wodurch ein Teil des Geräusches herausgefiltert wird und die Trendwende deutlicher erkannt wird.
Die Wendepunkte werden nur durch einfache HA-Säulenfarbänderungen beurteilt. Die Strategie ist einfach, klar und leicht zu verstehen.
Mit dem Umkehrhandel können Trendschwankungen zeitnah erfasst und schneller umgekehrte Gewinne erzielt werden.
Konfiguriert werden kann, ob HA-Daten für die Berechnung von K-Linien verwendet werden, die je nach Markt angepasst werden können.
Graphische Anzeige von Candle-Formen zur intuitiven Beurteilung von Preiswendepunkten.
Die Anpassung kann durch Optimierungsparameter wie den Handelsprozess angepasst werden und ist für verschiedene Sorten geeignet.
Die Strategie birgt auch einige Risiken, die beachtet werden müssen:
Umkehrgeschäfte sind leicht zu erfassen und es muss sichergestellt werden, dass die Umkehrsignale zuverlässig sind.
In einem wackligen Markt kann es häufig zu Umkehrsignalen kommen, die zu Überhändlungen führen.
Es ist unmöglich zu beurteilen, wie lange der Trend dauern wird, und es kann zu Verlusten führen, wenn der ursprüngliche Trend nach einer Umkehrung fortgesetzt wird.
Ein einzelner Indikator ist anfällig für falsche Durchbrüche und sollte in Kombination mit anderen Indikatoren verwendet werden.
Es ist zu überprüfen, ob die Parameter ausreichend optimiert sind, um eine Überpassung zu vermeiden.
Entsprechende Lösungen:
Optimierung der Parameter zur Sicherstellung der Stabilität und Zuverlässigkeit der Handelssignale.
Der Trend-Filter wird in Kombination mit dem Trend-Filter verwendet, um einen unruhigen Markt zu vermeiden.
Ein Stop-Loss-Exit-Mechanismus, um Einzelschäden zu kontrollieren.
Es ist wichtig, dass Sie die Ergebnisse in Kombination mit anderen Indikatoren überprüfen und falsche Signale vermeiden.
Die Optimierungsparameter werden ausreichend erfasst, um Überpassung zu vermeiden.
Die Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Handelszyklusparameter, um die Eigenschaften der verschiedenen Sorten anzupassen.
Der Test wird mit HA-Werten durchgeführt, die je nach Eigenschaften der Handelsart ausgewählt werden.
Es gibt eine Reihe von Faktoren, die dazu beitragen können, dass sich der Trend umkehren kann.
Setzen Sie einen dynamischen Stop-Loss und passen Sie den Stop-Loss an die Marktbewegungen an.
In Kombination mit anderen Indikatoren bestätigt das Handelssignal.
Das ist eine neue Strategie für die Vermögensverwaltung, um die Positionen anzupassen.
Erweiterung des Arbitrages auf verschiedene Arten.
Die Parameter werden entsprechend der Rückmeldung korrigiert, um eine Überpassung zu verhindern.
Diese Strategie nutzt die Vorteile der Verbesserung der HA-Gleichlinie, um mögliche Preiswendepunkte zu erkennen, indem sie die Veränderung der HA-Säulenfarbe beurteilt. Im Vergleich zur direkten Verwendung von K-Linien filtert die HA-Gleichlinie teilweise den Lärm und macht das Umkehrsignal klarer. Die Strategie implementiert die Umkehrhandelsmethode in einer einfachen, intuitiven Weise, die Logik ist einfach und klar und die Bedienung ist einfach.
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Heikin-Ashi Change Strategy", overlay=true)
UseHAcandles = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===
// === BASE FUNCTIONS ===
haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low
// Calculation HA Values
haopen = 0.0
haclose = (haOpen + haHigh + haLow + haClose) / 4
haopen := na(haopen[1]) ? (haOpen + haClose) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = max(haHigh, max(haopen, haclose))
halow = min(haLow, min(haopen, haclose))
// HA colors
hacolor = haclose > haopen ? color.green : color.red
// Signals
turnGreen = haclose > haopen and haclose[1] <= haopen[1]
turnRed = haclose <= haopen and haclose[1] > haopen[1]
// Plotting
bgcolor(hacolor)
plotshape(turnGreen, style=shape.arrowup, location=location.belowbar, color=color.green)
plotshape(turnRed, style=shape.arrowdown, location=location.abovebar, color=color.red)
// Alerts
alertcondition(turnGreen, "ha_green", "ha_green")
alertcondition(turnRed, "ha_red", "ha_red")
strategy.entry("long", 1, when=turnGreen)
//strategy.entry("short", 0, when=turnRed)
strategy.close("long", when=turnRed)