Cette stratégie implémente le trading quantitatif en calculant la moyenne mobile de Hull et ses bandes de pourcentage pour prendre des décisions d'entrée et de stop-loss. Ses avantages incluent des paramètres réglables, une mise en œuvre simple et un stop-loss strict.
Calculer la taille moyenne mobile de la coque avec la longueur de la longueur.
Les bandes de pourcentages de graphique xL1, xL3, xL2, xL4 sont basées sur la taille de la coque.
Longue lorsque la fermeture est inférieure à xL2 ou xL4, longue lorsque la fermeture est supérieure à xL1, xL2 ou xL3.
Les avantages sont les suivants:
HullMA est sensible aux variations de prix et suit bien les tendances.
Les bandes de pourcentage sont très réglables pour différents produits.
La stratégie des deux bandes filtre efficacement les mauvais signaux.
La stratégie stop-loss contrôle efficacement les risques.
Quelques risques:
Je poursuis les sommets et tue les sommets.
Une déviation due à des transactions fréquentes.
Un réglage incorrect des paramètres conduit à une survente.
La position Stop Loss a besoin d'une optimisation itérative.
Quelques conseils pour optimiser:
Optimiser le paramètre de longueur de coque MA pour différents produits.
Optimiser les bandes de pourcentage pour réduire les mauvaises transactions.
Ajoutez des opérations à court terme pour obtenir plus de bénéfices.
Optimiser la stratégie de stop loss pour assurer son efficacité.
Tester la robustesse sur différents produits.
Avec des avantages et des inconvénients clairs, et des optimisations supplémentaires sur les paramètres et les fonctionnalités, il peut devenir une stratégie quant très pratique.
/*backtest start: 2023-03-01 00:00:00 end: 2024-02-29 00:00:00 period: 5d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("hullma percentage lines", overlay=true) length = input(9, minval=1) src = input(close, title="Source") hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length))) plot(hullma) Uband1 = input(3, minval=1, step = .5) Lband1 = input(3, minval=1, step = .5) Uband2 = input(6, minval=1, step = .5) Lband2 = input(6, minval=1, step = .5) v1 = Uband1+100 v2 = 100 - Lband1 v3 = Uband2+100 v4 = 100 - Lband2 xL1 = (hullma / 100) * v1 xL2 = (hullma / 100) * v2 xL3 = (hullma / 100) * v3 xL4 = (hullma / 100) * v4 plot(xL1, color=yellow, title="H1") plot(xL2, color=yellow, title="L1") plot(xL3, color=yellow, title="H2") plot(xL4, color=yellow, title="L2") longCondition1 = crossover(close, xL4) if (longCondition1) strategy.entry("l1", strategy.long) longCondition2 = crossover(close, xL2) if (longCondition2) strategy.entry("l1", strategy.long) shortCondition1 = crossover(close, xL1) if (shortCondition1) strategy.close("l1", strategy.long) shortCondition2 = crossover(close, xL2) if (shortCondition2) strategy.close("l1", strategy.long) shortCondition3 = crossover(close, xL3) if (shortCondition3) strategy.close("l1", strategy.long)