Strategie zur doppelten Trendverfolgung

Schriftsteller:ChaoZhang, Datum: 2023-09-27 16:14:25
Tags:

Übersicht

Die Dual Trend Tracking Strategie kombiniert zwei verschiedene Strategiesignale, um Markttrends genauer zu erfassen und überschüssige Renditen zu generieren.

Strategie Logik

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrstrategie

    Die Umkehrstrategie 123 beurteilt zunächst die Schlusskursbeziehung zwischen den beiden vorangegangenen Tagen.

    Wenn die Stoch-Schnelllinie unter einem bestimmten Niveau liegt (z. B. 50) und die Slow-Line über der Fast-Line liegt, gilt sie als überverkauft und erzeugt ein Kaufsignal. Wenn die Stoch-Schnelllinie über einem bestimmten Niveau liegt (z. B. 50) und die Slow-Line unter der Fast-Line liegt, gilt sie als überkauft und erzeugt ein Verkaufssignal.

    Die Umkehrstrategie 123 erfordert eine Bestätigung durch den Stoch-Indikator, zusätzlich zur Identifizierung der Preisumkehrung, um tatsächliche Handelssignale zu generieren.

  2. Indikator für Überkauf/Überverkauf

    Der Indikator für Überkauf/Überverkauf verwendet direkt den Stoch-Indikator. Wenn der Stoch-Indikator über einem bestimmten Niveau liegt (z. B. 90), gilt er als überkauft und erzeugt ein Verkaufssignal. Wenn der Stoch-Indikator unter einem bestimmten Niveau liegt (z. B. 20), gilt er als überverkauft und erzeugt ein Kaufsignal.

    Dieser Indikator beurteilt überkaufte/überverkaufte Mengen direkt über den Stoch-Indikator, um Trends zu verfolgen.

Schließlich kombiniert die Strategie die Signale der beiden Strategien - nur wenn die Signale in die gleiche Richtung gehen, werden endgültige Kauf- oder Verkaufssignale generiert, um Markttrends genauer zu erfassen.

Analyse der Vorteile

Der größte Vorteil der Dual Trend Tracking Strategie besteht darin, dass sowohl Preistrends als auch Überkauf-/Überverkaufsbedingungen überprüft werden können, um falsche Handelssignale zu vermeiden.

  1. Die Kombination zweier Strategiesignale ermöglicht eine robustere Überprüfung und verringert Verluste, die durch Fehler in einer einzigen Strategie verursacht werden.

  2. Die 123 Umkehrstrategie kann potenzielle Trendumkehrpunkte rechtzeitig erfassen.

  3. Der Indikator für Überkauf/Überverkauf kann die aktuellen Marktbedingungen überprüfen und Höchst- und Tiefverkauf verhindern.

  4. Die beiden Strategien können sich gegenseitig überprüfen, um falsche Signale zu vermeiden und die Stabilität zu verbessern.

  5. Es kombiniert einfache und wirksame Indikatoren mit einer klaren Logik, die leicht zu verstehen und anzuwenden ist.

Risikoanalyse

Obwohl die Strategie durch kombinierte Überprüfung die Stabilität verbessert, bestehen nach wie vor einige Risiken:

  1. Die 123 Umkehrstrategie kann Umkehrpunkte nicht perfekt identifizieren und kann einige Chancen verpassen.

  2. Der Indikator für Überkauf/Überverkauf stützt sich ausschließlich auf einen Stoch-Indikator und kann falsche Signale erzeugen.

  3. Die beiden Strategie-Signale können sich gegenseitig annullieren und Chancen verpassen.

  4. Die Strategie wird nur auf historischen Daten getestet. Parameter müssen im Live-Handel kontinuierlich optimiert werden.

  5. Parameter müssen unabhängig getestet und für verschiedene Produkte und Handelszeiten optimiert werden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Optimieren von Parametern für beide Strategien, um Parameterpools für Optimierungsprogramme zu bilden, aus denen unter verschiedenen Marktbedingungen ausgewählt werden kann.

  2. Zusätzliche Filterbedingungen basierend auf MA, Bollinger Bands usw., um falsche Signale zu vermeiden.

  3. Hinzufügen von Stop-Loss-Mechanismen wie Trailing-Stop-Loss, Move-Stop-Loss, Time-Stop-Loss usw., um den maximalen Drawdown zu kontrollieren.

  4. Überlegen Sie, ob Sie Filter für Volumen oder Positionen für verschiedene Produkte hinzufügen, um eine geringe Liquidität zu vermeiden.

  5. Studieren Sie die Entwicklung von Parametern im Laufe der Zeit und verwenden Sie maschinelles Lernen, um automatisch zu optimieren.

  6. Optimieren Sie die Eintrittsfrequenz, um zu vermeiden, dass in Trendlosen Märkten zu viel gehandelt wird.

Schlussfolgerung

Die Dual Trend Tracking-Strategie identifiziert Trendumkehrungen genau und überprüft dabei Überkauf/Überverkauft-Niveaus, indem sie die 123 Umkehr- und Überkauf/Überverkauf-Strategien kombiniert. Dies filtert falsche Signale aus und erfasst tatsächliche Trends für überschüssige Renditen. Sie ist stabiler und profitabler als Einzelindikator-Strategien. Aber Risiken sollten durch zeitnahen Stop-Loss verwaltet werden. Zukünftige Verbesserungen können durch Parameteroptimierung, Filter hinzufügen, Automatisierung usw. erzielt werden.


/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/03/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Simple Overbought/Oversold indicator
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


OO(Length,BuyBand,SellBand) =>
    pos = 0.0
    xOBOS = stoch(close, high, low, Length)
    nRes = iff(close > close[Length], xOBOS / 100, (100 - xOBOS) / 100)
    pos :=iff(nRes < SellBand, -1,
           iff(nRes > BuyBand, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Overbought/Oversold", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Overbought/Oversold ----")
LengthOO = input(10, minval=1)
BuyBand = input(0.92, step = 0.01)
SellBand = input(0.5, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posOO = OO(LengthOO,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posOO == 1 , 1,
	   iff(posReversal123 == -1 and posOO == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mehr