Stratégie de suivi des tendances à seuil dynamique de la transformation de Fisher


Date de création: 2024-06-17 15:01:19 Dernière modification: 2024-06-17 15:01:19
Copier: 0 Nombre de clics: 590
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances à seuil dynamique de la transformation de Fisher

Aperçu

La stratégie de suivi des tendances de dépréciation dynamique de Fisher Conversion est basée sur l’indicateur de dépréciation de Fisher pour identifier les changements de tendance des prix. La stratégie utilise la transformation de Fisher pour normaliser les prix à une échelle standard afin de détecter plus facilement les points de revers potentiels. En ajustant dynamiquement les dépréciations, la stratégie est capable de s’adapter à différentes conditions de marché et d’améliorer l’exactitude de la reconnaissance des tendances.

Principe de stratégie

  1. Calculer la valeur de la transformation de Fisher: une transformation de Fisher entre -0.999 et 0.999 est obtenue en traitant le prix actuel de manière homogène en fonction des prix historiques les plus élevés et les plus bas.
  2. Thresholds dynamiques: ajustement dynamique des thresholds des signaux d’achat et de vente en fonction des fluctuations historiques des valeurs de conversion de Fisher pour s’adapter aux différentes conditions du marché.
  3. Détermination de la tendance: déterminer la variation de la tendance des prix en comparant la valeur actuelle de la variation de Fisher avec celle des deux périodes précédentes.
  4. Signaux de vente et d’achat: un signal d’achat est généré lorsque la valeur de la conversion de Fisher passe de bas en haut à travers la barre négative; un signal de vente est généré lorsque la valeur de la conversion de Fisher passe de haut en bas à travers la barre positive.

Analyse des avantages

  1. Ajustement dynamique de la marge: Adaptez la marge d’achat et de vente en fonction des fluctuations du marché, améliorez l’exactitude des jugements de tendance.
  2. Suivi des tendances: les indicateurs de tendances de la conversion de Fisher permettent de mieux saisir les tendances du marché et de réaliser des transactions de suivi des tendances.
  3. Réduire le bruit des prix: la transformation Fisher traite les prix de manière homogène, ce qui contribue à réduire l’influence du bruit des prix sur les jugements de tendance.
  4. Présentation intuitive des graphiques: la stratégie consiste à tracer la courbe de conversion de Fisher et la courbe de dérivation sur les graphiques, afin de permettre aux traders d’observer intuitivement les tendances du marché et les signaux d’achat et de vente.

Analyse des risques

  1. Risque d’optimisation des paramètres: la performance d’une stratégie dépend de la sélection de paramètres tels que le cycle de variation de Fisher, la méthode de calcul de la marge dynamique, et différents paramètres peuvent entraîner des résultats de transaction différents.
  2. La détection des tendances est retardée: l’indicateur de conversion de Fisher a un certain retard dans le jugement des tendances des prix et peut manquer une partie de la tendance.
  3. Faibles performances dans les marchés en turbulence: dans un environnement de marché en turbulence, des changements fréquents de tendance peuvent conduire à une plus grande quantité de faux signaux et à de mauvaises performances.
  4. Risque d’extrême situation: dans des situations extrêmes (comme des variations rapides et drastiques), l’indicateur de conversion de Fisher peut ne pas fonctionner, ce qui conduit la stratégie à prendre de mauvaises décisions de négociation.

Direction d’optimisation

  1. Optimisation des paramètres: optimisation des paramètres clés tels que le cycle de variation de Fisher, la méthode de calcul de la marge dynamique et l’adaptation des stratégies aux différentes conditions du marché.
  2. Filtrage des signaux: sur la base de l’identification des tendances, l’introduction d’autres indicateurs techniques ou d’indicateurs de l’humeur du marché permet une deuxième confirmation des signaux de négociation et améliore la fiabilité du signal.
  3. Stop-loss: définir des règles de stop-loss raisonnables, contrôler le risque d’une seule transaction et améliorer le rapport risque/bénéfice de la stratégie.
  4. Gestion des positions: Adaptez dynamiquement la taille des positions en fonction de la force des tendances du marché, de la volatilité des prix, etc. afin de réduire le risque de détention des positions.

Résumer

La stratégie de suivi de la tendance de dépréciation dynamique de Fisher consiste à changer l’indicateur et la dépréciation dynamique de Fisher, à identifier les changements de tendance des prix et à s’adapter aux différentes conditions du marché. Cette stratégie est capable de mieux capturer la tendance du marché et de réaliser des transactions de suivi de tendance. L’avantage de la stratégie réside dans l’ajustement de la dépréciation dynamique, la réduction de la perturbation du bruit des prix et la présentation intuitive du graphique.

Code source de la stratégie
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Qiuboneminer -  Fisher Transform", overlay=true)

// Parámetros
Len = input.int(10, minval=1)
mult1 = input.int(1, minval=1)
threshold = 2.6

// Función Fisher Transform
fish(Length, timeMultiplier) =>
    var float nValue1 = na
    var float nFish = na
    xHL2 = hl2
    xMaxH = ta.highest(xHL2, Length * timeMultiplier)
    xMinL = ta.lowest(xHL2, Length * timeMultiplier)
    nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
    nValue2 = if nValue1 > 0.99
        0.999
    else if nValue1 < -0.99
        -0.999
    else
        nValue1
    nFish := 0.5 * math.log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
    nFish

// Cálculo del Fisher Transform para mult1
Fisher1 = fish(Len, mult1)

// Condiciones de entrada y salida
longCondition = Fisher1 > nz(Fisher1[1]) and nz(Fisher1[1]) <= nz(Fisher1[2]) and Fisher1 < -threshold
shortCondition = Fisher1 < nz(Fisher1[1]) and nz(Fisher1[1]) >= nz(Fisher1[2]) and Fisher1 > threshold

// Estrategia de entrada
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Ploteo del Fisher Transform
plot(Fisher1, color=(Fisher1 > nz(Fisher1[1]) ? color.rgb(34, 255, 0) : color.rgb(255, 0, 212)), title="Fisher TF:1")

// Ploteo de líneas de umbral
hline(threshold, "Umbral Superior", color=color.rgb(255, 0, 0), linestyle=hline.style_dotted)
hline(-threshold, "Umbral Inferior", color=#008704, linestyle=hline.style_dotted)