Cette stratégie utilise l'indicateur CT TTM Squeeze pour identifier les tendances des prix et applique des trailing stops pour contrôler les risques.
La stratégie utilise l'indicateur CT TTM Squeeze pour déterminer les tendances des prix.
Si osc dépasse 0, il s'affiche en vert, indiquant long; si osc dépasse 0, il s'affiche en rouge, indiquant court.
Quand l'OSC est positif, allez long; quand l'OSC est négatif, allez court.
La stratégie utilise l'oscillateur OSC pour déterminer la direction de la tendance et diff pour mesurer l'élan long/courte. Lorsque l'osc traverse au-dessus de 0, il signale une tendance haussière, donc long. Lorsque l'osc traverse au-dessous de 0, il signale une tendance baissière, donc court.
La stratégie présente les avantages suivants:
L'utilisation de CT TTM Squeeze pour déterminer les tendances a une précision relativement élevée. CT TTM Squeeze considère de manière exhaustive les moyennes mobiles, les bandes de Bollinger et les canaux de Keltner, qui peuvent identifier efficacement les tendances des prix.
L'application de l'oscillateur pour déterminer les signaux long/short évite les faux signaux dans les zones non tendance.
La stratégie définit un stop loss en temps opportun après l'entrée, ce qui permet de verrouiller les bénéfices et d'éviter des pertes excessives.
La stratégie a peu de paramètres et est facile à optimiser.
Les fonctions de traçage affichent clairement les signaux. Différentes couleurs sont utilisées pour distinguer les signaux longs / courts et la force, présentant visuellement les jugements de tendance.
La stratégie comporte également les risques suivants:
CT TTM Squeeze peut générer de faux signaux dans certaines conditions de marché, entraînant des pertes commerciales.
La divergence dans l'oscillateur peut entraîner des signaux de trading erronés.
Les arrêts de trailers trop agressifs peuvent entraîner des pertes inutiles.
La stratégie est adaptée uniquement pour les produits fortement tendance, et non pour les marchés à fourchette.
L'optimisation excessive peut entraîner un ajustement de la courbe.
La stratégie peut être optimisée dans les aspects suivants:
Combinez plusieurs indicateurs pour une précision du signal. D'autres indicateurs comme MACD, KDJ peuvent être ajoutés pour optimiser les signaux d'entrée.
Ajouter des modules d'optimisation de stop loss pour des arrêts plus intelligents.
Optimiser la gestion de l'argent en testant les fractions fixes, la formule Kelly, etc. Cela peut améliorer l'efficacité de l'utilisation du capital tout en assurant le risque par transaction.
L'ajustement des paramètres en fonction des caractéristiques du produit peut améliorer l'adéquation de la stratégie.
Ajouter des algorithmes d'apprentissage automatique pour l'apprentissage adaptatif.
Cette stratégie utilise CT TTM Squeeze pour déterminer la direction de la tendance, l'oscillateur traversant 0 comme signaux d'entrée et les arrêts de trail pour gérer les risques. Ses avantages résident dans une grande précision, une optimisation facile, mais des risques comme l'échec de l'indicateur, des arrêts trop serrés existent. Des améliorations futures peuvent être apportées grâce à des combinaisons multi-indicateurs, à l'optimisation de l'arrêt, à la gestion de l'argent, etc. pour améliorer encore la performance.
/*backtest start: 2023-10-15 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("CT TTM Squeeze") length = input(title="Length", defval=20, minval=0) bband(length, mult) => sma(close, length) + mult * stdev(close, length) keltner(length, mult) => ema(close, length) + mult * ema(tr, length) // Variables e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length) osc = linreg(close - e1 / 2, length, 0) diff = bband(length, 2) - keltner(length, 1) osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : osc[0] >= 0 ? #009b9b : #ff9bff mid_color = diff >= 0 ? green : red // Strategy long = osc > 0 short = osc < 0 if long strategy.entry("Long", strategy.long) if short strategy.entry("Short", strategy.short) plot(osc, color=osc_color, style=histogram, linewidth=2) plot(0, color=mid_color, style=circles, linewidth=3)