
La stratégie est basée sur l’optimisation de l’amélioration du taux de variation de l’indicateur de dynamique ((ROC)). Par rapport à la stratégie de ROC originale, la stratégie est optimisée comme suit:
Grâce à ces optimisations, de nombreux signaux inefficaces peuvent être filtrés, ce qui rend la stratégie plus stable et plus fiable.
Le principal indicateur de cette stratégie est le taux de variation (ROC). Le ROC mesure le taux de variation du prix d’une action sur une période donnée. La stratégie calcule d’abord un ROC de 9 cycles de longueur.
L’intensité relative est traitée en douceur par le SMA de longueur 10, qui filtre les fluctuations à court terme pour obtenir une courbe de douceur. Lorsque la courbe de douceur est en hausse pendant 3 jours consécutifs et que la valeur est inférieure à -80%, considérez que la baisse des cours de l’action a commencé à ralentir et produit des signes de fond, donc faites plus; lorsque la courbe de douceur est en baisse pendant 3 jours consécutifs et que la valeur est supérieure à 80%, considérez que la hausse des cours de l’action a commencé à ralentir et produit des signes de sommet, donc plafonnement.
La stratégie présente principalement les avantages suivants par rapport à la stratégie ROC originale:
Dans l’ensemble, la stratégie a permis de procéder à un traitement secondaire efficace de l’indicateur ROC, ce qui le rend plus adapté à la négociation sur le marché réel.
La stratégie présente principalement les risques suivants:
Pour réduire les risques mentionnés ci-dessus, il est possible de combiner les indicateurs de tendance pour déterminer la tendance majeure; ajuster les paramètres de seuil, tester les paramètres optimaux; optimiser les paramètres de cycle SMA.
Cette stratégie peut être optimisée dans les directions suivantes:
Cette stratégie est une stratégie d’optimisation du développement secondaire basée sur les indicateurs de ROC. Elle introduit des méthodes telles que la comparaison des valeurs maximales historiques, l’aplatissement SMA et la dépréciation des valeurs d’achat et de vente, qui peuvent filtrer les signaux inefficaces et rendre la stratégie plus stable. Le principal avantage est la qualité du signal, adaptée au marché réel.
/*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")