Handelsstrategie mit doppelter Umkehrung

Schriftsteller:ChaoZhang, Datum: 2023-11-01 16: 49:36
Tags:

img

Übersicht

Die Dual-Reversal-Handelsstrategie kombiniert die 123 Reversal- und N consecutive bars down-Unterstrategien, um Handelschancen bei Trendumkehr effizient zu nutzen.

Strategie Logik

123 Umkehrung

Die 123-Umkehrstrategie basiert auf dem Prinzip:

Verlängern, wenn der Schlusskurs der vorangegangenen zwei Tage umgekehrt ist (d. h. wenn der vorherige Schlusskurs höher ist als der Schlusskurs vor dem Vortag, ist der aktuelle Schlusskurs niedriger als der vorherige Schlusskurs) und der 9-tägige schnelle Stochastikwert unter 50 liegt;

Wenn der Schlusskurs der vorangegangenen zwei Tage umgekehrt ist (d. h. wenn der vorherige Schlusskurs niedriger ist als der Schlusskurs vor dem Vortag, ist der aktuelle Schlusskurs höher als der vorherige Schlusskurs) und der 9-tägige schnelle Stochastikwert höher als 50 ist, wird der Schlusskurs kurz gehalten.

Diese Teilstrategie identifiziert eine Trendumkehrung, indem sie die Umkehrung der beiden vorherigen Schlusskosten in Kombination mit einem stochastischen Indikator beurteilt.

N Folgebalken nach unten

Die Unterstrategie N aufeinanderfolgende Abwärtsbalken beruht auf dem Prinzip:

Zählen Sie die jüngsten N-Bars und sehen Sie, ob die Schlusskurse eine aufeinanderfolgende Abwärtsbewegung zeigen.

Diese Teilstrategie identifiziert eine Trendumkehrung durch eine aufeinanderfolgende Preisbewegung nach unten.

Kombination von Signalen

Bei der doppelten Umkehrhandelsstrategie werden die beiden Teilstrategien kombiniert, indem nur dann tatsächliche Positionen eingenommen werden, wenn gleichzeitig sowohl Long- als auch Short-Signale ausgelöst werden.

Dies hilft, einige falsche Signale auszufiltern und macht die Handelssignale zuverlässiger.

Analyse der Vorteile

Die doppelte Umkehrhandelsstrategie hat folgende Vorteile:

  1. Die Kombination mehrerer Teilstrategien hilft, falsche Signale effektiv auszufiltern und die Zuverlässigkeit der Signale zu verbessern.

  2. Die 123 Umkehrstrategie kann kurzfristige Trendumkehrpunkte genau identifizieren. Die N-Bar-konsequente Abwärtsstrategie betrachtet mittelfristige Umkehrungen. Die beiden ergänzen sich und erfassen kurzfristige Chancen auf mittelfristigen Niveaus.

  3. Die Verwendung technischer Indikatoren aus Aktienkarten macht die Strategie flexibel, um die Parameter für verschiedene Produkte anzupassen.

  4. Die Strategie-Logik ist einfach und leicht zu verstehen und zu verfolgen, geeignet für Anfänger zu lernen.

  5. Anpassbare Parameter von Teilstrategien ermöglichen eine Optimierung für verschiedene Produkte und verbessern die Anpassungsfähigkeit.

Risikoanalyse

Es gibt auch einige Risiken, die mit der doppelten Umkehrhandelsstrategie verbunden sind:

  1. Bei Umkehrsignalen kann es manchmal zu falschen Signalen kommen. Obwohl die kombinierten Signale die falschen Signale verringern, kann das Risiko nicht vollständig beseitigt werden.

  2. Die Teilstrategien verwenden einfache Indikatoren und können sich möglicherweise nicht gut an komplexe Marktsituationen anpassen.

  3. Unterstrategieparameter müssen für verschiedene Produkte optimiert werden, da sonst Probleme mit der Überanpassung auftreten können.

  4. Es besteht die Gefahr, dass die Anlage kurzfristig ausgeschaltet wird. Die richtige Positionsaufbewahrungsdauer sollte angepasst werden.

  5. Bei einer Trendkorrektur in einem Bereich können Umkehrsignale auftreten. Der Gesamttrend sollte bestätigt werden, um die Konsistenz mit dem Haupttrend zu gewährleisten.

Optimierungsrichtlinien

Die doppelte Umkehrhandelsstrategie kann in folgenden Aspekten optimiert werden:

  1. Einführung technischer Indikatoren, Aufbau eines Multifaktormodells zur Verbesserung der Anpassungsfähigkeit an komplexe Marktsituationen, z. B. Kombination mit gleitenden Durchschnitten, Bollinger Bands usw.

  2. Fügen Sie maschinelle Lernmodelle hinzu, um mehrdimensionale Funktionen zu nutzen und die Signalgenauigkeit zu verbessern.

  3. Optimieren von Parametern für verschiedene Produkte durch Training zur Verbesserung der Anpassungsfähigkeit.

  4. Einbeziehung von Stop-Loss-Strategien zur Kontrolle einzelner Handelsrisiken.

  5. Entwicklung dynamischer Positionsgrößenmechanismen auf der Grundlage von Marktbedingungen und Unterstrategie-Signalen zur Verringerung von Risiken.

  6. Einführung von Trendfiltermodulen, um Signalwidersprüche mit dem Gesamttrend zu vermeiden; zur Bestimmung von Trends können einfache gleitende Durchschnitte verwendet werden.

Schlussfolgerung

Die Dual-Reversal-Handelsstrategie erfasst effizient Trendumkehrungen, indem sie die 123 Umkehr- und N-aufeinanderfolgenden Bars-Down-Unterstrategien kombiniert. Sie eignet sich besser für mittelfristige Bestände und kann falsche Signale filtern, um zuverlässige Handelsmöglichkeiten während von Trendumkehrungen zu bieten. Es gibt jedoch auch einige Einschränkungen, die durch die Einführung von mehr technischen Indikatoren und Optimierung, zusammen mit Stop-Loss und Positionsgröße, um Risiken zu senken, angegangen werden müssen, um sich an komplexere Marktumgebungen anzupassen. Insgesamt bietet sie einen einfachen und unkomplizierten Ansatz für Trendumkehrhandel und dient als gutes Lernmaterial für Anfänger, um quantitative Handelsstrategien zu verstehen und zu lernen. Mit mehr Optimierungstechniken kann sie zu einer sehr praktischen quantitativen Handelsstrategie werden.


/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-28 03:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/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
// Evaluates for n number of consecutive lower closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBD(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] <= open[1], nz(nCounter[1],0)+1,
                   iff(close[1] > open[1], 0, nCounter))
    C2 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C2== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, -1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Down", 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, "---- N Bars Down ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBD = NBD(nLength)
pos = iff(posReversal123 == 1 and posNBD == 1 , 1,
	   iff(posReversal123 == -1 and posNBD == -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