Quantitative Handelsstrategie auf Basis des Trendanalyse-Index

Schriftsteller:ChaoZhang, Datum: 12.12.2023 Uhr
Tags:

img

Übersicht

Der Kerngedanke dieser Strategie besteht darin, die Neigung des gleitenden Durchschnitts zu verwenden, um den Markttrend zu beurteilen und einen Trend Analysis Index (TAI) als Handelssignal zu konstruieren. Wenn der Preis trendiert, steigt die Neigung des gleitenden Durchschnitts. Wenn der Preis in einer trendlosen Zone liegt, sinkt die Neigung des gleitenden Durchschnitts. Der Anstieg des Trend Analysis Index zeigt den Beginn eines Trends an, während der Rückgang das Ende des Trends bedeutet.

Strategie Logik

Die Strategie berechnet zunächst den einfachen gleitenden Durchschnitt (X-Day MA) des Preises. Dann berechnet sie den höchsten und niedrigsten Wert dieses gleitenden Durchschnitts in den letzten Y-Tagen, um den Schwankungsbereich zu erhalten. Schließlich wird durch den Vergleich dieses Y-Tage-Bereichs mit dem Preis zu einem standardisierten Indikator zwischen 0 und 1 umgewandelt, nämlich dem Trend Analysis Index.

Analyse der Vorteile

Die Vorteile dieser Strategie sind:

  1. Effektive Erfassung von mittelfristigen bis langfristigen Trends durch Beurteilung der Steigung der MA
  2. Konstruktion eines standardisierten Index für ein klareres Handelssignal
  3. Anpassbare MA- und Trendbeurteilungsparameter für verschiedene Marktumgebungen
  4. Auswählbarer Umkehrhandel zur Verfolgung oder Absicherung anderer Strategien

Risikoanalyse

Es gibt auch einige Risiken:

  1. Anfällig für falsche Signale während des Bereichsmarktes
  2. Fehlende Trendumkehrpunkte, wenn die MA-Parameter nicht angemessen eingestellt sind
  3. Fehlende schwache Trends, wenn Standardisierungsparameter nicht angemessen festgelegt werden
  4. Erhöhte Verluste beim Umkehrhandel

Lösungen:

  1. Filtersignale mit anderen Indikatoren
  2. Optimieren Sie die Parameter, um die beste Kombination zu finden
  3. Anpassung des Schwellenwerts der Standardisierungsparameter
  4. Verwenden Sie den Umkehrhandel sorgfältig

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Kombinieren Sie andere Indikatoren wie BOLL, um die Signale zuverlässiger zu machen
  2. Hinzufügen von Stop-Loss zur Steuerung von Einzelverlusten
  3. Optimierung der MA-Tage, um den Merkmalen in verschiedenen Zeitrahmen zu entsprechen
  4. Optimale Schwellenparameter für den Zug
  5. Hinzufügen eines ML-Modells für die Trendwahrscheinlichkeit zur Unterstützung des Handels

Schlussfolgerung

Zusammenfassend ist dies eine mittelfristige bis langfristige Trendfolgestrategie, die auf der Neigung des gleitenden Durchschnitts basiert. Sie kann Trends effektiv erfassen, birgt aber auch einige falsche Signalrisiken. Durch Kombination mit anderen Indikatoren, Hinzufügen von Stop Loss, Parameteroptimierung usw. kann die Strategie robuster sein. Im Wesentlichen ist es immer noch eine einfache Trendverfolgungsstrategie.


//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/12/2017
// In essence, it is simply the standard deviation of the last x bars of a 
// y-bar moving average. Thus, the TAI is a simple trend indicator when prices 
// trend with authority, the slope of the moving average increases, and when 
// prices meander in a trendless range, the slope of the moving average decreases.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Trend Analysis Index", shorttitle="TAI")
AvgLen = input(28, minval=1)
TAILen = input(5, minval=1)
TopBand = input(0.11, step=0.01)
LowBand = input(0.02, step=0.01)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xPrice = close
xSMA = sma(xPrice, AvgLen)
xHH = highest(xSMA, TAILen)
xLL = lowest(xSMA, TAILen)
nRes = (xHH - xLL) * 100 / xPrice
pos = iff(nRes > TopBand, 1,
       iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="TAI")


Mehr