Stratégie de suivi de tendance adaptative Stop Loss


Date de création: 2023-10-17 14:04:28 Dernière modification: 2023-10-17 14:04:28
Copier: 0 Nombre de clics: 878
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance adaptative Stop Loss

Aperçu

La stratégie utilise la méthode des arrêts de suivi de la volatilité Wilder, combinée à l’indicateur ATR et à différents types de moyennes mobiles, pour réaliser une stratégie de stop-loss de suivi de tendance très adaptable.

Principe de stratégie

Au cœur de cette stratégie se trouve l’algorithme Wilder volatility trailing stop. Il calcule d’abord l’indicateur ATR, la longueur et le multiplicateur de l’indicateur ATR en fonction des paramètres d’entrée, pour obtenir une ligne de stop dynamique. Ensuite, en combinant le prix de clôture, le prix le plus élevé et l’option parmi les prix les plus bas, il met à jour en permanence le haut et le bas de la ligne de stop.

Dans le code, il est d’abord possible de réaliser plusieurs moyennes mobiles, telles que RMA, EMA, SMA, Hull MA, etc., via la fonction f_ma. Ensuite, le facteur ATR est calculé, multiplié par le multiplicateur défini par l’utilisateur, pour obtenir une ligne de stop basée sur la volatilité. La fonction highest et lowest suit les points les plus élevés et les plus bas de la ligne de stop et effectue des transactions lorsque le prix franchit la ligne de stop.

Cette stratégie utilise l’indicateur ATR, les différents types de moyennes et paramètres pour réaliser une stratégie de suivi de la tendance très adaptative. Elle est capable de suivre efficacement la tendance et de s’arrêter lorsque le marché se replie de manière significative.

Analyse des avantages

  • La stratégie utilise tout d’abord l’algorithme Wilder Volatility Trailing Stop, une méthode éprouvée et fiable de suivi des tendances.

  • La stratégie consiste à utiliser l’indicateur ATR pour calculer dynamiquement la ligne de stop-loss, ce qui permet d’éviter que le point de stop-loss ne soit trop rigide. L’indicateur ATR peut refléter efficacement la volatilité et le niveau de risque du marché.

  • Le code permet de choisir entre plusieurs types de marges, telles que RMA, EMA, SMA, Hull MA, ce qui améliore l’adaptabilité de la stratégie.

  • En ajustant la longueur et la multiplicité des paramètres de l’ATR, il est possible de trouver des paramètres optimaux pour différents marchés et d’optimiser l’efficacité de la stratégie.

  • La stratégie utilise différentes options de prix, telles que le prix le plus élevé, le prix le plus bas et le prix de clôture, pour calculer la limite de perte, qui peut être optimisée pour différentes variétés.

  • Dans l’ensemble, la stratégie est une stratégie de suivi des tendances et de stop-loss fiable, adaptable et facile à optimiser.

Analyse des risques

  • La stratégie repose principalement sur l’optimisation des paramètres, et les tests doivent être effectués pour trouver la combinaison appropriée d’ATR et de paramètres de multiplication pour différents marchés et variétés, sinon l’efficacité de l’arrêt de perte peut être médiocre.

  • Dans une situation de choc, la ligne de stop ATR peut être fréquemment déclenchée. Il est nécessaire d’optimiser les indicateurs de jugement de tendance pour éviter de manquer la tendance de choc.

  • Une ligne d’arrêt trop lâche risque de manquer l’occasion de retirer un arrêt; une ligne trop serrée risque d’augmenter la fréquence des transactions et le coût des points de glissement. Des tests minutieux sont nécessaires pour trouver un point d’équilibre.

  • Une variété d’équivalents peut entraîner une déviation de l’efficacité de la stratégie. Un équivalent principal doit être choisi pour chaque variété, les autres étant des références secondaires.

  • Cette stratégie est axée sur le suivi des tendances et ne peut pas générer de bénéfices directs. L’utilisation en combinaison avec d’autres stratégies de sortie de marché ou de cessez-le-feu doit être considérée.

  • Si le paramètre n’est pas en place, la stratégie peut avoir des problèmes d’opérations trop fréquentes ou de longues périodes de détention. Cela doit être résolu par une optimisation.

Direction d’optimisation

  • Il est possible d’envisager d’inclure des indicateurs de tendance pour déterminer si une tendance existe ou non et éviter d’être pris dans une situation de choc.

  • Il est possible de tester l’ajout d’un élément d’indicateur de renversement, permettant de transformer plus rapidement la position stop loss vers le bas lorsque la tendance aérienne et la tendance à plusieurs têtes sont alternées.

  • On peut essayer de lier les paramètres de longueur d’ATR aux caractéristiques des variétés de négociation, différentes variétés ayant des réglages de longueur d’ATR différents.

  • Il est possible d’essayer d’ajouter un indicateur de volume de transactions pour augmenter la vitesse de serrage de la ligne de stop-loss lorsque le volume de transactions diminue de manière significative.

  • On peut envisager d’augmenter le taux de déclenchement, mais pas trop serré, pour éviter que le déclenchement normal ne déclenche un déclenchement.

  • Le jugement peut être combiné avec d’autres indicateurs et les paramètres peuvent être optimisés, avec un assouplissement approprié de la zone d’arrêt en cas d’insuffisance de force.

Résumer

Cette stratégie est basée sur l’idée de Wilder Volatility Trailing Stop, qui utilise l’indicateur ATR pour concevoir une stratégie de stop-loss de type suivi de tendance très adaptable. Elle peut s’adapter très bien aux différentes variétés de transactions grâce à l’optimisation des paramètres, une stratégie de stop-loss fiable et pratique.

Code source de la stratégie
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// Wilder's Volatility Trailing Stop Strategy with various MA's
// by SparkyFlary

//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy(title="Wilder's Volatility Trailing Stop Strategy with various MA's", shorttitle="Trailing Stop Strategy", overlay=true)

AtrMult = input(3.0, title="ATR multiplier")
ATRlength = input(7, title="ATR length")
ATRavgType = input("RMA", title="ATR moving average type", options=["RMA", "EMA", "SMA", "HULL"])
sicType = input("close", title="significant close type for trail calculation", options=["close", "high-low"])

//function for choosing moving averages
f_ma(type, src, len) =>
    float result = 0
    if type == "RMA" // Wilder's moving averaege or Running moving average
        result := rma(src, len)
    if type == "EMA" // Exponential moving average
        result := ema(src, len)
    if type == "SMA" // Simple moving average
        result := sma(src, len)
    if type == "HULL" // Hull moving average
        result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))
    result

ATR = f_ma(ATRavgType, tr, ATRlength)
upperTrail = lowest(sicType=="close"?close:low, ATRlength) + AtrMult * ATR
lowerTrail = highest(sicType=="close"?close:high, ATRlength) - AtrMult * ATR

float TS = 0
TS := close < TS[1] ? upperTrail[1] : close > TS[1] ? lowerTrail[1] : TS

//plot
plot(TS, title="trailing stop", color=close<TS?color.red:color.green)

//Strategy
buy = crossover(close, TS)
//sell = close < TS
short = crossunder(close, TS)
//cover = close > TS

strategy.entry(id="enter long", long=true, when=buy)
//strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
//strategy.close(id="enter short", comment="exit short", when=cover)