Stratégie du surfeur

Auteur:ChaoZhang est là., Date: 2023-10-17 15h30 et 18h
Les étiquettes:

img

Résumé

La stratégie Surf Rider est une stratégie combinée qui intègre différentes stratégies de suivi de tendance pour générer des signaux de trading plus fiables. Elle combine la stratégie 123 Reversal et la stratégie ECO et vise à produire des signaux de trading plus précis après la confirmation de la tendance.

La logique de la stratégie

La stratégie Surf Rider intègre deux types de stratégies: la stratégie d'inversion et la stratégie de suivi de tendance.

Tout d'abord, la stratégie 123 Reversal est une stratégie d'inversion. Elle utilise des informations de chandelier pour identifier les signaux d'inversion de prix. Elle génère un signal d'achat lorsque la fermeture d'hier est supérieure à la fermeture de la journée précédente et que la fermeture d'aujourd'hui est inférieure à celle d'hier, tandis que la Slow K de 9 jours est inférieure à 50. Elle génère un signal de vente lorsque la fermeture d'hier est inférieure à la fermeture de la journée précédente et que la fermeture d'aujourd'hui est supérieure à celle d'hier, tandis que la Fast K de 9 jours est supérieure à 50.

Deuxièmement, la stratégie ECO est une stratégie de suivi des tendances. Elle utilise la taille et la direction des bougies de prix pour calculer l'élan et déterminer la direction de la tendance. L'indicateur ECO supérieur à 0 indique une tendance à la hausse, tandis que inférieur à 0 indique une tendance à la baisse.

La stratégie Surf Rider combine les signaux des deux stratégies. Elle n'entrera en position que lorsque les deux stratégies génèrent des signaux dans le même sens, par exemple lorsque l'ECO montre une tendance à la hausse et que la stratégie 123 Reversal donne également un signal d'achat. Cela évite de perdre des transactions en raison de jugements incorrects d'une seule stratégie.

Analyse des avantages

Comparée à une stratégie unique, la stratégie Surf Rider présente les avantages suivants:

  1. La combinaison de stratégies d'inversion et de tendance complète leurs forces et évite leurs faiblesses, rendant les signaux de trading plus fiables.

  2. La stratégie 123 Reversal utilise l'indicateur stochastique pour identifier les zones de surachat et de survente, tandis que la stratégie ECO évalue la direction de l'élan des prix.

  3. Le filtre à double stratégie garantit l'ouverture de positions uniquement lorsque les deux stratégies s'accordent sur la même direction, ce qui réduit considérablement le risque de négociation.

  4. L'espace de réglage des paramètres flexible permet d'optimiser les paramètres pour différents marchés, ce qui rend la stratégie adaptable à un plus grand nombre d'environnements de marché.

  5. L'approche multi-temporelle combinant l'inversion intraday et la tendance à moyen terme permet de saisir davantage d'opportunités de négociation.

Analyse des risques

Malgré l'utilisation de plusieurs stratégies pour réduire les risques de stratégie individuels, la stratégie Surf Rider contient toujours les risques suivants dans le trading:

  1. La stratégie 123 Reversal est plus faible sur les marchés à fourchette, générant potentiellement des signaux de renversement consécutifs de pertes.

  2. La stratégie ECO présente des résultats inférieurs dans des environnements à faible liquidité et doit donc y être évitée.

  3. Le filtre à double stratégie peut manquer certains signaux de profit que les stratégies individuelles capteraient séparément.

  4. Les paramètres doivent être ajustés pour s'adapter aux différents marchés.

  5. La stratégie peut ne pas s'adapter à certaines conditions de marché exceptionnelles comme les événements du cygne noir.

Directions d'optimisation

Il y a encore de la place pour optimiser la stratégie de Surf Rider:

  1. Considérez l'ajout d'une stratégie de stop loss aux positions de sortie automatiquement lorsque les pertes atteignent des niveaux de stop loss.

  2. Testez différents paramètres de moyenne mobile pour trouver des combinaisons de paramètres plus stables.

  3. Essayez l'optimisation adaptative basée sur l'apprentissage automatique pour le réglage dynamique des paramètres.

  4. Ajouter plus de stratégies auxiliaires pour améliorer encore la précision du signal.

  5. Tester la stabilité dans différents environnements de marché et ajuster les paramètres en conséquence.

  6. Développer des systèmes automatisés de backtesting et d'exécution pour une optimisation plus rigoureuse de la stratégie.

Conclusion

En conclusion, en combinant des stratégies d'inversion et de suivi de tendance pour une double confirmation, la stratégie Surf Rider améliore la précision du signal tout en capturant les changements de tendance, permettant des rendements excédentaires sur le marché plus large.


/*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 )

Plus de