Il s’agit d’un système de point d’équilibre de tendance primitif créé par Welles Wilder en 1978, dont les règles de négociation peuvent être trouvées dans son livre Les systèmes d’analyse technique de concepts novateurs. Le système utilise des indicateurs de dynamique pour identifier les tendances et définir des arrêts de perte de manière spécifique, formant un système de suivi de tendance plus robuste.
Les principaux éléments de la stratégie et les règles de négociation sont les suivants:
Indicateur de dynamique: Calcule la variation du prix de clôture de N cycles pour déterminer la tendance des prix.
Conditions multiples: augmentation de la dynamique pour le cycle actuel et les deux derniers cycles.
Condition de vide: baisse continue de la valeur de la dynamique pour le cycle actuel et les deux derniers cycles.
Le point de rupture: la moyenne du jour précédent + la marge de fluctuation du jour précédent.
Points de rupture: 2 fois le prix moyen de la journée précédente - le prix le plus bas ((faire plus) ou 2 fois le prix moyen - le prix le plus élevé ((faire moins))
Le prix d’entrée est le prix de sortie avec un stop loss ou un stop loss.
La stratégie est simple et directe, utilise la dynamique pour déterminer la direction de la tendance et contrôle les risques avec un arrêt-stop spécifique, formant un système de suivi de tendance plus robuste.
La stratégie présente les principaux avantages suivants par rapport aux autres stratégies de suivi des tendances:
Le calcul de l’indicateur de dynamique est simple et facile à réaliser.
Le résultat de la combinaison de plusieurs cycles permet de filtrer le bruit.
La méthode d’arrêt des dommages est plus robuste.
Les pertes individuelles peuvent être limitées.
Les retraits sont contrôlables, les bénéfices sont clairs.
La mise en œuvre n’est pas très difficile et les opérations sont flexibles.
Les paramètres peuvent être adaptés à différents marchés.
La stratégie est simple et intuitive.
En général, la stabilité et la maîtrise des risques sont plus fortes.
Mais cette stratégie comporte aussi les risques suivants:
Les indicateurs de dynamique sont en retard et risquent de manquer des virages clés.
L’effet dépend de l’optimisation des paramètres.
Le risque d’effet de levier n’est pas pris en compte.
Le Stop Loss Stop est un paramètre assez arbitraire qui peut être un échec anticipé.
Le cycle de retour est court et la stabilité à long terme doit être vérifiée.
La position fixe ne peut pas être modifiée dynamiquement.
L’espace d’optimisation est limité et les gains supplémentaires sont incertains.
Il est important de veiller à ce que le taux de rétractation des gains ne soit pas trop élevé.
Compte tenu de l’analyse ci-dessus, la stratégie peut être optimisée à partir des dimensions suivantes:
Essayez différentes méthodes de calcul.
Vous pouvez vous inscrire pour la vérification de la transaction.
Optimiser le paramètre de stop-loss.
L’introduction de l’apprentissage automatique pour générer des signaux dynamiques
Évaluation de la stabilité multivariée et multicyclique
Construire un modèle dynamique de gestion des positions.
La tolérance de retrait maximale est définie.
Optimiser les stratégies de gestion des fonds.
La vérification continue des retours d’expérience et la prévention de l’optimisation.
L’ensemble de la stratégie est un système de suivi des tendances relativement simple et direct. Cependant, toute stratégie nécessite une optimisation et une vérification continues pour rester adaptée au marché. L’efficacité et la stabilité de la stratégie peuvent être améliorées grâce à un travail systématique.
/*backtest
start: 2023-09-15 00:00:00
end: 2023-09-22 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © 2020 X-Trader.net
//@version=3
strategy("Trend Balance Point System by Welles Wilder", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000)
MomPer = input(2, "Momentum Period")
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
longTrigger = mom(close, MomPer)[1] > mom(close, MomPer)[2] and mom(close, MomPer)[1] > mom(close, MomPer)[3]
shortTrigger = mom(close, MomPer)[1] < mom(close, MomPer)[2] and mom(close, MomPer)[1] < mom(close, MomPer)[3]
longEntry = (not isLong) and longTrigger
shortEntry = (not isShort) and shortTrigger
longStop = valuewhen(longEntry, ((high[1]+low[1]+close[1])/3 - (high[1]-low[1])), 0)
longTP = valuewhen(longEntry, (2*(high[1]+low[1]+close[1])/3 - low[1]), 0)
shortStop = valuewhen(shortEntry, ((high[1]+low[1]+close[1])/3 + (high[1]-low[1])), 0)
shortTP = valuewhen(shortEntry, (2*(high[1]+low[1]+close[1])/3 - high[1]), 0)
strategy.entry(id = "Long", long = true, when = longEntry)
strategy.exit("Exit Long", "Long", profit = longTP, loss = longStop, when = isLong)
strategy.entry(id = "Short", long = false, when = shortEntry)
strategy.exit("Exit Short", "Short", profit = shortTP, loss = shortStop, when = isShort)