
Le résumé: Cette stratégie utilise des moyennes mobiles dynamiques, des indicateurs de tendance supérieure, des niveaux de support et de résistance potentiels et des canaux de Kelt pour évaluer les variations de prix à plusieurs niveaux et pour automatiser le suivi des transactions. L’avantage de la stratégie est que les signaux de négociation sont clairs, avec un taux de victoire élevé, et que les mesures de gestion des risques peuvent être combinées pour contrôler le risque de chaque transaction.
Le principe de la stratégie: Cette stratégie utilise des moyennes mobiles dynamiques pour déterminer la direction de la tendance à court terme des prix. Plus précisément, le script utilise des moyennes mobiles simples ou des moyennes mobiles indicielles selon le choix de l’utilisateur.
En outre, la stratégie utilise également un indicateur de super-tendance pour identifier les tendances à long terme. L’indicateur de super-tendance, combiné à la moyenne de la vraie amplitude de fluctuation, génère un signal d’achat lorsque le prix est en hausse et que le prix de clôture d’hier est inférieur à la hausse.
Pour filtrer les faux signaux, cette stratégie utilise le canal de Kelt pour tracer les voies de hausse et de baisse. La combinaison de la portée du canal et de l’indicateur de super-tendance permet de suivre la tendance des transactions. Plus précisément, un signal d’achat fort est généré lorsque le prix a franchi la voie de la baisse vers le haut et que le prix de clôture d’hier est inférieur à la voie de la baisse.
En outre, le script aide à cartographier les niveaux de support et de résistance potentiels et à déterminer davantage les niveaux de prix critiques. Dans l’ensemble, la combinaison de plusieurs niveaux d’indicateurs, les conditions de rupture strictes, améliorent fondamentalement la qualité du signal de négociation.
Avantages stratégiques:
La combinaison d’indicateurs multi-stratégiques permet de générer des signaux de trading clairs. Le canal celtique détermine les gammes de prix clés, la combinaison d’une moyenne mobile dynamique et d’un indicateur de super-tendance détermine rigoureusement la direction de la tendance et filtre efficacement les fausses percées du marché.
Les conditions de rupture strictes assurent la qualité du signal de négociation. Les prix doivent vraiment franchir les voies d’ascension et de descente, tout en s’associant à la position de clôture de la journée d’hier pour éviter d’être piégés.
L’indicateur de super-tendance permet de capturer les tendances à long terme et de suivre les tendances à long terme.
Les points de soutien et de résistance potentiels aident à déterminer les points critiques de prix et à identifier les opportunités de reprise.
La fréquence globale des transactions est modérée, pas trop dense. Les signaux de haute qualité sont émis uniquement aux points critiques, avec un taux de victoire élevé.
Les risques stratégiques:
En cas de choc, l’indicateur peut émettre des signaux trompeurs, entraînant des pertes de négociation de rupture inefficaces. Les paramètres peuvent être optimisés en ajustant les paramètres, ou une intervention humaine peut être utilisée pour sortir de la position de réglage.
Les points de rupture peuvent être trop grands et le risque de perte individuelle est élevé. La portée de rupture peut être réduite ou le temps de rupture peut être utilisé.
Il est possible de manquer certaines occasions de revirement de la courte ligne moyenne lorsque l’on suit une tendance longue ligne. L’utilisation d’indicateurs de choc peut aider à déterminer les ajustements locaux.
Les systèmes de moyennes mobiles sont parfois plus lents à réagir aux événements soudains. Dans ce cas, il peut être envisagé de réduire le paramètre de la moyenne mobile ou d’utiliser d’autres indicateurs.
Les stratégies d’optimisation La stratégie peut être optimisée dans les directions suivantes, en fonction des différentes conditions du marché et des préférences de négociation:
Adaptation des paramètres des moyennes mobiles afin d’optimiser la sensibilité du système d’indicateurs aux variations des prix.
Ajuster les paramètres ATR cycliques et facteurs de l’indicateur de super-tendance et optimiser le rôle de l’indicateur de super-tendance.
Ajustez le point d’arrêt pour équilibrer le pourcentage de pertes par tranche. Vous pouvez également utiliser le temps d’arrêt pour contrôler davantage le risque de pertes par tranche.
Ajout d’autres indicateurs auxiliaires, tels que les bandes de Brin, les indicateurs de KD, etc., pour déterminer davantage les chances d’ajustement et de revirement locaux.
Les variables “open” et “close” sont utilisées pour tracer un diagramme de ligne K, permettant de juger intuitivement de l’évolution des prix.
Optimiser les paramètres et mesurer l’efficacité des différentes combinaisons.
Résumé: Cette stratégie utilise des indicateurs multiples tels que les moyennes mobiles dynamiques, les indicateurs de tendance super et les canaux de Kelt pour automatiser le suivi des tendances. Les avantages clés sont: génération de signaux clairs, taux de victoire élevé; suivi des tendances de longue ligne, capture des opportunités directionnelles; points de rupture raisonnables, contrôle du risque de perte individuelle.
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mahesh_linux1989
//@version=5
strategy("Intraday Trend Identifier with Dynamic Moving Averages, Super Trend, VWAP, and Keltner Signals", overlay=true, shorttitle="ITI Keltner")
// Input for Moving Average Type
maType = input("SMA", title="Moving Average Type")
// Input for SMA Length
smaLength = input.int(20, title="SMA Length", minval=1, maxval=200)
// Input for EMA Length
emaLength = input.int(20, title="EMA Length", minval=1, maxval=200)
// Selecting Moving Average
selectedMA = maType == "SMA" ? ta.sma(close, smaLength) : ta.ema(close, emaLength)
// Bullish conditions
bullish = high > high[1] and low > low[1] and close > high[1]
// Bearish conditions
bearish = high < high[1] and low < low[1] and close < low[1]
// Strategy logic
longCondition = bullish and not bearish and close > selectedMA
shortCondition = bearish and not bullish and close < selectedMA
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Exit conditions
bullishExit = close < selectedMA
bearishExit = close > selectedMA
if (bullishExit)
strategy.close("Buy")
if (bearishExit)
strategy.close("Sell")
// Keltner Channels
basisKC = maType == "SMA" ? ta.sma(close, smaLength) : ta.ema(close, emaLength)
atrKC = ta.atr(14)
upperKC = basisKC + atrKC
lowerKC = basisKC - atrKC
// Super Trend
atrLengthST = input.int(7, title="ATR Length for Super Trend")
factorST = input.int(2, title="Factor for Super Trend")
atrValueST = ta.atr(atrLengthST)
var float upperST = na
var float lowerST = na
if (close[1] > upperST[1])
upperST := close[1] - factorST * atrValueST
else
upperST := close - factorST * atrValueST
if (close[1] < lowerST[1])
lowerST := close[1] + factorST * atrValueST
else
lowerST := close + factorST * atrValueST
// Potential Support and Resistance
potentialSupport = ta.lowest(low, smaLength)
potentialResistance = ta.highest(high, smaLength)
// VWAP
//vwapValue = ta.vwap(close, volume)
// Keltner Signals
buySignalKC = close > upperKC and close[1] <= upperKC[1]
sellSignalKC = close < lowerKC and close[1] >= lowerKC[1]
// Super Trend Signals
buySignalST = close > upperST and close[1] <= upperST[1]
sellSignalST = close < lowerST and close[1] >= lowerST[1]
// Plotting
plot(basisKC, color=color.gray, title="Keltner Channel Basis")
plot(upperKC, color=color.blue, title="Upper Keltner Channel")
plot(lowerKC, color=color.blue, title="Lower Keltner Channel")
plot(upperST, color=color.green, title="Super Trend Upper")
plot(lowerST, color=color.red, title="Super Trend Lower")
plot(potentialSupport, color=color.green, title="Potential Support")
plot(potentialResistance, color=color.red, title="Potential Resistance")
//plot(vwapValue, color=color.orange, title="VWAP")
// Plot Bullish and Bearish arrows
plotarrow(buySignalST ? 1 : na, colorup=color.green, offset=-1, title="Bullish Arrow ST")
plotarrow(sellSignalST ? -1 : na, colordown=color.red, offset=-1, title="Bearish Arrow ST")
plotarrow(buySignalKC ? 1 : na, colorup=color.blue, offset=-1, title="Bullish Arrow KC")
plotarrow(sellSignalKC ? -1 : na, colordown=color.orange, offset=-1, title="Bearish Arrow KC")
// Plot candlesticks
plot(open, color=color.gray)
plot(close, color=bullish ? color.green : bearish ? color.red : color.gray)
plot(high, color=bullish ? color.green : bearish ? color.red : color.gray)
plot(low, color=bullish ? color.green : bearish ? color.red : color.gray)