Doppelte Linien-Crossover-Umkehrstrategie


Erstellungsdatum: 2023-11-24 17:03:47 zuletzt geändert: 2023-11-24 17:03:47
Kopie: 0 Klicks: 622
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte Linien-Crossover-Umkehrstrategie

Überblick

Die Binary-Cross-Inversion-Strategie ist eine Trend-Tracking-Strategie, die eine Kombination aus der 123-Inversion-Strategie und der DiNapoli-Trend-Oscillator-Strategie verwendet, um Handelssignale durch die Binary-Cross zu erzeugen und die Markttrends zu verfolgen.

Strategieprinzip

Die Strategie besteht aus zwei Teilen:

  1. 123 Umkehrstrategie: Diese Strategie verwendet die stochastic Indikator zu erzeugen Signal. Wenn der Schlusskurs nach zwei aufeinanderfolgenden Tagen fallen steigt, und die stochastic Schnelllinie unterhalb der langsamen Linie und die schnelle Linie unterhalb von 50 ist, erzeugt ein Kaufsignal; wenn der Schlusskurs nach zwei aufeinanderfolgenden Tagen steigt, und die stochastic Schnelllinie ist höher als die langsame Linie und die schnelle Linie ist höher als 50, erzeugt ein Verkaufsignal.

  2. Die DiNapoli Trend-Oscillator-Strategie nutzt die Moving Average des Preises, um ein Handelssignal zu erzeugen, wenn der Preis über oder unter dem Moving Average liegt. Konkret erzeugt sie ein Kaufsignal, wenn der Preis über dem Moving Average liegt.

Nachdem die beiden oben genannten Strategien jeweils unabhängige Handelssignale erzeugt haben, integriert diese Strategie sie. Die Strategie erzeugt die tatsächlichen Handelsanweisungen nur dann, wenn die Handelssignale der beiden übereinstimmen, d.h. wenn die Doppel-Linien-Kreuzung ein synchronisches Signal bildet, andernfalls wird keine Operation durchgeführt.

Analyse der Stärken

Die Strategie kombiniert binäre Handelssignale, um effektiv Markttrends zu verfolgen, und hat folgende Vorteile:

  1. Nutzen Sie die Vorzüge der Stochastischen Indikatoren hinsichtlich ihrer Beurteilung und Trends, um Verluste zu vermeiden, die durch die Fehleinschätzung eines einzelnen Indikators verursacht werden.

  2. Der DiNapoli-Indikator kann Trends erkennen und verhindert, dass unnötige Positionen durch zufällige Schwankungen eröffnet werden.

  3. Die Doppel-Linien-Kreuzung reduziert die Anzahl der Falschmeldungen und verbessert die Signalqualität, was eine starke Grundlage für die Beurteilung der Entwicklung bietet.

  4. Die Strategieparameter sind anpassbar und die Benutzer können die Parameterkombinationen nach ihren persönlichen Vorlieben auswählen, um sich flexibel an unterschiedliche Marktbedingungen anzupassen.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. In einem Bullenmarkt kann die Strategie aufgrund der zu vorsichtigen Einstellung der Indikatorparameter zu einer verpassten Kaufchance führen. Die Parameter können entsprechend angepasst werden, um die Strategie positiver zu gestalten.

  2. In einem Bärenmarkt kann ein Doppel-Cross-Signal verzögert werden, was zu einem Überkauf-Überverkauf führt. Der Durchschnittszyklus sollte entsprechend verkürzt werden, um die Strategie empfindlicher zu machen.

  3. Bei einem hohen Einseitigkeitsrisiko kann das Signal des Doppel-Linien-Kreuzes verzögert werden. Ein Stop-Loss sollte eingesetzt werden, um die Verluste zu kontrollieren.

Optimierungsrichtung

Diese Strategie kann optimiert werden durch:

  1. Test und Optimierung der Parameter des Stochastic- und DiNapoli-Indikators, um die beste Kombination zu finden.

  2. Zusätzliche Hilfsindikatoren, wie z. B. das Volumen-Kennzeichen, bereichern die interne Logik der Strategie und verbessern die Signalgenauigkeit.

  3. Die Strategieparameter und Signalgenerierungsregeln werden mit Hilfe von maschinellen Lernmethoden trainiert und optimiert, um sie umfassender an Marktveränderungen anzupassen.

  4. In Kombination mit hochentwickelten technischen Indikatoren, um die lokale Struktur zu beurteilen, unterscheiden Sie die kurzen und mittleren Langzeitsignalen, damit die Strategie in mehreren Zeitrahmen funktioniert.

Zusammenfassen

Die kombinierte Verwendung von zwei Indikatoren zur Bildung von zwei-line-cross-trading-Signal, kann effektiv zu verfolgen, die Markttrends, unter der Voraussetzung, dass die Kontrolle der Risiken zu erhalten, eine bessere Erträge, eine zuverlässige Trend-tracking-Strategie. Die Strategie kann durch Parameter-Optimierung und Hilfsmittel-Indikatoren hinzugefügt werden, um kontinuierliche Verbesserung und Upgrade, mit einer breiten Anwendung Perspektive.

Strategiequellcode
/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/02/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
// DiNapoli Detrended Oscillator Strategy
//
// 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

DiNapoli(Length, Trigger) =>
    pos = 0.0
    xSMA = sma(close, Length)
    nRes = close - xSMA
    pos := iff(nRes > Trigger, 1,
    	     iff(nRes <= Trigger, -1, nz(pos[1], 0)))    
    pos

strategy(title="Combo Backtest 123 Reversal & DiNapoli Detrended Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDiN = input(14, minval=1)
TriggerDiN = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDiN = DiNapoli(LengthDiN, TriggerDiN)
pos = iff(posReversal123 == 1 and posDiN == 1 , 1,
	   iff(posReversal123 == -1 and posDiN == -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 )