Stratégie de trading à seuil dynamique à valeur normalisée à risque

SMA ATH ATL 风险归一化 动态阈值 止损策略 价格偏离度
Date de création: 2025-06-13 11:16:39 Dernière modification: 2025-06-13 11:16:39
Copier: 0 Nombre de clics: 251
2
Suivre
319
Abonnés

Stratégie de trading à seuil dynamique à valeur normalisée à risque Stratégie de trading à seuil dynamique à valeur normalisée à risque

Aperçu

La stratégie de négociation de dépréciation dynamique de la valeur de risque normalisée est une méthode de négociation quantitative basée sur l’écart entre le prix et la moyenne mobile à long terme. La stratégie obtient un indice de risque compris entre 0 et 1 en calculant la différence parallèle entre le prix actuel et la moyenne mobile simple à 374 cycles, et en procédant à un traitement normalisé.

Principe de stratégie

Le principe central de cette stratégie est de quantifier l’état de risque du marché en standardisant la valeur de risque, qui guide ensuite les décisions de négociation. Les étapes de calcul sont les suivantes:

  1. La moyenne mobile simple (SMA) de 374 cycles est utilisée comme référence pour les tendances à long terme.
  2. Calculer la différence parallèle entre le prix de clôture actuel et le SMA de 374 cycles, et multiplier par le facteur temps (à 0,395 fois le bar_index) pour obtenir la valeur de risque initiale.
  3. Suivre et enregistrer les hauts et les bas historiques de la valeur de risque initiale (ATH) et (ATL)
  4. La valeur de risque initiale est normalisée pour une portée comprise entre 0 et 1.
  5. Différentes seuils de transaction sont définis en fonction de la valeur de risque normalisée:
    • Risque inférieur à 0,3: déclencher un signal d’achat
    • Risque supérieur à 0,6 ou 0,7: déclenchement d’un signal polyphonique
    • Risque supérieur à 0,7: déclencheur de signal de vente
    • Risque inférieur à 0,4: déclenchement d’un signal de vide

La stratégie dispose également d’un mécanisme de stop-loss avec un nombre de points fixe (de 5 points) pour contrôler la perte maximale d’une seule transaction. De plus, la stratégie affiche intuitivement les positions des signaux sur le graphique grâce à la fonctionnalité de balises, ce qui permet aux traders d’identifier les opportunités de trading potentielles.

Avantages stratégiques

  1. La quantification du risque: simplifier les états de marché complexes en utilisant un traitement standardisé pour des indicateurs de risque entre 0 et 1, intuitifs et faciles à comprendre, pour faciliter les décisions de négociation.

  2. La capacité d’adaptation: Utilisation des hauts et des bas historiques pour une homogénéisation, permettant à l’indicateur de s’adapter à différents environnements de marché et caractéristiques cycliques, évitant ainsi les limites des paramètres fixes.

  3. Principe de régressionLa stratégie est basée sur la mesure dans laquelle les prix sont éloignés de la moyenne à long terme, ce qui correspond à la caractéristique de la régression de la valeur moyenne des marchés financiers.

  4. Adaptation au facteur temps: En introduisant un facteur de temps (partie 0.395 de l’indice bar), le calcul du risque s’ajuste de manière dynamique au fil du temps, plus conforme aux lois de l’évolution du marché.

  5. Le mécanisme de gestion des risquesLe paramètre de stop-loss intégré permet de contrôler directement la perte maximale d’une transaction, ce qui contribue à la sécurité de vos fonds.

  6. Signaux visuels: La position des signaux est clairement marquée par des étiquettes, ce qui réduit la difficulté de jugement des traders et améliore l’utilité de la stratégie.

  7. Les paramètres sont concis: moins de paramètres de base, moins de risques de suradaptation, plus de capacité d’adaptation des stratégies aux différentes conditions du marché

Risque stratégique

  1. Décalage des moyennes mobiles à long termeLe SMA de 374 cycles présente un retard significatif, qui peut entraîner des retards de signal et manquer les meilleurs moments d’entrée ou de sortie dans un marché en évolution rapide.

  2. Le stop-loss fixe ne s’adapte pas à la volatilitéLa stratégie utilise un nombre de points fixe comme critère de stop-loss, sans tenir compte des variations de volatilité entre les marchés et les périodes, ce qui peut entraîner un stop-loss trop lâche ou trop serré.

  3. Sensibilité à la valeur limite: les signaux de négociation stratégiques dépendent fortement des seuils de risque prédéfinis ((0.3, 0.4, 0.6, 0.7), ces seuils fixes peuvent ne pas s’appliquer à tous les environnements de marché).

  4. Limitation de l’uniformisationL’utilisation de valeurs historiques extrêmes pour la normalisation peut nécessiter un réajustement en cas de nouvelles situations extrêmes, et l’insuffisance de données historiques peut entraîner une inexactitude de la normalisation.

  5. Risques de déviation: la stratégie repose sur des valeurs de risque historiques maximum/minimum, ce qui peut entraîner un écart de fonction future dans la rétroaction prospective, et l’effet de la pratique réelle peut être inférieur aux résultats de la rétroaction.

  6. Défi d’optimisation des paramètresLes paramètres clés tels que les cycles SMA, les marges de risque et les points de rupture doivent être optimisés pour différents marchés, ce qui augmente la complexité de l’ajustement de la stratégie.

Les solutions comprennent: l’utilisation d’un mécanisme d’arrêt adaptatif pour remplacer l’arrêt de points fixes; l’introduction d’un indicateur de volatilité pour ajuster la marge de risque; l’adoption d’un signal de confirmation à plusieurs cycles; l’ajout de conditions de filtrage de tendance pour éviter les transactions rétrogrades; la confirmation du signal en combinaison avec d’autres indicateurs techniques, etc.

Orientation de l’optimisation de la stratégie

  1. Les mécanismes d’arrêt de dommages: Modifier le stop-loss à points fixes en stop-loss dynamique basé sur l’ATR (amplitude de fluctuation réelle), permettant aux niveaux de stop-loss de s’adapter automatiquement à la volatilité du marché, par exemple en définissant la distance de stop-loss sur 1,5 fois l’ATR.

  2. Dévaluation du risque dynamique: modifier les seuils de risque fixes ((0.3, 0.4, 0.6, 0.7) en seuils ajustés en fonction de la dynamique du marché. Vous pouvez envisager d’ajuster ces seuils à l’aide d’indicateurs de volatilité ou de force de tendance.

  3. Ajouter un filtre de tendance: introduire des mécanismes de jugement de tendance, par exemple en utilisant la direction des moyennes mobiles à plus longs cycles ou l’indicateur ADX, pour négocier uniquement dans la direction de la tendance dominante et éviter les opérations de contre-courant.

  4. Mécanisme de confirmation du signal: augmentation des exigences de confirmation du signal, par exemple en exigeant que l’indicateur de risque reste au-delà du seuil pendant plusieurs cycles consécutifs avant de déclencher le signal, afin de réduire les faux signaux.

  5. Filtre à l’heure: augmenter les limites de la fenêtre de temps de négociation, éviter les périodes de négociation connues pour être inefficaces ou à forte volatilité, améliorer la qualité du signal.

  6. Optimisation des cycles de la moyenne mobile: tester différents cycles SMA (comme 200, 300, 450, etc.) en remplacement des cycles 374 fixes, pour trouver des paramètres plus adaptés à un marché particulier.

  7. Amélioration de la gestion des fondsIntroduction d’un mécanisme de gestion dynamique des positions, en ajustant le pourcentage de fonds par transaction en fonction du niveau absolu de la valeur du risque et du taux de variation, afin de parvenir à un équilibre des risques.

  8. Cadre d’analyse à cycles multiplesStratégie d’expansion: pour prendre en compte les indicateurs de risque de plusieurs périodes de temps, les transactions ne sont exécutées que lorsque les signaux de différentes périodes sont cohérents, ce qui améliore la fiabilité du signal.

Ces orientations d’optimisation visent à améliorer l’adaptabilité des stratégies, à réduire les faux signaux, à optimiser la gestion des risques et à améliorer la performance globale. En combinant plusieurs points d’optimisation, il est possible de construire un système de négociation plus robuste.

Résumer

La stratégie de négociation de dépréciation dynamique de la valeur de risque normalisée est une méthode de négociation quantitative basée sur l’écart entre le prix et la moyenne mobile à long terme, qui guide les décisions de négociation en calculant et en normalisant les indicateurs de risque. La stratégie simplifie les conditions de marché complexes en valeurs de risque entre 0 et 1, reflétant intuitivement les conditions de survente et de survente du marché.

Les principaux avantages de la stratégie résident dans sa capacité d’adaptation et de quantification du risque, ainsi que dans son traitement homogène par le suivi dynamique des pics historiques, ce qui permet aux indicateurs de s’adapter aux différentes conditions du marché. En outre, le mécanisme de stop-loss intégré fournit des fonctions de contrôle du risque de base.

Cependant, la stratégie présente également des limites telles que le retard des moyennes mobiles à long terme, la dépréciation fixe et le fait que les arrêts ne s’adaptent pas aux changements du marché. Afin d’améliorer la performance de la stratégie, des mesures d’optimisation telles que l’introduction d’un mécanisme d’arrêt dynamique, de dépréciation adaptative au risque, de filtres de tendance et de confirmation à plusieurs cycles peuvent être envisagées.

Dans l’ensemble, la stratégie de négociation de dépréciation dynamique de la valeur de risque normalisée offre une méthode systématique pour identifier l’état de risque du marché et guider les décisions de négociation, adaptée en tant qu’outil auxiliaire pour la négociation à moyen et long terme. Grâce à une optimisation des paramètres et une gestion des risques raisonnables, la stratégie a le potentiel de maintenir une performance stable dans différents environnements de marché.

Code source de la stratégie
/*backtest
start: 2025-05-13 00:00:00
end: 2025-06-11 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
//@author=Skywalking2874
strategy("Risk Trading Strategy", overlay=false, max_bars_back=5000)

// 输入参数
risk_prices = input.bool(true, "Display the price corresponding with risk thresholds")

// 计算指标值
find_ath(_src) => 
    var ath = 0.0
    if _src > ath
        ath := _src
    ath

find_atl(_src) =>
    var atl = 2.5
    if _src < atl
        atl := _src
    atl

threeseventyfour = ta.sma(close, 374)
average = (math.log(close) - math.log(threeseventyfour)) * math.pow(bar_index, 0.395)
highest_value = find_ath(average)
lowest_value = find_atl(average)
average_normalized = (average - lowest_value) / (highest_value - lowest_value)

// 绘图
plot(average_normalized, color=color.new(color.blue, 0), title="Risk")

// 交易信号定义
longCondition = average_normalized < 0.3
exitLongCondition1 = average_normalized >= 0.6
exitLongCondition2 = average_normalized >= 0.7
shortCondition = average_normalized > 0.7
exitShortCondition = average_normalized <= 0.4

// 执行交易
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Stop Loss", "Buy", stop=close - 5 * syminfo.pointvalue)

if (exitLongCondition1 or exitLongCondition2)
    strategy.close("Buy")

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Stop Loss", "Sell", stop=close + 5 * syminfo.pointvalue)

if (exitShortCondition)
    strategy.close("Sell")

// 绘制标签
if (risk_prices)
    price_zero = threeseventyfour * math.exp((0.0*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_three = threeseventyfour * math.exp((0.3*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_four = threeseventyfour * math.exp((0.4*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_six = threeseventyfour * math.exp((0.6*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    price_point_seven = threeseventyfour * math.exp((0.7*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
    
    label.new(bar_index, price_zero, "Buy Signal", color=color.green, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_three, "Exit Long Signal", color=color.blue, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_four, "Exit Short Signal", color=color.orange, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_six, "Exit Long Signal 2", color=color.blue, textcolor=color.white, style=label.style_label_up)
    label.new(bar_index, price_point_seven, "Sell Signal", color=color.red, textcolor=color.white, style=label.style_label_up)