
Il s’agit d’une stratégie de suivi des tendances combinant les moyennes mobiles T3 Tilson, la variation inverse de Fisher du RSI (IFT) et l’indicateur de volatilité ATR. La stratégie crée un système de négociation de haute qualité et à faible bruit grâce à la synergie de trois indicateurs puissants.
La logique de base de cette stratégie est basée sur une combinaison de trois critères:
T3 Moyenne mobile de Tilson: C’est une moyenne mobile améliorée, développée par Tim Tilson, combinant les calculs des moyennes mobiles hexagonales ((EMA)). Le code utilise les étapes suivantes pour calculer T3 Tilson:
La conversion inverse de Fisher dans le RSI (IFT):
Filtre à ATR:
Les conditions d’admission sont les suivantes:
En analysant le code en profondeur, la stratégie présente les avantages suivants:
Filtrage du bruitLa moyenne mobile T3 Tilson réduit considérablement le bruit de prix par rapport à la moyenne mobile ordinaire et évite de nombreux faux signaux. Elle conserve à la fois des caractéristiques de fluidité et ne traîne pas excessivement.
Mécanisme de confirmation multipleLa stratégie exige la confirmation simultanée de trois indicateurs différents pour déclencher un signal de négociation, ce qui améliore considérablement la qualité du signal. La direction de la tendance (T3 Tilson), l’état de la dynamique (IFT RSI) et les conditions de volatilité (ATR) doivent être remplies simultanément.
Très adaptable: Plusieurs paramètres du code (t3Length, t3VFactor, rsiLength, etc.) peuvent être ajustés en fonction des différents marchés et des différentes périodes, ce qui rend la stratégie très adaptable.
Identifier clairement l’état du marchéPar l’intermédiaire de l’IFT (RSI) et de l’ATR, la stratégie est capable d’identifier si le marché est dans une tendance claire ou dans une phase horizontale de faible volatilité et de négocier uniquement dans des conditions favorables.
Conformité des risquesLa stratégie utilise un volume de transaction fixe par unité, assure la cohérence de l’évaluation des risques et simplifie la gestion des risques.
Facteur de profit: Selon la note de code, la stratégie affiche un facteur de profit supérieur à 3 sur les futures indicielles, un indicateur important de la qualité de la stratégie de négociation.
Malgré la bonne conception de cette stratégie, les risques potentiels sont les suivants:
Paramètre SensibilitéLes paramètres de plusieurs indicateurs (tels que la longueur T3, la longueur RSI, les seuils ATR, etc.) ont un impact significatif sur la performance de la stratégie. Des paramètres mal configurés peuvent entraîner une optimisation excessive ou une mauvaise performance dans différentes conditions de marché.
Risque d’inversion de tendance: Bien que le T3 Tilson réagisse plus rapidement que la moyenne mobile simple, il peut y avoir un certain retard lors d’un revirement soudain du marché, ce qui entraîne des pertes lors d’un revirement de tendance au début.
Manque de mécanisme de prévention: il n’y a pas de paramètre explicite d’arrêt ou d’arrêt dans le code, ce qui peut entraîner une expansion des pertes dans des conditions défavorables. La solution consiste à ajouter une logique d’arrêt / arrêt appropriée.
Différents problèmes d’adaptabilité au marchéLe commentaire de code mentionne que la stratégie peut nécessiter des modifications dans des marchés très volatils tels que Bitcoin et Ethereum, indiquant que la stratégie n’est pas une solution “unique” et qu’elle doit être adaptée aux caractéristiques du marché.
Risques de faibles taux de réussiteLes commentaires indiquent que le taux de gain sur XAUUSD est d’environ 32%, bien que le rapport de risque/rendement soit favorable, mais un faible taux de gain peut entraîner des pertes continues, ce qui exerce une pression sur la gestion des fonds et la psychologie des traders.
La dépendance à la volatilité: La dépendance à la baisse de l’ATR peut entraîner des opportunités manquées dans des marchés où les modèles de volatilité changent brusquement, ou une entrée erronée dans une fausse volatilité.
Une analyse approfondie du code permet d’optimiser la stratégie dans les directions suivantes:
Défaillance / arrêt dynamique: Ajout de stop-loss et de stop-loss dynamiques basés sur l’ATR ou d’autres indicateurs de volatilité pour s’adapter à différentes conditions de marché et protéger les bénéfices. Par exemple, il est possible de définir un stop-loss comme point d’entrée moins N fois l’ATR et un stop-loss comme point d’entrée plus M fois l’ATR.
Gestion dynamique des positions: remplacement du volume fixe de transactions par unité par un calcul dynamique des positions basé sur la taille du compte, la volatilité et les paramètres de risque afin d’optimiser l’efficacité de l’utilisation des fonds et la maîtrise des risques.
Analyse de plusieurs périodesIntroduction d’une confirmation multi-temporelle, par exemple pour vérifier l’orientation de la tendance principale sur une période plus longue, pour trouver un point d’entrée sur une période plus courte et pour améliorer la précision de l’entrée.
T3 Filtre d’angle de Tilson: Calculer l’angle ou la pente de T3 Tilson, n’entrant en jeu que lorsque la tendance est suffisamment forte (et l’angle suffisamment serré) pour réduire davantage les faux signaux dans les tendances faibles.
Optimisation des paramètres spécifiques au marché: Création d’ensembles de paramètres spécifiques pour les différentes variétés de transactions afin de s’adapter aux caractéristiques uniques des différents marchés, tels que les paramètres d’ajustement pour le marché de la crypto-monnaie mentionnés dans les notes du code.
Augmenter le filtrage des heures de transaction: Ajout d’un filtre de temps de négociation pour éviter les périodes de faible liquidité ou les périodes d’ouverture / fermeture du marché connues pour leur forte volatilité mais sans direction.
Système de pondération conditionnelleLa mise en œuvre d’un système de pondération des conditions, qui adapte les décisions d’entrée en jeu en fonction de l’intensité des signaux de chaque indicateur, plutôt que d’une simple combinaison de conditions de Boole, pourrait améliorer la sensibilité de la stratégie.
Cette stratégie de négociation combinant T3 Tilson, RSI, inversion de Fisher et ATR représente une méthode de suivi de tendance équilibrée et efficace. La stratégie réduit considérablement le bruit grâce à un mécanisme de filtrage multiple et améliore la qualité du signal grâce à une confirmation de tendance, de dynamique et de volatilité en synergie. Son avantage est la clarté du signal, moins de faux signaux et une forte adaptabilité, particulièrement adaptée aux marchés tels que les futures indicielles.
Cependant, il existe des limites à toute stratégie, et il reste de la place pour l’amélioration de la sensibilité des paramètres, du risque de renversement de tendance et de l’absence de mécanisme de stop-loss. La robustesse et la rentabilité de la stratégie peuvent être encore améliorées par l’ajout de stop-loss / stop-loss dynamiques, l’optimisation de la gestion de la position et la mise en œuvre d’analyses multi-cadres.
Dans l’ensemble, il s’agit d’une stratégie de “version principale” bien conçue qui, comme le note le code, fournit un “moteur de base propre, non optimisé et stable” qui peut servir de base pour la construction et le test de versions améliorées. Les traders professionnels ou les chercheurs de stratégies de trading peuvent partir de ce cadre et personnaliser et optimiser en fonction de leurs propres besoins et caractéristiques du marché.
/*backtest
start: 2024-07-06 00:00:00
end: 2025-07-05 10:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy("VDN1 - T3 Tilson + IFT + ATR", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)
// === INPUTS ===
t3Length = input.int(8, title="T3 Tilson Length")
t3VFactor = input.float(0.7, title="T3 Volume Factor", step=0.1)
rsiLength = input.int(14, title="RSI Length")
atrLength = input.int(14, title="ATR Length")
atrThreshold = input.float(0.5, title="Min ATR Eşiği", step=0.1)
// === T3 Tilson Hesaplama ===
e1 = ta.ema(close, t3Length)
e2 = ta.ema(e1, t3Length)
e3 = ta.ema(e2, t3Length)
e4 = ta.ema(e3, t3Length)
e5 = ta.ema(e4, t3Length)
e6 = ta.ema(e5, t3Length)
c1 = -t3VFactor * t3VFactor * t3VFactor
c2 = 3 * t3VFactor * t3VFactor + 3 * t3VFactor * t3VFactor * t3VFactor
c3 = -6 * t3VFactor * t3VFactor - 3 * t3VFactor - 3 * t3VFactor * t3VFactor * t3VFactor
c4 = 1 + 3 * t3VFactor + t3VFactor * t3VFactor * t3VFactor + 3 * t3VFactor * t3VFactor
t3Tilson = c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3
// === IFT RSI ===
rsi = ta.rsi(close, rsiLength)
value = 0.1 * (rsi - 50)
expValue = (math.exp(2 * value) - 1) / (math.exp(2 * value) + 1)
ift = expValue
// === ATR ===
atr = ta.atr(atrLength)
// === Koşullar ===
longCond = t3Tilson > t3Tilson[1] and ift > 0 and atr > atrThreshold
shortCond = t3Tilson < t3Tilson[1] and ift < 0 and atr > atrThreshold
// === Girişler ===
if (longCond)
strategy.entry("Long", strategy.long, qty=1)
if (shortCond)
strategy.entry("Short", strategy.short, qty=1)
// === Çizimler ===
plot(t3Tilson, title="T3 Tilson", color=color.orange)
hline(0, 'Zero Line', color=color.gray)
plot(ift, title="IFT RSI", color=color.new(color.blue, 0))
plot(atr, title="ATR", color=color.new(color.red, 0))