Stratégie d'optimisation du taux de changement

Auteur:ChaoZhang est là., Date: 20 février 2024
Les étiquettes:

img

Résumé

Cette stratégie optimise la stratégie originale de taux de changement (ROC).

  1. Introduire la valeur historique maximale du ROC pour une comparaison dynamique avec le ROC actuel afin d'obtenir la valeur relative de la dynamique.
  2. Lisser la valeur relative de la dynamique pour générer des signaux.
  3. Ajouter des seuils de signaux d'achat et de vente.

Grâce à ces mesures d'optimisation, de nombreux signaux non valides peuvent être filtrés pour rendre la stratégie plus stable et fiable.

Principe de stratégie

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.

Analyse des avantages

Comparée à la stratégie initiale de ROC, cette stratégie présente les principaux avantages suivants:

  1. L'introduction d'une comparaison des valeurs ROC maximales historiques permet de mesurer efficacement le niveau relatif des indicateurs de dynamique et de filtrer les signaux non valides avec des valeurs absolues qui ne sont pas suffisamment élevées.
  2. Le traitement en douceur filtre le bruit et rend les signaux plus stables et fiables.
  3. La fixation de seuils d'achat et de vente réduit les transactions invalides.

En général, cette stratégie traite efficacement l'indicateur ROC pour le rendre plus adapté aux transactions en direct.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. L'indicateur ROC ne permet pas de déterminer les tendances du marché et présente certaines erreurs.
  2. Les seuils d'achat et de vente ne sont pas parfaits.
  3. Des paramètres SMA incorrects affecteront également les résultats de la stratégie.

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.

Directions d'optimisation

La stratégie peut être optimisée de la manière suivante:

  1. Combiner les indicateurs de tendance pour déterminer l'orientation globale du marché et éviter les échecs lors de la conversion taureau-ours.
  2. Testez les paramètres de longueur ROC et les paramètres de seuil d'achat et de vente pour trouver des combinaisons optimales de paramètres.
  3. Optimiser les paramètres de lissage SMA pour trouver les meilleurs paramètres.
  4. Augmenter le mécanisme de stop loss.

Résumé

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")


Plus de