Cette stratégie optimise la stratégie originale de taux de changement (ROC).
Grâce à ces mesures d'optimisation, de nombreux signaux non valides peuvent être filtrés pour rendre la stratégie plus stable et fiable.
L'indicateur de base de cette stratégie est le taux de changement (ROC). ROC mesure le taux de changement des cours des actions sur une certaine période. Cette stratégie calcule d'abord la valeur de ROC sur une période de 9. Ensuite, elle enregistre la valeur maximale de cet indicateur ROC au cours des 200 dernières périodes et calcule le ROC actuel en pourcentage du ROC historique maximum pour obtenir la force relative de l'élan. Par exemple, si le ROC le plus élevé au cours des 200 derniers jours a atteint 100, alors la force relative est de 80% lorsque le ROC d'aujourd'hui est de 80.
La force relative est lissée par une SMA à 10 périodes pour filtrer les fluctuations à court terme et obtenir une courbe lisse. Lorsque la courbe lisse augmente continuellement pendant 3 jours et que la valeur est inférieure à -80%, on considère que la baisse du prix de l'action commence à ralentir et que le signe du bas apparaît, donc allez long; lorsque la courbe lisse tombe continuellement pendant 3 jours et que la valeur est supérieure à 80%, on considère que l'augmentation du prix de l'action commence à ralentir et que le signe supérieur apparaît, donc position proche.
Comparée à la stratégie initiale de ROC, cette stratégie présente les principaux avantages suivants:
En général, cette stratégie traite efficacement l'indicateur ROC pour le rendre plus adapté aux transactions en direct.
Les principaux risques de cette stratégie sont les suivants:
Pour réduire les risques susmentionnés, il convient de combiner les indicateurs de tendance pour déterminer les principales tendances; ajuster les paramètres de seuil et tester les paramètres optimaux; optimiser les paramètres du cycle SMA.
La stratégie peut être optimisée de la manière suivante:
Il s'agit d'une stratégie d'optimisation basée sur le développement secondaire de l'indicateur ROC. Il introduit des moyens tels que la comparaison des valeurs maximales historiques, l'assouplissement de la SMA et les seuils d'achat et de vente pour filtrer les signaux non valides et rendre la stratégie plus stable. Le principal avantage est la haute qualité du signal qui convient au trading en direct. Des améliorations de suivi peuvent être apportées en combinant les tendances, l'optimisation des paramètres et ainsi de suite pour améliorer davantage les performances de la stratégie.
/*backtest start: 2024-02-12 00:00:00 end: 2024-02-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2) //length = input.int(9, minval=1) //source = input(close, "Source") //roc = 100 * (source - source[length])/source[length] //plot(roc, color=#2962FF, title="ROC") //hline(0, color=#787B86, title="Zero Line") length = input.int(9, minval=1, title="Length") maxHistory = input(200, title="Max Historical Period for ROC") lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC") lenghtBUY = input.int(-80, title="Buy Threshold") lenghtSELL = input.int(80, title="Buy Threshold") source = close roc = 100 * (source - source[length]) / source[length] // Calculate the maximum ROC value in the historical period maxRoc = ta.highest(roc, maxHistory) // Calculate current ROC as a percentage of the maximum historical ROC rocPercentage = (roc / maxRoc) * 100 rocPercentageS = ta.sma(rocPercentage, lenghtSmooth) if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY strategy.entry("Buy", strategy.long) if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL strategy.close("Buy") plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC") plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC") hline(0, color=color.new(color.gray, 0), title="Zero Line")