Stratégie de tendance haussière à moyennes mobiles multiples


Date de création: 2024-01-22 12:04:05 Dernière modification: 2024-01-22 12:04:05
Copier: 0 Nombre de clics: 661
1
Suivre
1617
Abonnés

Stratégie de tendance haussière à moyennes mobiles multiples

Aperçu

Une stratégie de suivi de tendance basée sur la construction de jugements basés sur des moyennes mobiles indicielles ((EMA) de plusieurs périodes différentes. Elle le fait lorsque le prix dépasse l’EMA de 10 jours et que d’autres lignes d’EMA de plus longue période présentent des alignements à plusieurs têtes; puis utilise un stop-loss à 8% pour verrouiller les bénéfices.

Principe de stratégie

La stratégie utilise six lignes EMA de différentes périodes de 10, 20, 50, 100, 150 et 200 jours. Ces lignes EMA sont utilisées pour déterminer la phase cyclique dans laquelle se trouve actuellement le marché.

En particulier, la stratégie permet d’ouvrir plus de positions si les conditions suivantes sont remplies:

  1. L’EMA du 10 est supérieure à l’EMA du 20
  2. L’EMA du 20 est supérieure à l’EMA du 50
  3. L’EMA à 100 jours est supérieure à l’EMA à 150 jours
  4. L’EMA à 150 jours est supérieure à l’EMA à 200 jours
  5. L’EMA de 10 jours sur le cours de clôture

Après avoir ouvert une position supplémentaire, la stratégie utilise un arrêt de suivi de 8% pour verrouiller les bénéfices. C’est-à-dire, tant que le prix de l’action ne recule pas de plus de 8% du prix d’achat, la position est maintenue.

L’idée de base de la stratégie est d’utiliser des conditions de filtrage multiples EMA pour déterminer l’entrée dans une tendance à plusieurs têtes et de bloquer les bénéfices en suivant les arrêts de perte.

Analyse des avantages

Les principaux avantages de cette stratégie de tendance à plusieurs axes sont les suivants:

  1. Il est possible de filtrer efficacement les fausses ruptures, en veillant à saisir les phases de marquage du cycle des prix et en réduisant le nombre de transactions inutiles.
  2. Le filtrage multiple des lignes EMA réduit la possibilité que le stop-loss soit dépassé et permet une position plus sûre.
  3. 8% de stop-loss suivi, ni trop serré ni trop lâche, permettant de bien localiser les bénéfices et d’éviter les arrêts trop fréquents.
  4. La stratégie est flexible sur les paramètres, permettant de trouver la meilleure combinaison de paramètres selon les différentes variétés.

Analyse des risques

Cette stratégie comporte également des risques à prendre en compte:

  1. L’ordre des lignes de l’EMA ne permet pas de déterminer à 100% la tendance du marché et il est possible qu’il y ait des ajustements.
  2. Un stop-loss de 8% peut entraîner une perte de profit dans des conditions de forte hausse.
  3. Le système de courbe moyenne de l’EMA lui-même est en retard par rapport aux variations de prix, et les points de basculement peuvent être jugés un peu en retard.

Pour ces risques, nous pouvons optimiser et améliorer les paramètres du cycle EMA ou introduire d’autres indicateurs comme jugement auxiliaire.

Direction d’optimisation

Compte tenu des caractéristiques de cette stratégie, il est possible de l’optimiser à l’avenir dans les domaines suivants:

  1. Testez différentes combinaisons d’EMA et paramètres de cycle pour trouver le paramètre optimal.
  2. Ajout d’indicateurs tels que l’indice de volatilité pour juger de la force de la tendance et éviter de prendre des positions inutilement.
  3. Ajout d’indicateurs de filtrage tels que MACD, KDJ et autres pour juger de la multitâche.
  4. L’introduction d’algorithmes d’apprentissage automatique pour réaliser un arrêt de perte dynamique.

Résumer

La stratégie de tendance à plusieurs têtes en ligne moyenne multiple est globalement une stratégie de suivi de tendance plus robuste et plus fiable. Elle combine à la fois le jugement de la tendance et le contrôle des risques. Il y a encore beaucoup de place pour l’amélioration par l’optimisation des paramètres et des algorithmes.

Code source de la stratégie
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('SirSeff\'s EMA Rainbow', overlay=true)
// Testing Start dates
testStartYear = input(2000, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2100, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
// Component Code Stop

//TSP
trailStop = input.float(title='Long Trailing Stop (%)', minval=0.0, step=0.1, defval=8) * 0.01

longStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    math.max(stopValue, longStopPrice[1])
else
    0

//PLOTS
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop')
plot(ta.ema(close, 20))
plot(ta.ema(close, 50))
plot(ta.ema(close, 100))
plot(ta.ema(close, 150))
plot(ta.ema(close, 200))

//OPEN
longCondition =  ta.ema(close, 10) > ta.ema(close, 20) and ta.ema(close, 20) > ta.ema(close, 50) and ta.ema(close, 100) > ta.ema(close, 150) and ta.ema(close, 150) > ta.ema(close, 200)
if longCondition and ta.crossover(close,ta.ema(close,10)) and testPeriod()
    strategy.entry("BUY1", strategy.long)
    
if longCondition and ta.crossover(ta.ema(close,10),ta.ema(close,20)) and testPeriod()
    strategy.entry("BUY2'", strategy.long)

//CLOSE @ TSL
if strategy.position_size > 0 and testPeriod()
    strategy.exit(id='TSP', stop=longStopPrice)