Die Strategie des Surf Riders

Schriftsteller:ChaoZhang, Datum: 2023-10-17 15:30:18
Tags:

img

Übersicht

Die Surf Rider Strategie ist eine Kombinationsstrategie, die verschiedene Trendfolgestrategien integriert, um zuverlässigere Handelssignale zu generieren. Sie kombiniert die 123 Reversal Strategie und die ECO Strategie und zielt darauf ab, nach der Trendbestätigung genauere Handelssignale zu erzeugen.

Strategie Logik

Die Surf Rider-Strategie integriert zwei verschiedene Arten von Strategien: Umkehrstrategie und Trendfolgestrategie.

Erstens ist die 123 Reversal-Strategie eine Umkehrstrategie. Sie verwendet Kerzeninformationen, um Preisumkehrsignale zu identifizieren. Sie erzeugt ein Kaufsignal, wenn der Gesternschluss höher ist als der Vortagschluss und der heutige Schluss niedriger als der Gesternschluss, während der 9-tägige Slow K unter 50 liegt. Sie erzeugt ein Verkaufssignal, wenn der Gesternschluss niedriger ist als der Vortagschluss und der heutige Schluss höher ist als der Gesternschluss, während der 9-tägige Fast K höher als 50 ist.

Zweitens ist die ECO-Strategie eine Trendfolgestrategie. Sie verwendet die Größe und Richtung der Preiskerzen, um die Dynamik zu berechnen und die Trendrichtung zu bestimmen. Der ECO-Indikator über 0 zeigt einen Aufwärtstrend an, unter 0 zeigt einen Abwärtstrend an.

Die Surf Rider-Strategie kombiniert die Signale beider Strategien. Sie tritt nur dann in Positionen ein, wenn beide Strategien Signale in die gleiche Richtung erzeugen, z. B. wenn der ECO einen Aufwärtstrend zeigt und die 123 Reversal-Strategie auch ein Kaufsignal gibt. Dies verhindert, dass Trades aufgrund falscher Urteile aus einer einzigen Strategie verloren gehen.

Analyse der Vorteile

Im Vergleich zu einer einzigen Strategie hat die Surf Rider-Strategie folgende Vorteile:

  1. Die Kombination von Umkehr- und Trendstrategien ergänzt ihre Stärken und vermeidet Schwächen, wodurch Handelssignale zuverlässiger werden.

  2. Die 123 Reversal-Strategie verwendet den stochastischen Indikator, um überkaufte und überverkaufte Bereiche zu identifizieren, während die ECO-Strategie die Kursdynamik richtet.

  3. Der Dual-Strategy-Filter gewährleistet die Eröffnung von Positionen nur, wenn beide Strategien sich auf die gleiche Richtung einig sind, was das Handelsrisiko erheblich reduziert.

  4. Der flexible Parameter-Tuning-Raum ermöglicht die Optimierung von Parametern für verschiedene Märkte und macht die Strategie an mehr Marktumgebungen anpassbar.

  5. Der Multi-Time-Frame-Ansatz, der eine Kombination aus Intraday-Umkehrung und mittelfristiger Entwicklung ermöglicht, mehr Handelschancen zu nutzen.

Risikoanalyse

Trotz der Verwendung mehrerer Strategien zur Verringerung einzelner Strategierisiken enthält die Surf Rider-Strategie im Handel immer noch folgende Risiken:

  1. Die 123 Reversal-Strategie ist in den Märkten mit Bandbreite schwächer und kann möglicherweise Folgeverlustsignale erzeugen.

  2. Die ECO-Strategie ist in Umgebungen mit geringer Liquidität unterdurchschnittlich und sollte daher dort vermieden werden.

  3. Der Dual-Strategy-Filter kann einige Gewinnsignale übersehen, die einzelne Strategien separat erfassen würden.

  4. Bei falschen Parameter-Einstellungen kann die Strategie falsche Signale erzeugen.

  5. Die Strategie kann sich möglicherweise nicht an einige außergewöhnliche Marktbedingungen wie schwarze Schwäne anpassen.

Optimierungsrichtlinien

Es gibt weitere Möglichkeiten, die Strategie des Surf Riders zu optimieren:

  1. Es sollte in Betracht gezogen werden, eine Stop-Loss-Strategie automatisch zu den Exit-Positionen hinzuzufügen, wenn die Verluste ein Stop-Loss-Niveau erreichen.

  2. Verschiedene gleitende Durchschnittsparameter testen, um stabilere Parameterkombinationen zu finden.

  3. Versuchen Sie maschinelles Lernen basierte adaptive Parameteroptimierung für dynamische Parameter-Tuning.

  4. Mehr Hilfsstrategien hinzufügen, um die Signalgenauigkeit weiter zu verbessern.

  5. Stabilität in verschiedenen Marktumgebungen testen und die Parameter entsprechend anpassen.

  6. Entwicklung automatisierter Backtesting- und Ausführungssysteme für eine strengere Strategieoptimierung.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Surf Rider-Strategie durch die Kombination von Umkehr- und Trendfolgestrategien zur doppelten Bestätigung die Signalgenauigkeit verbessert und gleichzeitig Trendänderungen erfasst, wodurch übermäßige Renditen auf dem breiteren Markt erzielt werden können.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/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
// We call this one the ECO for short, but it will be listed on the indicator list 
// at W. Blau’s Ergodic Candlestick Oscillator. The ECO is a momentum indicator. 
// It is based on candlestick bars, and takes into account the size and direction 
// of the candlestick "body". We have found it to be a very good momentum indicator, 
// and especially smooth, because it is unaffected by gaps in price, unlike many other 
// momentum indicators.
// We like to use this indicator as an additional trend confirmation tool, or as an 
// alternate trend definition tool, in place of a weekly indicator. The simplest way 
// of using the indicator is simply to define the trend based on which side of the "0" 
// line the indicator is located on. If the indicator is above "0", then the trend is up. 
// If the indicator is below "0" then the trend is down. You can add an additional 
// qualifier by noting the "slope" of the indicator, and the crossing points of the slow 
// and fast lines. Some like to use the slope alone to define trend direction. If the 
// lines are sloping upward, the trend is up. Alternately, if the lines are sloping 
// downward, the trend is down. In this view, the point where the lines "cross" is the 
// point where the trend changes.
// When the ECO is below the "0" line, the trend is down, and we are qualified only to 
// sell on new short signals from the Hi-Lo Activator. In other words, when the ECO is 
// above 0, we are not allowed to take short signals, and when the ECO is below 0, we 
// are not allowed to take long signals. 
//
// 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

ECO(r,s) =>
    pos = 0
    xCO = close - open
    xHL = high - low
    xEMA = ema(ema(xCO, r), s)
    xvEMA = ema(ema(xHL, r), s)
    nRes = 100 * (xEMA / xvEMA)
    pos := iff(nRes > 0, 1,
	         iff(nRes <= 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & ECO Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(32, minval=1)
s = input(12, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posECO = ECO(r,s)
pos = iff(posReversal123 == 1 and posECO == 1 , 1,
	   iff(posReversal123 == -1 and posECO == -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