Stratégie de double moyenne mobile basée sur la prédiction des tendances


Date de création: 2024-02-02 17:39:54 Dernière modification: 2024-02-02 17:39:54
Copier: 0 Nombre de clics: 572
1
Suivre
1617
Abonnés

Stratégie de double moyenne mobile basée sur la prédiction des tendances

Aperçu

La stratégie de prévision de tendance bi-homogène est une stratégie qui tente de prédire les changements de tendance avant que la tendance des prix ne se retourne. Elle est basée sur l’indicateur WaveTrend de LazyBear. La stratégie est capable d’identifier les tendances des prix et d’afficher des signaux d’achat et de vente via des effets visuels remplis de courbes.

Principe de stratégie

La stratégie est basée sur l’indicateur WaveTrend de LazyBear. WaveTrend est lui-même un très bon indicateur de suivi des tendances. La stratégie est optimisée pour l’extension. Les principales étapes sont les suivantes:

  1. Calcul du prix moyen du HLC
  2. Calculer le prix moyen EMA
  3. Le calcul de l’EMA de la déviance absolue du prix
  4. Calcul de l’indicateur d’ajustement de la ligne zéro
  5. Calculer les EMA de la tendance
  6. Calculer la moyenne lente

Grâce à ce traitement, on peut filtrer les fluctuations aléatoires des prix et identifier des tendances plus claires. La croix de la ligne moyenne rapide peut être utilisée pour émettre des signaux d’achat et de vente.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Il est possible d’identifier efficacement les tendances des prix.
  2. Les signaux sont générés en temps opportun et permettent de prédire l’inversion de tendance à l’avance.
  3. Remplissez la courbe pour visualiser clairement les tendances
  4. L’optimisation des paramètres est large et peut être ajustée en fonction des variétés et des cycles

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Comme toutes les stratégies d’indicateurs techniques, il existe un risque d’échec lorsque les prix fluctuent fortement.
  2. Une mauvaise configuration des paramètres peut entraîner un faux signal
  3. Les signaux sont retardés, des pertes sont possibles

Ces risques peuvent être atténués par des méthodes telles que l’ajustement des paramètres et la combinaison d’autres indicateurs.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Adaptation des paramètres pour plus de variétés et de cycles
  2. Augmenter les stratégies de coupe des pertes et maîtriser les risques de pertes
  3. Combiné à d’autres indicateurs pour améliorer la précision du signal
  4. Ajout de modèles d’apprentissage automatique pour aider à déterminer les tendances et les signaux

Résumer

Dans l’ensemble, la stratégie de prévision de tendance bi-homogène est une stratégie très prometteuse. Elle est capable d’identifier efficacement les tendances des prix et d’essayer de prévoir les changements de tendance à l’avance. Avec une certaine optimisation et amélioration, la stratégie peut devenir un puissant système de trading quantitatif.

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

//@version=4
strategy("BreakingDawn [JackTz]", overlay = true)

// WaveTrend [LazyBear]
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
 
WTfactor = input(4, title=" WTFactor")
averageHlc3 = sum(hlc3, WTfactor) / WTfactor
ap = averageHlc3 
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1,4)
wtAvg = wt1-wt2
wtPeriodAvgVal = wtAvg * 45 + averageHlc3
wtPeriodAvg2Val = wtAvg * 25 + averageHlc3

buy = wtAvg[1] < wtAvg and wtAvg < close
sell = wtAvg[1] > wtAvg

fillColor = buy ? color.green : color.red
control = plot(wtPeriodAvgVal, color = fillColor)
signal = plot(wtPeriodAvg2Val, color = fillColor)
fill(signal, control, color = fillColor)

if year > 2016
    strategy.entry("buy", strategy.long, when = buy)
    strategy.close("buy",when = sell)