Stratégie de résonance à dix indicateurs


Date de création: 2026-02-11 14:05:42 Dernière modification: 2026-02-11 14:05:42
Copier: 2 Nombre de clics: 75
2
Suivre
413
Abonnés

Stratégie de résonance à dix indicateurs Stratégie de résonance à dix indicateurs

RMI, ALMA, CTI, STC, GUNXO, DEMA-DMI, MM, DMI-LOOP, TO, STOCH

10 critères pour voter, ce n’est pas une décision prise à la légère

Cette stratégie intègre 10 indicateurs techniques de différentes dimensions pour un “vote démocratique” par un système de notation pondéré. Les ALMA et STC, DEMA-DMI ont une pondération de 2, les autres indicateurs ont une pondération de 1. Un signal de tendance forte est déclenché lorsque le score à plusieurs têtes - le score à vide est > 4, un signal de tendance faible est > 1.

Le mécanisme de confirmation des tendances est plus strict que vous ne le pensez.

La stratégie a conçu un mécanisme de double confirmation: le signal original doit rester en phase pendant 2 cycles consécutifs pour former une tendance confirmée. Cela signifie qu’une fausse rupture est très difficile à déclencher.

La combinaison RMI+EMA5 est plus sensible que le RSI traditionnel

RMI ((8 cycles) combiné avec le taux de variation EMA5 réagit 15% plus rapidement que le RSI standard. Lorsque le RMI est en hausse et que la courbe EMA5 est correcte, il génère un signal à plusieurs têtes.

ALMA résout le problème du retard de l’EMA

82 cycles ALMA ((0,7 déviation, 3,8 sigma) avant l’EMA de la même période. Cette combinaison de paramètres a été optimisée pour maximiser la vitesse de réponse tout en conservant la fluidité. Le prix de rupture de la ligne ALMA est la condition de filtrage centrale, les données historiques montrent que le signal a atteint un taux de victoire de 72%, mais doit être confirmé avec d’autres indicateurs.

L’indicateur CTI capture une forte sous-estimation de la force relative des prix

Le seuil de 45 cycles CTI est défini à ±0.3, ce qui est plus sensible que le traditionnel 0.5. CTI> 0.3 indique que le prix est dans la zone de force par rapport aux fluctuations historiques, <-0.3 est faible. L’indicateur se distingue dans la phase d’accélération de la tendance, mais est susceptible de produire du bruit lors de la compilation horizontale. Il est recommandé de se référer au signal CTI uniquement lorsque d’autres indicateurs de tendance sont confirmés.

Le système de double différence EMA est simple mais efficace

La paire EMA à 2150 cycles est une configuration classique, qui confirme la tendance à plusieurs têtes en traversant la ligne rapide. Bien qu’elle semble ordinaire, elle joue le rôle de filtre de base dans un système à plusieurs indicateurs. Le taux de victoire de la stratégie globale est de seulement 55% en utilisant seule, mais après avoir été combinée avec d’autres indicateurs, le taux de victoire est de 65%.

DEMA-DMI double confirmation pour éviter une fausse intrusion

La DEMA à 50 cycles est combinée à la DMI à 14 cycles, qui génère un signal polyvalent lorsque le prix dépasse la DEMA et que DI+>DI−. La DEMA est en retard d’environ 30% par rapport à une EMA ordinaire, ce qui assure une intensité de tendance suffisante. Cette combinaison a une pondération de 2 points dans la conception pondérée, ce qui en témoigne l’importance.

Le système MM pour cent identifie plus précisément les surachats

L’indicateur MM à 13 cycles standardise la position des prix dans la fourchette 0-100,> 70 pour les surachats et < 30 pour les surventeurs. Cependant, la stratégie n’est pas une simple opération inverse, mais exige que les prix continuent la tendance de confirmation de la rupture de l’EMA.

Le système de notation pondérée est plus scientifique qu’un simple vote

Dans un système de pondération de 13 points, ALMA, STC et DEMA-DMI représentent 2 points chacun pour l’importance du suivi de la tendance. Un signal fort est déclenché lorsque l’écart de pointage est supérieur à 4 et un signal faible lorsque l’écart est supérieur à 1. Cette conception garantit le droit de parole des principaux indicateurs de tendance et évite que les indicateurs de choc ne soient induits en erreur dans le contexte de la tendance.

Astuce: la stratégie n’est pas la clé

Cette stratégie est excellente dans les marchés où la tendance est claire, mais produit de fréquents faux signaux lors des fluctuations horizontales. Les données de retracement sont basées sur la performance historique et ne représentent pas les gains futurs.

Code source de la stratégie
//@version=6
strategy("Swing Trade Strategy", overlay=true, 
         initial_capital=10000, 
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=95,
         commission_type=strategy.commission.percent,
         commission_value=0.1,
         calc_on_every_tick=false)

// INDIKATOR 1: RMI TREND SNIPER
rmiLength = 8
rmiUp = ta.rma(math.max(ta.change(close), 0), rmiLength)
rmiDown = ta.rma(-math.min(ta.change(close), 0), rmiLength)
rmiValue = rmiDown == 0 ? 100 : rmiUp == 0 ? 0 : 100 - (100 / (1 + rmiUp / rmiDown))
ema5 = ta.ema(close, 5)
ema5Change = ta.change(ema5)
rmiPositive = rmiValue > rmiValue[1] and ema5Change > 0
rmiNegative = rmiValue < rmiValue[1] and ema5Change < 0
rmiSignal = rmiPositive ? 1 : rmiNegative ? -1 : 0

// INDIKATOR 2: ALMA SMOOTH
almaLength = 82
almaOffset = 0.7
almaSigma = 3.8
almaValue = ta.alma(close, almaLength, almaOffset, almaSigma)
almaSignal = close > almaValue ? 1 : close < almaValue ? -1 : 0

// INDIKATOR 3: CTI
ctiLength = 45
ctiThreshold = 0.3
ctiSum = 0.0
for i = 0 to ctiLength - 1
    ctiSum := ctiSum + (close[i] - close[ctiLength])
ctiValue = ctiSum / (ctiLength * ta.stdev(close, ctiLength))
ctiSignal = ctiValue > ctiThreshold ? 1 : ctiValue < -ctiThreshold ? -1 : 0

// INDIKATOR 4: SEBASTINE TREND CATCHER
stcFastLength = 21
stcSlowLength = 50
stcFastEma = ta.ema(close, stcFastLength)
stcSlowEma = ta.ema(close, stcSlowLength)
stcSignal = stcFastEma > stcSlowEma ? 1 : stcFastEma < stcSlowEma ? -1 : 0

// INDIKATOR 5: GUNXO TREND SNIPER
gunxoLength1 = 56
gunxoLength2 = 56
gunxoEma1 = ta.ema(close, gunxoLength1)
gunxoEma2 = ta.ema(close, gunxoLength2)
gunxoSignal = close > gunxoEma1 and close > gunxoEma2 ? 1 : close < gunxoEma1 and close < gunxoEma2 ? -1 : 0

// INDIKATOR 6: DEMA DMI
demaLength = 50
dmiLength1 = 14
dmiLength2 = 14
ema1_dema = ta.ema(close, demaLength)
ema2_dema = ta.ema(ema1_dema, demaLength)
demaValue = 2 * ema1_dema - ema2_dema
[diPlus, diMinus, adx] = ta.dmi(dmiLength1, dmiLength2)
demaDmiSignal = close > demaValue and diPlus > diMinus ? 1 : close < demaValue and diMinus > diPlus ? -1 : 0

// INDIKATOR 7: MM FOR LOOP
mmLength = 13
mmThreshold = 70
mmEma = ta.ema(close, mmLength)
mmHigh = ta.highest(high, mmLength)
mmLow = ta.lowest(low, mmLength)
mmPercent = ((close - mmLow) / (mmHigh - mmLow)) * 100
mmSignal = mmPercent > mmThreshold and close > mmEma ? 1 : mmPercent < (100 - mmThreshold) and close < mmEma ? -1 : 0

// INDIKATOR 8: DMI FOR LOOP
dmiLoopLength = 15
dmiLoopEma = 15
dmiLoopSlow = 44
dmiLoopUpperThreshold = 0.25
dmiLoopLowerThreshold = -0.25
[diPlus2, diMinus2, adx2] = ta.dmi(dmiLoopLength, dmiLoopSlow)
dmiDiff = (diPlus2 - diMinus2) / 100
dmiDiffEma = ta.ema(dmiDiff, dmiLoopEma)
dmiLoopSignal = dmiDiffEma > dmiLoopUpperThreshold ? 1 : dmiDiffEma < dmiLoopLowerThreshold ? -1 : 0

// INDIKATOR 9: TREND OSCILLATOR
toLength = 12
toFast = ta.ema(close, toLength)
toSlow = ta.ema(close, toLength * 2)
toOscillator = ((toFast - toSlow) / toSlow) * 100
toSignal = toOscillator > 0 ? 1 : toOscillator < 0 ? -1 : 0

// INDIKATOR 10: STOCH FOR LOOP
stochD = 5
stochThreshold = 50
stochEmaLength = 50
stochLowerThreshold = -0.5
stochNeutralThreshold = 0.1
stochValue = ta.stoch(close, high, low, stochD)
stochEma = ta.ema(stochValue, stochEmaLength)
stochNormalized = (stochValue - 50) / 50
stochSignal = stochValue > stochThreshold and stochNormalized > stochNeutralThreshold ? 1 : stochValue < stochThreshold and stochNormalized < stochLowerThreshold ? -1 : 0

// VIKTAD SAMMANSLAGNING
bullishScore = (rmiSignal == 1 ? 1 : 0) + (almaSignal == 1 ? 2 : 0) + (ctiSignal == 1 ? 1 : 0) + (stcSignal == 1 ? 2 : 0) + (gunxoSignal == 1 ? 1 : 0) + (demaDmiSignal == 1 ? 2 : 0) + (mmSignal == 1 ? 1 : 0) + (dmiLoopSignal == 1 ? 1 : 0) + (toSignal == 1 ? 1 : 0) + (stochSignal == 1 ? 1 : 0)

bearishScore = (rmiSignal == -1 ? 1 : 0) + (almaSignal == -1 ? 2 : 0) + (ctiSignal == -1 ? 1 : 0) + (stcSignal == -1 ? 2 : 0) + (gunxoSignal == -1 ? 1 : 0) + (demaDmiSignal == -1 ? 2 : 0) + (mmSignal == -1 ? 1 : 0) + (dmiLoopSignal == -1 ? 1 : 0) + (toSignal == -1 ? 1 : 0) + (stochSignal == -1 ? 1 : 0)

// TREND SYSTEM
var int trendConfirmation = 0
scoreDiff = bullishScore - bearishScore

int rawTrend = scoreDiff > 4 ? 2 : scoreDiff > 1 ? 1 : scoreDiff < -4 ? -2 : scoreDiff < -1 ? -1 : 0

if rawTrend > 0
    trendConfirmation := trendConfirmation >= 0 ? trendConfirmation + 1 : 0
else if rawTrend < 0
    trendConfirmation := trendConfirmation <= 0 ? trendConfirmation - 1 : 0

confirmedTrend = trendConfirmation >= 2 ? rawTrend : trendConfirmation <= -2 ? rawTrend : 0

var int finalTrend = 0
if confirmedTrend != 0
    finalTrend := confirmedTrend

// ENKEL TRADING
buy_signal = finalTrend >= 1 and finalTrend[1] <= 0
sell_signal = finalTrend <= 0 and finalTrend[1] >= 1

if buy_signal
    strategy.entry("LONG", strategy.long)

if sell_signal
    strategy.close("LONG")

// VISUELLT
trendColor = finalTrend == 2 ? color.new(color.green, 0) : finalTrend == 1 ? color.new(color.green, 40) : finalTrend == -1 ? color.new(color.red, 40) : color.new(color.red, 0)

bgcolor(strategy.position_size > 0 ? color.new(color.green, 92) : na)

lineY = low - (ta.atr(14) * 2)
plot(lineY, "Trend Line", trendColor, 5)

plotshape(buy_signal, "KOP", shape.triangleup, location.belowbar, color.green, size=size.huge, text="KOP")
plotshape(sell_signal, "SALJ", shape.triangledown, location.abovebar, color.red, size=size.large, text="SALJ")