Les ressources ont été chargées... Je charge...

Stratégie de négociation croisée des moyennes mobiles à double coque

Auteur:ChaoZhang est là., Date: 2023-10-11 14:49:54 Je suis désolé
Les étiquettes:

Cette stratégie utilise principalement le croisement de deux moyennes mobiles Hull de délais différents pour déterminer les tendances du marché et effectuer des transactions longues et courtes.

La logique de la stratégie

La stratégie utilise deux moyennes mobiles Hull, l'une de 60 périodes et l'autre de 175 périodes.

  1. hullma est la moyenne mobile de la coque à 60 périodes, calculée par la fonction wma.

  2. ahullma est la moyenne mobile Hull à 175 périodes, calculée par la fonction wma.

  3. Lorsque la coque traverse la coque vers le haut, une croix dorée se produit, donnant un long signal.

  4. Lorsque l'hélice traverse l'hélice vers le bas, une croix de la mort se produit, donnant un court signal.

  5. longCondition et shortCondition déterminent respectivement les conditions d'entrée longues et courtes.

  6. La fonction strategy.entry est utilisée pour exécuter des transactions longues et courtes.

La stratégie utilise le principe de croisement pour capturer les changements de tendance en utilisant les croisements entre les moyennes mobiles à court et à long terme, pour le profit.

Analyse des avantages

  1. La moyenne mobile Hull réagit plus rapidement aux variations de prix.

  2. Le principe du croisement est simple et facile à mettre en œuvre.

  3. La combinaison de 60 et 175 périodes reflète les tendances à moyen terme.

  4. Paramètres de période personnalisables pour différents marchés.

  5. Applicable à la négociation intrajournalière et à la négociation de positions.

Analyse des risques

  1. Les croisements ont un certain retard de signal.

  2. Plus de faux signaux de MA à court terme.

  3. Les croisements fréquents peuvent entraîner des pertes sur les marchés à fourchette.

  4. Les paramètres de période erronés ne peuvent pas capturer les changements de tendance.

  5. Il faut optimiser les paramètres pour différents symboles.

Les risques peuvent être atténués en ajoutant des filtres, en optimisant les paramètres, en permettant des arrêts plus larges.

Directions d'optimisation

  1. Testez différentes combinaisons de MA pour trouver les périodes optimales.

  2. Ajouter des indicateurs de tendance pour le filtrage des signaux.

  3. Optimiser la stratégie de stop loss pour réduire les arrêts fréquents.

  4. Ajustez les périodes pour les différents symboles.

  5. Ajoutez l'apprentissage automatique pour optimiser dynamiquement les paramètres.

Résumé

Cette stratégie utilise des principes de croix d'or et de croix de mort pour déterminer les tendances en utilisant des croisements doubles de la moyenne mobile Hull. Il s'agit d'un système typique de moyenne mobile double à court terme. Les avantages sont une logique simple et une mise en œuvre facile, captant des tendances à court terme rapides. Les inconvénients sont de faux signaux élevés et des problèmes de retard. Des améliorations peuvent être apportées via l'optimisation des paramètres, le filtrage des signaux, etc. C'est une stratégie de trading à court terme qui vaut la peine d'être étudiée.


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

//@version=4
strategy(title = "Hull MA", shorttitle="Junior2", overlay = true)

//HULL MA 1

length = input(60, minval=1,title="HULL MA 1 LENGTH")
src = input(close, title="Source")
hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))

plot(hullma, color=color.green)

//HULLMA 2

alength = input(175, minval=1,title="HULL MA 2 LENGTH")
asrc = input(close, title="Source")
ahullma = wma(2*wma(asrc, alength/2)-wma(asrc, alength), round(sqrt(alength)))

plot(ahullma, color=color.green)

c1up= crossover(hullma,ahullma)
c1down= crossunder(hullma,ahullma)

longCondition = c1up
if longCondition

    strategy.entry("L", strategy.long)


shortCondition = c1down 
if shortCondition

    strategy.entry("S", strategy.short)

plot(close)

Plus de