
La Stratégie de négociation de rupture quantifiée de confirmation de tendance à plusieurs périodes de temps est un système de négociation quantifiée intégré qui combine plusieurs indicateurs techniques et une analyse de périodes de temps. Le cœur de la stratégie est d’identifier des opportunités de négociation de rupture à haute probabilité à travers plusieurs conditions de filtrage, tout en associant un mécanisme de gestion du risque rigoureux.
La logique de négociation de la stratégie repose sur la synergie de plusieurs indicateurs techniques clés:
Confirmation de la tendance: Utilisez les moyennes mobiles à 50 et 200 cycles de l’indice ((EMA50 et EMA200) pour déterminer la direction de la tendance actuelle du marché. Les conditions à plusieurs têtes exigent que le prix et l’EMA50 soient situés au-dessus de l’EMA200; les conditions à vide exigent le contraire.
Filtre à moteur: Utilisez l’indicateur de force relative (RSI) et le graphique de la colonne MACD pour confirmer la dynamique. Les transactions à plusieurs têtes nécessitent un RSI entre 40 et 70 et un graphique de la colonne MACD positif; les transactions à tête nue nécessitent un RSI entre 30 et 60 et un graphique de la colonne MACD négatif.
Analyse de plusieurs périodes: Confirmation des tendances à l’échelle de l’échelle de temps en demandant des données EMA pour des périodes plus longues (< 1 heure) ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠
Vérification de la force de la tendance: utilisation de l’indice de direction moyenne ((ADX) et de l’indicateur de SuperTrend pour s’assurer que la tendance d’entrée est suffisamment forte. La stratégie exige que la valeur de l’ADX soit supérieure à la barre définie par l’utilisateur ((20 par défaut) et que la direction de la SuperTrend soit conforme à la direction de la transaction).
Confirmation de la livraisonLe filtrage de volume de transaction peut être activé de manière sélective pour garantir l’entrée en bourse avec un volume de transactions significatif. Ce filtrage nécessite une moyenne mobile simple de volume de transaction supérieur à 20 cycles.
Gestion dynamique des risques: Calculer la taille de la position en fonction de l’amplitude de fluctuation réelle (ATR) et définir le niveau de stop loss en utilisant un pourcentage. Le contrôle du risque est réalisé par la formule: taille de la position = (taille du compte * pourcentage de risque) / ATR.
Mécanisme de retrait automatiqueLes stratégies comprennent deux types de sorties: une sortie fixe basée sur le pourcentage stop loss; et une sortie conditionnelle basée sur le renversement de l’indicateur (par exemple, le MACD pivotant ou le RSI allant au-delà d’une certaine plage).
Mécanisme de confirmation multiple: Grâce à la combinaison de plusieurs indicateurs techniques et à l’analyse des délais, la fiabilité des signaux de négociation a été considérablement améliorée, réduisant les pertes causées par les fausses percées.
Gestion des risques adaptéeLe calcul de l’échelle de position basé sur l’ATR permet à la stratégie d’ajuster automatiquement l’ouverture de risque en fonction de la volatilité du marché et de maintenir un niveau de risque constant dans différents environnements de volatilité.
Conséquence de plusieurs périodesLa stratégie permet d’éviter les opérations de contre-courant et d’améliorer la victoire et l’efficacité des transactions.
Réglages de paramètres flexibles: La stratégie permet aux utilisateurs de personnaliser les paramètres clés tels que le pourcentage de risque, le niveau de stop-loss et le seuil ADX pour s’adapter à différents styles de négociation et préférences de risque.
Interface visualiséeLe tableau de bord intégré fournit des données sur l’état de la stratégie en temps réel et les indicateurs clés, aidant les traders à évaluer rapidement l’état du marché et la performance de la stratégie.
Plusieurs stratégies de sortieL’utilisation d’un stop-loss à pourcentage fixe et d’une sortie conditionnelle offre une protection plus complète pour les transactions, permettant à la fois de bloquer les bénéfices et d’éviter en temps opportun les variations défavorables du marché.
Système d’alerte intégré: Conditions d’alerte intégrées pour faciliter l’intégration avec un robot de trading automatique ou un groupe de signaux télégraphiques, permettant des opérations de trading semi-automatisées.
La solution: combiner des indicateurs ou des analyses de comportement des prix à des cycles plus courts pour compléter et accélérer la réponse de la stratégie.
Solution: Adapter les paramètres en fonction de la dynamique des différents environnements de marché et demander des conditions d’assouplissement appropriées dans les marchés en turbulence.
La solution: Optimiser et retester les paramètres de manière exhaustive pour trouver une combinaison de paramètres qui fonctionne de manière stable dans plusieurs environnements de marché.
Solution: envisager d’utiliser des stratégies d’arrêt dynamiques basées sur l’ATR ou des stratégies d’arrêt confirmées sur plusieurs périodes afin de réduire le phénomène de “tremblement de position”.
La solution: établir des règles de priorité claires pour les périodes ou développer des mécanismes de coordination plus complexes pour les périodes multiples.
Optimisation des paramètres de l’apprentissage automatiqueL’introduction d’algorithmes d’apprentissage automatique pour optimiser dynamiquement les paramètres de la stratégie, en ajustant automatiquement les paramètres clés tels que les cycles EMA et les seuils RSI en fonction des conditions du marché. Cette optimisation peut aider la stratégie à mieux s’adapter aux changements de la structure du marché et à améliorer la stabilité à long terme.
Catégorie des états du marché: ajouter un module d’identification des états du marché, distinguer les marchés tendance et les marchés oscillant, puis appliquer différents paramètres ou logiques de négociation pour différents états du marché. Cela permet de résoudre le problème d’une seule combinaison de paramètres qui est difficile à optimiser simultanément dans tous les environnements de marché.
Sélection du cycle de temps dynamique: Développer un mécanisme de sélection de cycle de temps adaptatif, qui ajuste automatiquement le cycle de l’indicateur et le cycle de référence du multi-cadre temporel en fonction de la volatilité du marché.
Renforcement des mécanismes de sortie: optimisation de la logique d’exit, ajout de stratégies de blocage partiel des bénéfices, de suivi des arrêts de perte et d’arrêt dynamique basé sur la volatilité. Des mécanismes d’exit plus sophistiqués permettent de mieux protéger les gains et de réduire les sorties anticipées inutiles.
Intégration des indicateurs émotionnelsConsidérez d’ajouter des indicateurs de sentiment de marché, tels que VIX, le taux de volatilité implicite des options ou le ratio de volume de transactions (OBV), pour obtenir plus d’informations sur l’état du marché. Les données de sentiment de marché peuvent être un complément important aux signaux de trading.
Gestion de la position au cours de la paire de risques: réaliser des mécanismes de parité des risques plus complexes, prendre en compte les corrélations entre les différents marchés, optimiser la répartition des risques au niveau du portefeuille.
Augmentation des indicateurs prédictifsL’introduction d’indicateurs prédictifs tels que les ondes d’Elliott, le contraste d’intensité relative ou l’oscillateur KST pour améliorer la prévisibilité de la stratégie. Les indicateurs prédictifs peuvent aider la stratégie à détecter plus tôt les points de retournement de tendance.
La Stratégie de négociation de rupture quantifiée de confirmation de tendance multi-cadres est une stratégie de négociation quantifiée conçue de manière globale, qui établit un système de décision de négociation robuste grâce à plusieurs niveaux d’analyse d’indicateurs techniques et de cadres temporels. Le principal avantage de la stratégie réside dans son filtrage strict des conditions d’entrée et son cadre complet de gestion des risques, qui réduit efficacement le risque de rupture de fausse transaction grâce à la synergie d’indicateurs tels que EMA, RSI, MACD, SuperTrend et ADX, ainsi qu’à la vérification de la cohérence du cadre multi-cadres.
Bien que les stratégies aient été conçues en tenant compte de nombreux facteurs, il existe des risques inhérents, tels que la sensibilité des paramètres et le retard des indicateurs. En introduisant des orientations d’optimisation telles que l’optimisation de l’apprentissage automatique, la classification des états du marché et l’ajustement des paramètres dynamiques, les stratégies peuvent encore améliorer leur adaptabilité et leur stabilité.
Dans l’ensemble, la stratégie convient aux investisseurs à moyen et à long terme qui ont une certaine connaissance de l’analyse technique et qui recherchent des méthodes de négociation systématisées. Grâce à la plate-forme TradingView et à Pine Script, les investisseurs peuvent facilement suivre et optimiser les paramètres de la stratégie, et peuvent également utiliser le système d’alerte intégré pour réaliser des opérations de négociation semi-automatisées.
/*backtest
start: 2024-04-18 00:00:00
end: 2025-04-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=5
strategy("Quantum Phoenix 2.0", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUT === //
riskPercent = input.float(1.0, title="Risk %", minval=0.1, maxval=10)
accountSize = input.float(10000, title="Hesap Büyüklüğü ($)")
takeProfitPercent = input.float(3.0, title="Take Profit %")
stopLossPercent = input.float(1.5, title="Stop Loss %")
adxThreshold = input.int(20, title="Min. ADX Trend Gücü")
volumeFilter = input.bool(true, title="Hacim Filtresi")
// === GÖSTERGELER === //
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
rsi = ta.rsi(close, 14)
[macdLine, signalLine, macdHist] = ta.macd(close, 12, 26, 9)
[supertrend, dir] = ta.supertrend(3, 7)
[_, _, adx] = ta.dmi(14, 14)
vol = volume
volMA = ta.sma(volume, 20)
// === MTF TREND === //
ema50_1h = request.security(syminfo.tickerid, "60", ta.ema(close, 50))
ema200_1h = request.security(syminfo.tickerid, "60", ta.ema(close, 200))
mtfTrendUp = ema50_1h > ema200_1h
mtfTrendDown = ema50_1h < ema200_1h
// === RİSK HESABI === //
atr = ta.atr(14)
riskAmount = accountSize * (riskPercent / 100)
positionSize = riskAmount / atr
// === KOŞULLAR === //
isBullish = dir and adx > adxThreshold and (not volumeFilter or vol > volMA)
isBearish = not dir and adx > adxThreshold and (not volumeFilter or vol > volMA)
longCond = close > ema200 and ema50 > ema200 and rsi > 40 and rsi < 70 and macdHist > 0 and mtfTrendUp and isBullish
shortCond = close < ema200 and ema50 < ema200 and rsi > 30 and rsi < 60 and macdHist < 0 and mtfTrendDown and isBearish
// === STRATEJİ === //
strategy.entry("Long", strategy.long, when=longCond)
strategy.exit("TP/SL Long", from_entry="Long", limit=close * (1 + takeProfitPercent / 100), stop=close * (1 - stopLossPercent / 100))
strategy.close("Long", when=macdHist < 0 or rsi > 70)
strategy.entry("Short", strategy.short, when=shortCond)
strategy.exit("TP/SL Short", from_entry="Short", limit=close * (1 - takeProfitPercent / 100), stop=close * (1 + stopLossPercent / 100))
strategy.close("Short", when=macdHist > 0 or rsi < 30)
// === GÖRSEL DESTEK === //
plot(ema50, title="EMA 50", color=color.orange)
plot(ema200, title="EMA 200", color=color.teal)
plotshape(longCond, title="Long", location=location.belowbar, color=color.green, text="AL", style=shape.labelup)
plotshape(shortCond, title="Short", location=location.abovebar, color=color.red, text="SAT", style=shape.labeldown)
// === DASHBOARD === //
var table dash = table.new(position.top_right, 1, 5, border_width=1)
if bar_index % 5 == 0
table.cell(dash, 0, 0, "📊 Quantum Phoenix 2.0", text_color=color.white, bgcolor=color.blue)
table.cell(dash, 0, 1, "Hesap: $" + str.tostring(accountSize, "#.##"), text_color=color.white)
table.cell(dash, 0, 2, "TP: " + str.tostring(takeProfitPercent) + "% | SL: " + str.tostring(stopLossPercent) + "%", text_color=color.white)
table.cell(dash, 0, 3, "ADX: " + str.tostring(adx, "#.##") + " | ATR: " + str.tostring(atr, "#.##"), text_color=color.white)
table.cell(dash, 0, 4, "MTF Trend: " + (mtfTrendUp ? "UP" : mtfTrendDown ? "DOWN" : "FLAT"), text_color=color.white)
// === ALARMLAR === //
alertcondition(longCond, title="LONG Giriş", message="Quantum Phoenix 2.0 - LONG sinyali!")
alertcondition(shortCond, title="SHORT Giriş", message="Quantum Phoenix 2.0 - SHORT sinyali!")