Trendfolgestrategie mit Hull Moving Average basierend auf TSI und CCI
Überblick
Diese Strategie kombiniert drei Indikatoren – den True Strength Index (TSI), den Commodity Channel Index (CCI) und den Hull Moving Average (Hull MA) – zu einer trendfolgenden Handelsstrategie. Sie kann auf Zeitrahmen ab 1 Stunde oder höher für langfristige Trendfolgegeschäfte auf beliebige Handelsinstrumente angewendet werden.
Funktionsweise der Strategie
Die Strategie basiert hauptsächlich auf dem TSI und dem CCI, um Markttrends sowie überkaufte/überverkaufte Bedingungen zu identifizieren, sowie auf dem Hull MA, um den mittelfristigen Preistrend zu bestimmen. Die Kombination dieser drei Indikatoren bildet die grundlegenden Bedingungen für Positionseröffnungen.
Konkret wird eine Long-Position eröffnet, wenn die schnelle Linie des TSI die langsame Linie von unten kreuzt, der CCI über +20 steigt und n1 ansteigt. Eine Short-Position wird eröffnet, wenn die schnelle Linie des TSI die langsame Linie von oben kreuzt, der CCI unter -20 fällt und n1 fällt. Der Hull MA dient zur Filterung des mittelfristigen Trends: Long-Positionen werden nur eröffnet, wenn der Preis unter dem Hull MA liegt, Short-Positionen nur, wenn der Preis darüber liegt.
Durch die Bestätigung über verschiedene Zeiträume hinweg können Fehlausbrüche effektiv herausgefiltert und mittel- bis langfristige Trends verfolgt werden.
Vorteile
Diese Strategie ist ein relativ stabiles und effizientes Trendfolgesystem mit folgenden Hauptvorteilen:
- Die Verwendung des TSI zur Bestimmung der langfristigen Trendrichtung ist zuverlässiger und vermeidet Störungen durch kurzfristiges Marktrauschen.
- Die Einbeziehung des CCI bestätigt überkaufte/überverkaufte Bedingungen und filtert einige Fehlsignale heraus.
- Die Entscheidungskraft des Hull MA macht die Einstiegspunkte präziser und erhöht die Gewinnwahrscheinlichkeit erheblich.
- Die Kombination mehrerer Indikatoren mit unterschiedlichen Parametern erhöht die Zuverlässigkeit der Signale und reduziert Störungen.
- Die flexible Parametereinstellung ermöglicht eine Anpassung an verschiedene Marktzyklen.
Risikoanalyse
Obwohl die Strategie relativ stabil ist, birgt sie dennoch gewisse Risiken:
- Es kann zu starken Trendumkehrungen kommen, bei denen ein schneller Stop-Loss nicht möglich ist, was zu größeren Verlusten führen kann.
- Sowohl der TSIDiff als auch der CCI können Fehlsignale oder Verzögerungen aufweisen, sodass einige Einstiegspunkte verpasst werden.
- Eine ungeeignete Parametereinstellung kann zu einer zu hohen Handelsfrequenz oder einer verminderten Signalqualität führen.
Gegenmaßnahmen:
- Angemessene Anpassung des Stop-Loss, um Einzelverluste zu begrenzen.
- Gegebenenfalls Einbeziehung weiterer Indikatoren zur Signalbekräftigung, um die Trefferquote zu erhöhen.
- Anpassung der Parameter entsprechend dem Markt, um die Stabilität der Strategie zu gewährleisten.
Optimierungsmöglichkeiten
Die Strategie kann in folgenden Bereichen optimiert werden:
- Erprobung verschiedener Parameterkombinationen, um die am besten geeigneten Indikatoren zu finden.
- Integration von maschinellen Lernalgorithmen zur adaptiven Parameteroptimierung.
- Hinzufügen eines Money-Management-Moduls für stabilere Gewinne.
- Einbindung weiterer Filter zur Steigerung der Gewinnrate.
Dies wird der Schwerpunkt der zukünftigen Optimierung sein.
Zusammenfassung
Diese Strategie nutzt die drei Indikatoren TSI, CCI und Hull MA und bildet ein relativ stabiles und effizientes Trendfolgesystem. Durch die geschickte Kombination von Indikatoren über verschiedene Zeitrahmen wird die Signalqualität verbessert. In einem nächsten Schritt soll die Stabilität und Rentabilität der Strategie durch Parameteroptimierung und Verstärkung der Filter weiter gesteigert werden.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="TSI CCI Hull", shorttitle="TSICCIHULL", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0)
long = input(title="Long Length", type=input.integer, defval=50)- 1

