Dual Momentum Index und Reversal Composite Strategy


Erstellungsdatum: 2024-02-06 12:22:32 zuletzt geändert: 2024-02-06 12:22:32
Kopie: 0 Klicks: 658
1
konzentrieren Sie sich auf
1617
Anhänger

Dual Momentum Index und Reversal Composite Strategy

Überblick

Die Doppel-Dynamik-Rückschlag-Kombinationsstrategie ist eine Kombinationsstrategie, die eine Rückschlag-Strategie mit einer Dynamik-Strategie kombiniert. Sie nutzt die 123 Rückschlag-Strategien und die beiden Unterstrategien des CSI, um den Zeitpunkt des Einstiegs nach den doppelten Signalen zu bestimmen. Die Strategie zielt darauf ab, die Genauigkeit der Handelssignale zu verbessern.

Strategieprinzip

Die Strategie besteht aus zwei Unterstrategien:

  1. 123 Umkehrstrategie. Es handelt sich um eine Umkehrstrategie, bei der der Schlusskurs an zwei aufeinanderfolgenden Tagen steigt und der Stoch-Indikator unter 50 liegt.

  2. Der CSI-Strategie. Es kombiniert die mittlere tatsächliche Preisspanne (ATR) mit der mittleren Richtungsbewegung (ADX). Die ATR spiegelt die Marktvolatilität wider, die ADX spiegelt die Trendstärke wider.

Die gesamte Strategie basiert auf der 123-Umkehrstrategie, die CSI-Strategie ist die unterstützte Bestätigung. Die Handelssignale werden nur ausgegeben, wenn die beiden Signale übereinstimmen. Bei einer Überschreitung steigt der Schlusskurs zwei Tage in Folge mit einem Stoch unter 50 und durchläuft den Moving Average auf der CSI; bei einer Leerstellung sinkt der Schlusskurs zwei Tage in Folge mit einem Stoch über 50 und durchläuft den Moving Average auf der CSI.

Dies gewährleistet sowohl die Umkehrbarkeit des Handelssignals als auch die Filterung der CSI-Indikatoren zur Verringerung der Falschsignale.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. In Kombination mit der Umkehrung und der Dynamik erhöht sich die Signalgenauigkeit. Die 123 Umkehrungsstrategie als Hauptsignal kann eine plötzliche starke Umkehrung des Verhaltens erfassen. Die CSI-Anzeige als Nebenbestätigung kann einen Teil des Geräusches filtern.

  2. Die Verwendung von Komplexfilter kann die Nettoposition erheblich reduzieren. Auch wenn die Unterstrategie selbst einen bestimmten Anteil an Falschsignalen aufweist, müssen die letztendlichen Signale doppelt übereinstimmen. Die meisten Falschsignale können gefiltert werden, um unnötige Wiederholungen zu minimieren.

  3. Die Parameter der Unterstrategie können einzeln optimiert werden. Die jeweiligen Parameter der 123 Umkehrstrategie und der CSI-Strategie können getestet und optimiert werden, ohne sich gegenseitig zu stören. Dies erleichtert die Suche nach der optimalen Kombination von Parametern.

  4. Einzelne Unterstrategien können aktiviert werden. Die Strategie unterstützt nur den Handel mit der 123 Umkehrstrategie oder der CSI-Strategie. Dies bietet die Flexibilität der Strategie.

Risikoanalyse

Obwohl die Strategie durch die Kombination von Filterungen die Falschmeldungen erheblich reduziert hat, bestehen die folgenden Hauptrisiken:

  1. Strategie-Signale erzeugen eine relativ geringe Frequenz. Durch die Verwendung der doppelten Bestätigung wird ein gewisser Prozentsatz der Handelsmöglichkeiten gefiltert. Dies ist die notwendige Zahlung für eine hohe Gewinnrate.

  2. Wenn die Parameter der beiden Unterstrategien falsch sind, kann es zu Signalknappheit oder gar keinem Signal kommen. Die Parameter müssen streng getestet und optimiert werden, um die optimale Kombination zu finden.

  3. 123 Umkehrungen gehören zu den Reverse-Market-Operationen. Die Strategie ist mit einem hohen Risiko konfrontiert, wenn es zu einem anhaltenden und heftigen einseitigen Preisbruch kommt.

Optimierungsrichtung

Die wichtigsten Optimierungsmöglichkeiten für diese Strategie sind:

  1. Optimieren Sie die Parameter, die in jeder Unterstrategie enthalten sind, um die beste Kombination von Parametern zu finden. Einschließlich Stoch-Parameter, CSI-Parameter usw.

  2. Tests mit Filtern für verschiedene Marktsituationen, wie z. B. die Verwendung der CSI-Strategie nur bei einem Trend, die Verwendung der 123-Umkehr-Strategie nur bei einem Erschütterungsmarkt usw. Dies überwindet zu einem gewissen Grad die Nachteile der Unterstrategie.

  3. Das Modul für die automatische Anpassung und dynamische Optimierung von Parametern. Es ermöglicht die automatische Anpassung der Parameter an die aktuelle Marktlage und die Statistiken der Strategie, um die optimale Kombination von Parametern in Echtzeit zu verfolgen.

  4. Verschiedene Stop-Mechanismen werden getestet. Eine angemessene Stop-Mechanik kann sowohl die Risiken wirksam kontrollieren als auch die unnötige Wiederholung von Off-Positions reduzieren.

Zusammenfassen

Die Doppel-Dynamik-Index- und Reverse-Dynamik-Kombination-Strategie nutzt die Idee der Multi-Signal-Bestätigung und Kombination, um die Vorteile der Reverse- und Dynamik-Strategie zu nutzen und die Nachteile beider durch gegenseitige Filterung zu mildern, um hohe Effizienz und hohe Stabilität zu erzielen. Es ist eine der typischen Quantifizierungsstrategien, die zur Auswahl stehen.

Strategiequellcode
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/10/2019
// 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
// The Commodity Selection Index ("CSI") is a momentum indicator. It was 
// developed by Welles Wilder and is presented in his book New Concepts in 
// Technical Trading Systems. The name of the index reflects its primary purpose. 
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility 
// characteristics. The trending characteristics are brought out by the Directional 
// Movement factor in the calculation--the volatility characteristic by the Average 
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other 
// commodities). Because these commodities are highly volatile, they have the potential 
// to make the "most money in the shortest period of time." High CSI values imply 
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle 
// the risks associated with highly volatile markets.
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

CSI(Length, Commission, Margin, PointValue) =>
    pos = 0.0
    K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
    xATR = atr(Length)
    xADX = fADX(Length)
    nADXR = (xADX + xADX[Length]) * 0.5
    xCSI = K * xATR * nADXR
    xMACSI = sma(xCSI, Length)
    pos := iff(xCSI < xMACSI, 1,
    	     iff(xCSI > xMACSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Commodity Selection Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
LengthCSI = input(14)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCSI = CSI(LengthCSI, Commission, Margin, PointValue)
pos = iff(posReversal123 == 1 and posCSI == 1 , 1,
	   iff(posReversal123 == -1 and posCSI == -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 )