Tendance de la moyenne mobile de la coque selon la stratégie

Auteur:ChaoZhang est là., Date: 2023-11-02 14:57:37 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie est basée sur l'indicateur Hull Moving Average pour construire une tendance suivant le système de trading.

La logique de la stratégie

Cette stratégie utilise la moyenne mobile de Hull comme indicateur technique principal.

Plus précisément, la moyenne mobile de Hull contient deux moyennes - l'une est la moyenne mobile MA (n) de la période n, l'autre est la moyenne mobile MA (n/2) de la période n/2.

Lorsque la courbe de Hull descend, la moyenne mobile à courte période passe au-dessus de la moyenne mobile à plus longue période, ce qui donne un signal long.

Cette stratégie fixe la période n de la courbe de Hull à 16. Elle calcule la MA à 8 périodes (n/2=8), la MA à 16 périodes et la différence entre elles pour obtenir la courbe de Hull. Elle prend ensuite la MA à 4 périodes (racine carrée de n=4) de la courbe de Hull elle-même.

Analyse des avantages

Comparé aux moyennes mobiles ordinaires, la moyenne mobile Hull présente les avantages suivants:

  1. En utilisant une fonction de racine carrée, la courbe de Hull embrasse l'action des prix plus près et est plus rapide pour attraper les renversements de tendance.

  2. La courbe Hull peut filtrer un peu de bruit et éviter les transactions inutiles.

  3. La courbe Hull n'a besoin que d'un seul paramètre n, ce qui facilite l'optimisation.

  4. La valeur n de la courbe Hull peut être ajustée pour différents marchés et adaptée à différents instruments.

  5. Systématique: le système Hull est robuste et évite la sélection manuelle, adhérant à la cohérence des systèmes de négociation mécanique.

Analyse des risques

Malgré ses avantages par rapport aux systèmes de moyennes mobiles, le système Hull comporte toujours les risques suivants:

  1. En tant que stratégie de poursuite des tendances, les systèmes Hull sont enclins à s'arrêter lors de changements drastiques de tendance.

  2. La réaction rapide des courbes de Hull peut augmenter la fréquence des transactions et conduire à des surtrades.

  3. La suroptimisation des paramètres. Avoir un seul paramètre n peut entraîner des risques d'ajustement de courbe de la suroptimisation.

  4. L'efficacité varie selon les instruments. Le système Hull fonctionne moins bien pour les instruments à forte volatilité. Les paramètres doivent être ajustés en conséquence.

Directions d'amélioration

Compte tenu des limites susmentionnées, la stratégie de la moyenne mobile de Hull peut être améliorée dans les aspects suivants:

  1. Ajoutez des filtres avec des indicateurs supplémentaires pour éviter les faux croisements.

  2. Ajouter des stratégies de stop-loss pour contrôler les pertes d'une seule transaction, par exemple avec des stops de trailing ou des stops de profit.

  3. Optimiser la sélection du paramètre n pour éviter une sur-optimisation.

  4. Utiliser des modèles d'apprentissage automatique comme les RNN pour optimiser dynamiquement les valeurs des paramètres.

  5. Optimiser les paramètres séparément pour les différents instruments en utilisant l'apprentissage automatique.

  6. Optimiser la taille des positions pour réduire la fréquence des transactions.

Conclusion

La stratégie Hull Moving Average est une stratégie typique de suivi des tendances. Malgré ses avantages par rapport aux MA, elle fait toujours face à des problèmes tels que la surexploitation et le surtrading. Nous pouvons améliorer la stratégie grâce à l'optimisation des paramètres, au stop loss, à la dimensionnement des positions, etc. Le système Hull est simple et pratique. Il mérite une recherche et une amélioration supplémentaires en incorporant plus d'indicateurs et de techniques pour construire un système de trading robuste.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's HullMA Strategy", shorttitle = "HullMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
n = input(title = "HullMA period", defval=16)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//HullMA
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
ma=plot(n1,color=c)
    
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if n1 > n2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if n1 < n2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if true
    strategy.close_all()

Plus de