Stratégie de tendance basée sur le croisement HULL SMA et EMA

Auteur:ChaoZhang est là., Date: 2023-10-30 à 12h32
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux d'achat et de vente en calculant le croisement entre la ligne de moyenne mobile lissée HULL et la ligne de moyenne mobile exponentielle pour déterminer la direction de la tendance du marché.

La logique de la stratégie

  1. Calculez la moyenne mobile lissée HULL (HULL SMA) de 5 périodes.

  2. Calculer la moyenne mobile exponentielle (EMA) sur 5 périodes.

  3. Générer des signaux d'achat et de vente basés sur le croisement entre HULL SMA et EMA.

  • Lorsque la HULL SMA dépasse la EMA, un signal d'achat est généré, indiquant que la tendance à court terme dépasse la tendance à long terme, ce qui suggère un mouvement à la hausse des prix.

  • Lorsque le HULL SMA traverse le seuil inférieur à l'EMA, un signal de vente est généré, indiquant la tendance à court terme à la baisse, suggérant un mouvement de prix à la baisse.

  1. Utiliser la SMA HULL comme ligne rapide et la EMA comme ligne lente pour déterminer les changements des tendances à court et à moyen terme basés sur le croisement, générant des signaux de trading.

Analyse des avantages

  1. La SMA HULL est sensible aux variations de prix et peut détecter les variations de tendance plus tôt.

  2. L'EMA atténue le bruit du marché et suit les tendances à long terme.

  3. Les signaux croisés captent les points de basculement de la tendance en temps opportun.

  4. Les paramètres peuvent être ajustés pour différentes périodes de négociation.

  5. Capture les tendances à la hausse et à la baisse de manière flexible.

Analyse des risques

  1. Plus de faux signaux peuvent se produire sur les marchés à fourchette.

  2. L'incapacité de déterminer la force de la tendance peut entraîner des pertes répétées dans les tendances faibles.

  3. Les mouvements de prix entre les intervalles de moyenne peuvent être négligés.

  4. Des paramètres incorrects affectent la qualité du signal.

  5. Une fréquence de négociation élevée augmente les coûts et les risques de dérapage.

Des améliorations peuvent être apportées par filtrage des signaux, évaluation de la force de la tendance, optimisation des paramètres, gestion des risques, etc.

Directions d'optimisation

  1. Ajoutez des indicateurs comme MACD, RSI pour la confirmation du signal.

  2. Incorporer des indicateurs de force de tendance comme ADX pour éviter de négocier des tendances faibles.

  3. Optimiser les paramètres de moyenne mobile pour les meilleures combinaisons.

  4. Mettre en œuvre un stop loss pour contrôler les pertes d'une seule transaction.

  5. Gérer la fréquence des échanges et les coûts.

  6. Incorporer une analyse de plusieurs périodes pour identifier les tendances transversales.

  7. Développer des programmes d'optimisation des paramètres automatiques.

Résumé

Cette stratégie juge la tendance en fonction du croisement entre la SMA HULL rapide et la EMA lente. C'est un système de croisement de moyenne mobile typique. Par rapport aux moyennes mobiles traditionnelles, la SMA HULL plus réactive permet une détection plus précoce des changements de tendance. Mais les paramètres et les indicateurs supplémentaires doivent être optimisés pour réduire les faux signaux. Avec une bonne gestion des risques et de l'argent, cette stratégie peut être un système de suivi de tendance à moyen terme efficace.


/*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 := ''


Plus de