Die Ressourcen sind geladen. Beförderung...

Strategie zur Nachverfolgung des umgekehrten Trendverlaufs mit doppelten gleitenden Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2024-01-04
Tags:

img

Übersicht

Diese Strategie ist eine Kombinationsstrategie, die drei verschiedene Strategien kombiniert, um Handelssignale zu generieren. Erstens verwendet sie die 123 Umkehrmusterstrategie, die Handelssignale generiert, wenn Preise bestimmte Muster bilden. Zweitens verwendet sie die gleitende Durchschnitts-Crossover-Strategie, die den Trend beurteilt, indem die Crossovers zwischen gleitenden Durchschnitten und exponentiellen gleitenden Durchschnitten verglichen werden. Schließlich ermöglicht diese Strategie auch die Wahl, ob umgekehrt gehandelt wird. Die Kombination dieser drei Strategien kann Trendumkehrpunkte erfassen, während einige laute Handelssignale herausgefiltert werden.

Strategie Logik

123 Strategie zur Umkehrung des Musters

Diese Strategie stammt aus der Methode, die in Ulf Jensens Buch How I Tripled My Money in the Futures Market vorgeschlagen wurde.

Wenn der Schlusskurs höher ist als der vorherige Schlusskurs und auch höher als der Schlusskurs vor zwei Tagen, während der 9-Perioden-Stochastische Slow unter 50 liegt, gehen Sie lang. Wenn der Schlusskurs niedriger ist als der vorherige Schlusskurs und auch niedriger als der Schlusskurs vor zwei Tagen, während der 9-Perioden-Stochastische Fast über 50 liegt, gehen Sie kurz.

Somit kann es Umkehrchancen erfassen, wenn die Preise drei Tage neue Höchst- oder Tiefstände bilden, während es sich mit Überverkaufs- oder Überkaufssignalen aus dem stochastischen Indikator verbindet.

Strategie für die Verlagerung des gleitenden Durchschnitts

Diese Strategie verwendet die Überschneidung zwischen dem einfachen gleitenden Durchschnitt der Länge-MA-Periode und dem exponentiellen gleitenden Durchschnitt der Länge-EMA-Periode, um Handelssignale zu generieren.

Wenn der exponentielle gleitende Durchschnitt über den einfachen gleitenden Durchschnitt kreuzt, gehen Sie lang.

Der exponentielle gleitende Durchschnitt ist empfindlicher auf Preisänderungen und kann früher Handelssignale ausstellen.

Umgekehrter Handel

Diese Strategie erlaubt es, zu wählen, ob man umgekehrt handelt. Wenn umgekehrter Handel ausgewählt wird, werden lange Signale zu kurzen Signalen und umgekehrt. Dies kann für einige Handler, die fest davon überzeugt sind, dass es oft irreführende Verhaltensweisen auf dem Markt gibt, vorteilhafter sein.

Vorteile der Strategie

Diese kombinierte Strategie erbt die Vorteile verschiedener Einzelstrategien bis zu einem gewissen Grad, die die Risiken einer einzigen Strategie mindern und die Renditen erhöhen können.

Insbesondere kann die 123 Umkehrmusterstrategie die Wende rechtzeitig erfassen, wenn die Preise Anzeichen einer Umkehrung zeigen; die gleitende Durchschnitts-Crossover-Strategie kann die Trendrichtung bestimmen; die Erlaubnis des Umkehrhandels kann die Wahrscheinlichkeit verringern, dass sie gefangen wird.

Im Allgemeinen ist diese Strategie empfindlich, verfolgt Trends gut und kann individuell für verschiedene Marktumgebungen konfiguriert werden.

Risiken der Strategie

Das größte Risiko dieser Strategie besteht darin, daß die Kombinationsstrategie selbst ziemlich kompliziert ist, so daß es schwierig ist, die Gründe für das Scheitern/Erfolg zu bestimmen und für die Optimierung der Strategie ungünstig ist.

Darüber hinaus, wie jede andere technische Analyse-Strategie, steht diese Strategie auch Risiken wie gefangen und Stop-Loss-Fehler gegenüber. Insbesondere neigt sie dazu, falsche Signale zu erzeugen, wenn die Preise stark schwanken. Außerdem neigen Stop-Loss-Linien dazu, in einem anhaltenden und gewalttätigen Trend gebrochen zu werden.

Um diese Risiken zu mindern, können wir die Parameter entsprechend anpassen, um die Indikatoren stabiler zu machen, die Stop-Loss-Linien vernünftigerweise lockern oder Methoden wie Volumen-Stop-Loss verwenden.

Optimierung

Diese Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Fügen Sie Filterbedingungen wie Handelsvolumen und Volatilität hinzu, um ungültige Signale auszufiltern.

  2. Parameter optimieren, um die besten Parameterkombinationen zu finden.

  3. Versuchen Sie verschiedene gleitende Durchschnittsindikatoren, um diejenigen zu finden, die am besten zum aktuellen Markt passen.

  4. Erhöhung von Modellen für maschinelles Lernen zur automatischen Optimierung von Parametern mit KI-Technologien.

Zusammenfassung

Als Kombinationsstrategie kombiniert diese Strategie die Vorteile verschiedener einzelner Strategien und kann Trendumkehrungen effektiv verfolgen. Sie eignet sich für mittelfristige bis langfristige Operationen. Mit der richtigen Optimierung, dem Risikomanagement usw. kann ihre Leistung erheblich verbessert werden. Sie verdient eingehende Forschung, Anwendung und Verbesserung durch Praktiker des quantitativen Handels.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/06/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
// The Moving Average Crossover trading strategy is possibly the most popular
// trading strategy in the world of trading. First of them were written in the
// middle of XX century, when commodities trading strategies became popular.
// This strategy is a good example of so-called traditional strategies. 
// Traditional strategies are always long or short. That means they are never 
// out of the market. The concept of having a strategy that is always long or 
// short may be scary, particularly in today’s market where you don’t know what 
// is going to happen as far as risk on any one market. But a lot of traders 
// believe that the concept is still valid, especially for those of traders who 
// do their own research or their own discretionary trading. 
// This version uses crossover of moving average and its exponential moving average.
//
// 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

MACross(LengthMA,LengthEMA) =>
    pos = 0
    xMA = sma(close, LengthMA)
    xEMA = ema(xMA, LengthEMA)
    pos := iff(xEMA < xMA , 1,
	       iff(xEMA > xMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & EMA & MA Crossover", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthMA = input(10, minval=1)
LengthEMA = input(10,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMACross = MACross(LengthMA,LengthEMA)
pos = iff(posReversal123 == 1 and posMACross == 1 , 1,
	   iff(posReversal123 == -1 and posMACross == -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