
La stratégie de trading quantitatif multi-indicateurs est une méthode de trading quantitatif basée sur l’analyse de la fusion de plusieurs indicateurs techniques, qui intègre 30 indicateurs techniques différents, y compris les indicateurs de tendance, les indicateurs de dynamique, les indicateurs de volatilité, les indicateurs de volume de transactions et d’autres indicateurs spéciaux, afin de former un système de trading de signaux complet grâce à l’analyse synchrone de ces indicateurs. La stratégie utilise principalement un mécanisme de vérification et de filtrage entre plusieurs indicateurs, tout en identifiant les tendances du marché.
Le principe central de la stratégie est de former un système de décision de transaction mutuellement vérifiable grâce à une analyse de marché multidimensionnelle. La stratégie définit d’abord cinq grandes catégories de systèmes d’indicateurs:
Indicateur de tendanceLes indices suivants sont utilisés pour identifier les principales directions du marché: SMA50, SMA200, EMA20, EMA50 et ADX. La hausse ou la baisse de l’ADX est utilisée pour identifier la hausse ou la baisse de la tendance.
Indicateur de vitesseCes indicateurs sont principalement utilisés pour mesurer la vitesse et l’intensité des fluctuations des prix et pour identifier les zones potentiellement en survente ou en survente.
Indicateur de volatilitéCes indicateurs sont utilisés pour évaluer la volatilité du marché et identifier les potentielles ruptures de prix.
Indicateur de réalisationLes indicateurs de l’indicateur de change sont les suivants: OBV, indice des flux de trésorerie (MFI), VWAP et indice de Chaikin. Ces indicateurs confirment la véracité des tendances des prix en analysant les variations du volume des transactions.
Autres indicateurs spéciauxIl comprend le SAR, la Supertrend, le Williams %R, le Fibonacci Retracement et certains indicateurs améliorés basés sur la ligne moyenne.
La logique de négociation de la stratégie est basée sur l’analyse globale de ces indicateurs, et les conditions spécifiques des signaux de négociation sont les suivantes:
Plus de conditions: demande une tendance à la hausse de l’ADX, le RSI ne dépasse pas 70, la ligne MACD est au-dessus de la ligne de signal, l’indicateur aléatoire K est supérieur à 20 et le CCI est supérieur à 100, le prix a traversé la bande de Brin et s’est mis en orbite, l’OBV est supérieur à sa moyenne quotidienne de 20 jours, le volume de transactions a soudainement augmenté, formant une croix d’or et le prix est au-dessus de la moyenne quotidienne de 200 jours.
Conditions de mise à l’écart: demande une baisse de tendance de l’ADX, le RSI est supérieur à 30, la ligne MACD est en dessous de la ligne de signal, l’indicateur aléatoire D est inférieur à 80, le CCI est inférieur à 100, le prix est tombé en dessous de la bande de Brin, l’OBV est inférieur à sa moyenne de 20 jours, le volume de transactions est soudainement amplifié, une croix morte est formée et le prix est en dessous de la moyenne de 200 jours.
Une fois que le signal de transaction est déclenché, la stratégie utilise un arrêt de perte dynamique basé sur l’ATR, soit un arrêt de perte sur le prix actuel moins 2 fois l’ATR, un arrêt sur le prix actuel plus 4 fois l’ATR (pour faire plus), ou vice versa (pour faire moins).
Une analyse multidimensionnelle du marchéEn intégrant 30 différents types d’indicateurs techniques, la stratégie permet d’analyser le marché à partir de plusieurs dimensions, de réduire les signaux trompeurs d’un seul indicateur et d’améliorer la fiabilité des décisions de négociation.
Un système de filtrage des signaux strict: La stratégie impose des conditions multiples aux signaux de négociation et permet de filtrer efficacement les faux signaux en n’ouvrant une position que si la majorité des indicateurs sont orientés dans la même direction.
Gestion dynamique des risques: Le stop loss est réglé dynamiquement en fonction de l’ATR et les paramètres de risque sont ajustés en fonction de la volatilité réelle du marché, ce qui évite la limitation du stop loss à point fixe dans différentes conditions de marché.
La tendance et les fluctuationsLa stratégie consiste à regarder à la fois les tendances à moyen et long terme et les fluctuations à court terme, afin de saisir les opportunités de transactions dans les grandes tendances et d’optimiser le moment d’entrée en bourse en utilisant des indicateurs fluctuants.
Coût et analyse combinésL’objectif est d’améliorer l’exactitude des tendances en intégrant plusieurs indicateurs de volume de transactions pour vérifier la véracité des mouvements de prix.
Genres technologiques intégrésLa stratégie intègre les idées de plusieurs genres d’analyses techniques, tels que le suivi des tendances, les transactions de rupture et les transactions de swing, ce qui rend la stratégie plus adaptable.
Indicateur de risque de surpeuplement: L’utilisation de 30 indicateurs peut entraîner des signaux contradictoires, en particulier dans les marchés volatiles, où plusieurs indicateurs peuvent donner des signaux contradictoires, entraînant des opportunités de trading perdues ou de mauvaises décisions.
Défi d’optimisation des paramètresLes données historiques sont souvent sur-calculées, ce qui signifie qu’il y a beaucoup de paramètres à optimiser, ce qui peut conduire à une sur-calcul des données historiques, qui ne fonctionnent pas bien dans le monde réel.
Calcul de charge du système: Le calcul d’un grand nombre d’indicateurs augmente la consommation de ressources du système et peut entraîner une lenteur de fonctionnement de la stratégie, en particulier lorsque des transactions à haute fréquence ou de plusieurs variétés sont exécutées simultanément.
Problème de pénurie de signauxLes conditions d’entrée sont extrêmement strictes, ce qui peut entraîner l’absence de signaux de trading pendant de longues périodes, ce qui réduit l’efficacité de l’utilisation des fonds.
Les conditions du marché dépendentBien que la stratégie intègre plusieurs indicateurs, elle peut être inefficace dans certaines conditions spécifiques du marché (extrême volatilité ou épuisement de la liquidité).
La solution est simple:
Optimisation des poids des indicateursIl est possible d’utiliser des méthodes d’apprentissage automatique telles que les forêts aléatoires ou les réseaux neuronaux pour évaluer l’importance de chaque indicateur et ajuster dynamiquement les poids.
Mécanisme d’adaptation des paramètres: Pour les paramètres clés tels que l’indicateur William, les paramètres de cycle peuvent être ajustés automatiquement en fonction de la volatilité du marché ou du cycle de négociation, par exemple en utilisant des cycles plus longs lorsque la volatilité augmente.
Traitement des signaux par couches: les indicateurs sont divisés en deux catégories: les indicateurs de confirmation et les indicateurs de filtrage. Les indicateurs de confirmation sont utilisés pour générer des signaux de base et les indicateurs de filtrage pour améliorer la qualité du signal, ce qui permet d’augmenter le nombre de signaux tout en conservant une qualité plus élevée.
Identifier le contexte du marché: Ajout d’un module de classification de l’état du marché, permettant d’identifier si le marché actuel est un marché tendanciel ou un marché oscillant, et d’ajuster dynamiquement les paramètres de la stratégie et les règles de négociation en conséquence.
Optimiser l’efficacité du calcul: pour simplifier certains indicateurs de haute pertinence, ou utiliser des méthodes de calcul plus efficaces, comme l’utilisation de la technique de lissage de l’indicateur au lieu de la moyenne mobile simple, réduire la charge de calcul.
Améliorer les stratégies de stop lossConsidérez l’ajout d’un stop tracking ou d’un stop dynamique basé sur la volatilité, tout en laissant suffisamment de place au prix pour qu’il fluctue tout en protégeant les bénéfices.
Optimisation de la gestion des fonds: Adhésion à la gestion de positions basée sur les critères de Kelly ou sur un modèle à scores fixes, en ajustant le pourcentage de fonds par transaction en fonction de l’intensité du signal et de la volatilité du marché.
La raison pour laquelle ces orientations ont été optimisées est que, bien que les stratégies actuelles intègrent l’analyse multidimensionnelle, la logique de génération de signaux trop rigide et le traitement des indicateurs équivalents limitent l’adaptabilité et l’efficacité des stratégies. L’introduction de mécanismes d’adaptation, de traitement par couches et d’attribution de poids intelligente peut améliorer la flexibilité des stratégies et leur capacité d’adaptation au marché, tout en conservant les avantages de l’analyse multidimensionnelle.
La stratégie de trading quantitative multi-indicateurs d’analyse intégrée construit un système de décision de trading complet en intégrant des informations sur le marché à plusieurs dimensions telles que la tendance, la dynamique, la volatilité et le volume des transactions. Les principaux avantages de la stratégie résident dans la fiabilité du signal et la dynamique de la gestion des risques, mais elle est également confrontée à des défis tels que la rareté du signal et la charge de calcul.
Du point de vue de la mise en œuvre, la stratégie est structurée en un code clair et logiquement défini sur la plate-forme TradingView, divisé en trois modules principaux: définition de l’indicateur, génération de signal et exécution de la stratégie. L’espace d’optimisation du code est principalement l’adaptation des paramètres et le poids de l’indicateur.
Dans l’ensemble, il s’agit d’une stratégie de quantification intégrée, complète et logique, particulièrement adaptée aux tendances à moyen et long terme et aux environnements de marché très volatils. En proposant des orientations d’optimisation, en particulier le traitement stratifié des indicateurs et l’identification de l’environnement du marché, la stratégie peut encore améliorer son adaptabilité et sa stabilité dans différentes conditions de marché, pour devenir un système de trading quantifié plus complet et plus robuste.
/*backtest
start: 2025-03-17 00:00:00
end: 2025-03-24 00:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("30 Göstergeli Strateji (BAKİ REİS)", overlay=true)
// 1. Trend Göstergeleri
// ------------------------------
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
[diPlus, diMinus, adx] = ta.dmi(14, 14)
trendUp = ta.rising(adx, 3)
trendDown = ta.falling(adx, 3)
// 2. Momentum Göstergeleri
// ------------------------------
rsi = ta.rsi(close, 14)
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
macdSignal = ta.ema(macdLine, 9)
stochK = ta.sma(ta.stoch(close, high, low, 14), 3)
stochD = ta.sma(stochK, 3)
cci = ta.cci(close, 20)
mom = ta.mom(close, 10)
// 3. Volatilite Göstergeleri
// ------------------------------
bbUpper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)
bbLower = ta.sma(close, 20) - 2 * ta.stdev(close, 20)
atr = ta.atr(14)
kcUpper = ta.ema(close, 20) + 2 * ta.atr(20)
kcLower = ta.ema(close, 20) - 2 * ta.atr(20)
// 4. Hacim Göstergeleri
// ------------------------------
obv = ta.obv
mfi = ta.mfi(close, 14)
vwap = ta.vwap(close)
chaikin = ta.ema((close - low) - (high - close), 3) / (high - low) * volume
// 5. Diğer Göstergeler
// ------------------------------
sar = ta.sar(0.02, 0.2, 0.2)
[supertrendLine, supertrendDir] = ta.supertrend(3, 10)
williamsR = ta.wpr(14) // DÜZELTME BURADA!
fibRetrace = close > ta.highest(close, 50) * 0.618
ichimokuTenkan = ta.ema(close, 9)
ichimokuKijun = ta.ema(close, 26)
// 6. Özel Koşullar
// ------------------------------
goldenCross = ta.crossover(ema20, ema50)
deathCross = ta.crossunder(ema20, ema50)
volumeSpike = volume > 2 * ta.sma(volume, 20)
priceAboveSMA200 = close > sma200
// Sinyal Mantığı (Aynı)
// ------------------------------
longCondition = trendUp and rsi < 70 and macdLine > macdSignal and stochK > 20 and cci > -100 and close > bbUpper and obv > ta.ema(obv, 20) and volumeSpike and goldenCross and priceAboveSMA200
shortCondition = trendDown and rsi > 30 and macdLine < macdSignal and stochD < 80 and cci < 100 and close < bbLower and obv < ta.ema(obv, 20) and volumeSpike and deathCross and close < sma200
// Strateji Kuralları
// ------------------------------
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", stop=close - 2 * atr, limit=close + 4 * atr)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", stop=close + 2 * atr, limit=close - 4 * atr)
// Grafik Çizimleri
// ------------------------------
plot(sma50, color=color.blue)
plot(sma200, color=color.red)
plot(bbUpper, color=color.gray)
plot(bbLower, color=color.gray)