Bidirektionale Umkehrung der quantitativen Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-02-22 13:46:51
Tags:

img

Diese Strategie verwendet einen bidirektionalen Tracking-Mechanismus, kombiniert mit Preisumkehrsignalen und Volumenindikatoren, um automatisierten quantitativen Handel zu realisieren. Sein größter Vorteil liegt in der zuverlässigen Risikokontrolle durch das Verfolgen von Stop-Loss, um Gewinne zu erzielen und Verluste zu vermeiden. In der Zwischenzeit verbessern die Umkehrhandelssignale die Gewinnrate der Strategie. Dieser Artikel wird die Prinzipien, Stärken, Risiken und Optimierungsrichtungen dieser Strategie detailliert analysieren.

Strategieprinzipien

Diese Strategie besteht aus zwei Teilstrategien. Die erste Teilstrategie verwendet stochastische Indikatoren, um Preisumkehrsignale zu bestimmen.

Wenn der Schlusskurs zwei aufeinanderfolgende Tage steigt und die 9-tägige Slow K-Linie unter 50 liegt, gehen Sie lang; Wenn der Schlusskurs zwei aufeinanderfolgende Tage sinkt und die 9-tägige Fast K-Linie über 50 liegt, gehen Sie kurz.

Die zweite Unterstrategie kombiniert Handelsvolumenindikatoren, um die Stärke der Dynamik zu beurteilen. Insbesondere wird das aktuelle Handelsvolumen mit dem durchschnittlichen 40-Tage-Handelsvolumen verglichen. Wenn das aktuelle Handelsvolumen größer als der Durchschnitt ist, wird es als aggressives Handelsvolumen betrachtet, das zum Umkehrsignal für das Shorten gehört. Wenn das aktuelle Handelsvolumen kleiner als der Durchschnitt ist, wird es als Volumen nach unten betrachtet, das zum Umkehrsignal für das Longen gehört.

Das endgültige Handelssignal ist die Schnittstelle der Signale der beiden Unterstrategien. Das heißt, eine Position wird nur geöffnet, wenn beide Unterstrategien gleichzeitig Signale geben.

Vorteile der Strategie

  1. Verbesserte Signalqualität durch doppelte Bestätigung mit doppelten Indikatoren
  2. Bestimmter zeitlicher Vorteil bei einem Umkehrhandelsmodell
  3. Beurteilung künftiger Preisbewegungen in Kombination mit Volumenanalyse
  4. Zuverlässiger Stop-Loss-Mechanismus zur wirksamen Kontrolle einzelner Verluste

Risiken der Strategie

  1. Versagen der Umkehrsignale, Marktlärm vollständig zu filtern
  2. Anomalie des Handelsvolumens, die zu einer ungültigen Bewertung des Volumenmomentums führt
  3. Fehlende Einstellung des Stop-Loss, die zu einem vorzeitigen Stop-Loss oder zu einem übergroßen Stop-Loss führt
  4. Mangelnde Auslastungskontrollmechanismen, die die Lebensdauer der Strategie möglicherweise verkürzen

Die Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Hinzufügen von Regeln für die Beurteilung von Trends, um den Handel gegen Trends zu vermeiden
  2. Optimieren Sie die Stop-Loss-Logik, um das Tracking von Stop-Loss und das abgestufte Stop-Loss zu erreichen
  3. Hinzufügen einer maximalen Auslastungsgrenze zur Schließstrategie, um große Verluste zu vermeiden
  4. Kombination von Algorithmen für maschinelles Lernen zum Aufbau dynamischer Stop-Loss- und Positionskontrollmodelle

Zusammenfassend basiert diese Strategie hauptsächlich auf bidirektionalem Tracking und Preisumkehrung sowie auf der Volumenmomentum-Analyse, um die Signalqualität durch doppelte Bestätigung zu verbessern. In der tatsächlichen Anwendung sind noch weitere Tests und Optimierungen erforderlich, insbesondere um vor den Risiken von Stop Loss und Kapitalmanagement zu schützen, um übermäßige Drawdowns zu verhindern, die zu Auslöschungen führen.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/11/2020
// 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
// Volume and SMA
//
// 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

    
VSAVol(Length) =>
    pos = 0.0
    xSMA_vol = sma(volume, Length)
    pos := iff(volume > xSMA_vol, -1,
    	     iff(volume < xSMA_vol, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Volume SMA", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_MAVol = input(40, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posVSAVol = VSAVol(Length_MAVol)
pos = iff(posReversal123 == 1 and posVSAVol == 1 , 1,
	   iff(posReversal123 == -1 and posVSAVol == -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