
Cette stratégie est une stratégie de négociation de courte ligne basée sur un système de confirmation et d’évaluation graduée de plusieurs indicateurs. Elle évalue la force du signal de négociation en analysant la taille du graphique, la variation du volume de transactions et l’indicateur RSI. Elle divise les signaux en trois niveaux A, B et C, où les signaux de niveau A sont les plus forts et les signaux de niveau C les plus faibles.
La stratégie repose sur une combinaison des éléments clés suivants:
Le jugement des tendances: Utilisez l’EMA de 200 comme principal outil de jugement de tendance. Les prix cherchent des occasions de faire plus au-dessus de l’EMA de 200 et des occasions de faire moins au-dessous de l’EMA de 200.
Signaux de croisement homogène: Stratégie utilisant des EMA et SMA de 20 cycles, produisant un signal initial lorsque ces deux lignes sont croisées. Un signal de multiplication nécessite de traverser le SMA sur EMA, un signal de blanchiment nécessite de traverser le SMA sous EMA.
RSI confirmé: Utilisez l’indicateur RSI à 9 cycles, le RSI doit être supérieur à 50 pour le plus et moins de 50 pour le moins.
Évaluation de la taille du corps: Analyse stratégique de la taille des barils par rapport à la moyenne des 20 barils précédents pour évaluer la dynamique des prix actuels.
Confirmation de la transaction: Le volume des transactions en cours doit être supérieur à celui des transactions du cycle précédent, afin d’assurer une participation suffisante sur le marché.
Système de classement des signaux:
Gestion des risques: contient des niveaux réglables de stop (défault 0.5%) et de stop (défault 0.3%), réglés en pourcentage du prix d’entrée.
Les stratégies utilisent ces conditions de confirmation multiple pour s’assurer que les transactions d’entrée ne sont effectuées qu’avec suffisamment de dynamique du marché et de confirmation de la tendance, ce qui réduit les faux signaux.
Système d’évaluation par échelonLe plus grand avantage réside dans son système unique de classement des signaux, permettant aux traders de choisir de ne négocier que les signaux les plus forts (Classes A) ou d’inclure plus d’opportunités de négociation (Classes B et C) en fonction de leurs préférences en matière de risque.
Mécanisme de confirmation multiple: La confirmation multiple combinée avec les indicateurs techniques (RSI, moyenne), le comportement des prix (taille du corps) et l’implication du marché (volume de transactions) réduit efficacement la probabilité de faux signaux.
Gestion intégrée des risques: Le paramètre automatique de stop-loss assure que le risque de chaque transaction est contrôlable et évite les pertes excessives d’une seule transaction.
Système de rétroaction visuelle: Les signaux de négociation sont automatiquement marqués sur le graphique lors du déclenchement, affichant clairement la direction des transactions et l’intensité du signal, afin de faciliter l’identification rapide des traders.
Fonction d’alerteLe système d’alerte de TradingView est intégré, permettant aux traders de recevoir des alertes par pop-up, e-mail ou téléphone.
Adaptation aux différentes conditions du marché: La stratégie peut maintenir une performance relativement stable dans différents environnements de volatilité, confirmée par la hiérarchisation des signaux et des multiples indicateurs.
Personnalisation: Offre des options personnalisées pour plusieurs paramètres clés, y compris la longueur du RSI, le cycle de la moyenne, le ratio de stop loss et le niveau de signal à négocier, permettant de modifier la stratégie en fonction des préférences personnelles et des conditions du marché.
La tendance à la suite de la dynamique: La stratégie combine efficacement le suivi de la tendance (la ligne moyenne) et la confirmation de la dynamique (le RSI, la taille de l’aiguille), formant un système de négociation relativement complet.
Filtration excessive: Les mécanismes de confirmation multiple peuvent entraîner la perte d’opportunités de trading efficaces, en particulier lorsque les transactions sont effectuées uniquement sur des signaux de niveau A, ce qui peut réduire considérablement la fréquence des transactions.
Paramètre SensibilitéLes stratégies utilisent plusieurs indicateurs techniques et paramètres dont les variations mineures peuvent entraîner des variations de performance importantes. Par exemple, la longueur du RSI, le cycle de la ligne moyenne et la taille du corps de la courbe peuvent nécessiter des ajustements en fonction des différentes conditions du marché.
Pourcentage fixe de stop loss: La stratégie utilise un stop loss à pourcentage fixe, ce qui peut ne pas être adapté à toutes les conditions du marché. Dans un environnement à forte volatilité, le niveau de stop loss fixe peut être trop faible, et dans un environnement à faible volatilité, il peut être trop élevé.
L’impact du bruit sur le marché: Dans la période de 1 minute, le bruit du marché est plus fort, ce qui peut entraîner plus de faux signaux, en particulier pendant les périodes de courbe horizontale ou de faible volatilité du marché.
Risques liés à la liquidité: Pendant les périodes de non-trading ou de faible liquidité, la qualité du signal de trading peut diminuer et le risque de glissement augmente.
Risque de pertes consécutives: Même en utilisant un système de notation, des pertes continues peuvent survenir en cas de changement soudain du marché et nécessitent une stratégie de gestion de fonds appropriée.
Risque de contre-courant: La stratégie est basée principalement sur la confirmation de la croisée des moyennes et du RSI à court terme, ce qui peut générer des signaux erronés dans un contexte de forte contre-tendance.
Les méthodes pour atténuer ces risques comprennent: l’utilisation de conditions de filtrage pour des périodes plus longues, l’ajustement dynamique des niveaux de stop-loss, la négociation à des périodes spécifiques du marché (telles que les périodes de grande volatilité ou de grande liquidité), la réévaluation et l’optimisation régulières des paramètres et le contrôle strict de la marge de risque de chaque transaction.
atr = ta.atr(14)
longSL = close - atr * slMultiplier
longTP = close + atr * tpMultiplier
timeFilter = (hour >= 14 and hour < 16) or (hour >= 9 and hour < 11)
higherTimeframeTrend = request.security(syminfo.ticker, "15", close > ta.ema(close, 200))
longCondition = longBase and higherTimeframeTrend
consecutiveLongSignals = longBase and longBase[1]
adaptiveLength = math.round(ta.atr(14) / ta.atr(14)[20] * baseLength)
adaptiveRsi = ta.rsi(close, math.max(2, adaptiveLength))
if setupGrade == "A"
tpMultiplier = 2.0
else if setupGrade == "B"
tpMultiplier = 1.5
else
tpMultiplier = 1.0
volatilityFilter = ta.atr(14) > ta.sma(ta.atr(14), 20) * 0.8
if (strategy.position_size > 0 and close > entryPrice * (1 + partialTpPerc/100))
strategy.exit("Partial", "Long", qty_percent=50)
Ces orientations d’optimisation visent principalement à résoudre les problèmes d’adaptabilité de la stratégie aux différentes conditions du marché, à améliorer la qualité du signal et à mieux gérer les risques, tout en conservant la logique centrale de la stratégie.
La stratégie US30 de confirmation de tendance à plusieurs niveaux et de gestion des risques est un système de négociation en ligne courte combinant plusieurs indicateurs techniques, la confirmation de tendance et l’analyse de la dynamique. Sa particularité réside dans l’utilisation d’un système d’évaluation graduée (niveaux A, B et C) pour évaluer la qualité des signaux de négociation, permettant aux traders de choisir la qualité du signal en fonction de leurs préférences en matière de risque.
Les fonctionnalités de gestion du risque intégrées et les commentaires visuels clairs en font un système de négociation relativement complet. Cependant, la stratégie peut être confrontée à des défis tels que le bruit du marché, la sensibilité aux paramètres et l’instabilité des arrêts fixes lorsqu’elle fonctionne sur de courtes périodes.
Ce système offre un bon point de départ pour les traders qui préfèrent des stratégies de négociation de courte ligne avec des règles claires et des risques contrôlables, et peut évoluer vers un système de négociation personnalisé grâce à un retour d’expérience et à une optimisation supplémentaires, personnalisés en fonction du style de négociation individuel et des caractéristiques du marché cible.
/*backtest
start: 2025-02-01 00:00:00
end: 2025-03-31 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("US30 1-min Strategy with TP/SL, Grades, Alerts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
rsiLength = input.int(9, title="RSI Length")
maLength = input.int(20, title="MA Length (SMA & EMA)")
ema200Length = input.int(200, title="200 EMA Length")
tpPerc = input.float(0.5, title="Take Profit %", step=0.1)
slPerc = input.float(0.3, title="Stop Loss %", step=0.1)
// Grade filters
allowA = input.bool(true, title="Trade A-Grade Setups")
allowB = input.bool(true, title="Trade B-Grade Setups")
allowC = input.bool(false, title="Trade C-Grade Setups")
// === Indicators ===
rsi = ta.rsi(close, rsiLength)
sma = ta.sma(close, maLength)
ema = ta.ema(close, maLength)
ema200 = ta.ema(close, ema200Length)
volumeRising = volume > volume[1]
// === Candle Size Helpers ===
avgBody = ta.sma(math.abs(close - open), 20)
candleBody = math.abs(close - open)
candleLarge = candleBody > avgBody
candleVeryLarge = candleBody > avgBody * 2
// === Setup Grade Conditions ===
gradeA = candleVeryLarge and volumeRising and rsi > 55 or rsi < 45
gradeB = candleLarge and volumeRising
gradeC = candleLarge
// === Setup Conditions ===
// --- Long ---
longBase = close > ema200 and ta.crossover(ema, sma) and rsi > 50 and close > ema and close > sma
// --- Short ---
shortBase = close < ema200 and ta.crossunder(ema, sma) and rsi < 50 and close < ema and close < sma
// === Determine Grade ===
setupGrade = ""
isTrade = false
if longBase
if gradeA and allowA
setupGrade := "A"
isTrade := true
else if gradeB and allowB
setupGrade := "B"
isTrade := true
else if gradeC and allowC
setupGrade := "C"
isTrade := true
if shortBase
if gradeA and allowA
setupGrade := "A"
isTrade := true
else if gradeB and allowB
setupGrade := "B"
isTrade := true
else if gradeC and allowC
setupGrade := "C"
isTrade := true
// === Entry & TP/SL ===
longTP = close * (1 + tpPerc / 100)
longSL = close * (1 - slPerc / 100)
shortTP = close * (1 - tpPerc / 100)
shortSL = close * (1 + slPerc / 100)
// Entry
if longBase and isTrade and (setupGrade == "A" or setupGrade == "B" or setupGrade == "C")
strategy.entry("Long " + setupGrade, strategy.long)
strategy.exit("TP/SL", "Long " + setupGrade, limit=longTP, stop=longSL)
label.new(bar_index, high, "Long " + setupGrade, style=label.style_label_up, color=color.green, textcolor=color.white)
alert("LONG " + setupGrade + " setup triggered!", alert.freq_once_per_bar)
if shortBase and isTrade and (setupGrade == "A" or setupGrade == "B" or setupGrade == "C")
strategy.entry("Short " + setupGrade, strategy.short)
strategy.exit("TP/SL", "Short " + setupGrade, limit=shortTP, stop=shortSL)
label.new(bar_index, low, "Short " + setupGrade, style=label.style_label_down, color=color.red, textcolor=color.white)
alert("SHORT " + setupGrade + " setup triggered!", alert.freq_once_per_bar)
// === Plotting MAs ===
plot(ema, title="20 EMA", color=color.red)
plot(sma, title="20 SMA", color=color.blue)
plot(ema200, title="200 EMA", color=color.green)