
Cette stratégie permet de déterminer l’orientation des tendances du marché en calculant une moyenne mobile lisse HULL et une moyenne mobile indicielle. Elle génère des signaux d’achat et de vente.
Le HULL SMA réagit plus rapidement aux variations de prix en calculant les moyennes mobiles pondérées et les racines carrées des périodes.
L’EMA est plus sensible que la SMA en donnant plus de poids aux prix récents.
Le HULL SMA et l’EMA se croisent et génèrent des signaux d’achat et de vente.
Lorsqu’une HULL SMA traverse une EMA, un signal d’achat est généré. Cela indique que la tendance à court terme a dépassé la tendance à long terme, ce qui indique que les prix vont augmenter.
Lorsque le HULL SMA franchit une EMA en dessous, un signal de vente est généré, indiquant que la tendance à court terme commence à se retourner et que le prix va baisser.
Le HULL SMA est sensible aux changements de prix et peut détecter les changements de tendance plus tôt.
L’EMA a la capacité de faire du bruit et de suivre les tendances à long terme.
La ligne rapide brise la ligne lente et génère des signaux qui permettent de saisir le point de basculement de la tendance et d’entrer en temps opportun sur le marché.
En ajustant les paramètres des moyennes mobiles, il est possible d’adapter les transactions à différentes périodes.
Il est possible d’évaluer à la fois les tendances à la hausse et à la baisse, et de capturer les tendances dans les deux sens.
Il est possible qu’il y ait plus de faux signaux lors d’une secousse.
Il n’est pas possible de juger de la force ou de la faiblesse de la tendance, et il est possible que les pertes se reproduisent dans une tendance faible.
L’écart entre les moyennes mobiles est trop grand, et il est possible qu’il manque une partie de la situation.
La mauvaise configuration des paramètres de la ligne rapide et de la ligne lente affecte la qualité du signal de transaction.
La fréquence des transactions peut être trop élevée, ce qui augmente les coûts de transaction et le risque de glissement.
Il peut être amélioré en combinant des signaux de filtrage avec d’autres indicateurs, en évaluant la force ou la faiblesse de la tendance, en optimisant les paramètres, en contrôlant les risques, etc.
Ajouter des filtres d’indicateurs comme le MACD, le RSI et d’autres pour déterminer le moment d’acheter ou de vendre.
Ajouter des indicateurs de force de tendance, comme l’ADX, pour éviter de négocier dans une tendance faible.
Optimiser les paramètres des moyennes mobiles pour trouver la meilleure combinaison de paramètres
Définir une stratégie de stop-loss pour contrôler les pertes individuelles.
Il faut tenir compte du nombre de transactions et du contrôle des coûts, et ajuster la fréquence d’ouverture des positions.
Les signaux de tendance intercyclique sont identifiés en combinant plus d’analyses périodiques.
Développer des programmes d’optimisation automatique des paramètres, qui recherchent dynamiquement les paramètres les plus optimaux.
Cette stratégie utilise un HULL SMA plus sensible que les moyennes mobiles traditionnelles, permettant de détecter les changements de tendance plus tôt. Cependant, il est nécessaire d’optimiser le paramétrage et de l’accompagner d’autres indicateurs techniques pour réduire les signaux erronés.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("HULL EMA Crossover", overlay = true, process_orders_on_close = true)
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © spiritedPerson95700
inSession = true
HULL_INP = input.int(5, "Hull EMA Value")
EMA_INP = input(5, "EMA Value")
/// Indicator
HULL_EMA = ta.hma(close, HULL_INP)
EMA = ta.ema(close, EMA_INP)
prevSignal = ''
if (prevSignal == '')
prevSignal := HULL_EMA > EMA ? 'buy' : 'sell'
/// buy and sell signal
buy = ta.crossover(HULL_EMA, EMA)
short = ta.crossover(EMA, HULL_EMA)
sell = short
cover = buy
if inSession
if buy
prevSignal := 'na'
strategy.entry("long", direction = strategy.long, comment = "Buy")
if sell
prevSignal := 'na'
strategy.close("long", comment = "Sell")
if short
strategy.entry("short", direction = strategy.short, comment = "Short")
if cover
strategy.close("short", comment = "Cover")
plot(HULL_EMA, color = color.green)
plot(EMA, color = color.blue)
// if ( hour(time) == 15 and minute(time) > 25 )
// strategy.close("long", comment="EOD")
// strategy.close("short", comment="EOD")
// buy := false
// sell := false
// prevSignal := ''