Estratégia de oscilação de ressonância de dez indicadores


Data de criação: 2026-02-11 14:05:42 última modificação: 2026-02-11 14:05:42
cópia: 2 Cliques: 75
2
focar em
413
Seguidores

Estratégia de oscilação de ressonância de dez indicadores Estratégia de oscilação de ressonância de dez indicadores

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

Votar com 10 pontos de influência não é uma decisão de cabeça para baixo.

Deixe de negociar com um único indicador. Esta estratégia integra 10 indicadores técnicos de diferentes dimensões para “voto democrático” por meio de um sistema de pontuação ponderado. ALMA e STC, DEMA-DMI têm um peso de 2 e os outros indicadores têm um peso de 1. Quando o escore múltiplo de cabeça-escore em branco é > 4, o sinal de tendência forte é acionado, e > 1 é a tendência fraca.

O mecanismo de confirmação de tendências é mais rigoroso do que você imagina.

É muito ingênuo. A estratégia foi projetada com um mecanismo de dupla confirmação: o sinal original deve permanecer isotérmico por 2 ciclos consecutivos para formar uma tendência confirmada. Isso significa que uma falsa ruptura é muito difícil de desencadear um sinal de negociação.

A combinação RMI + EMA5 é mais sensível do que o RSI tradicional

RMI ((8 ciclos) combinado com a taxa de variação EMA5 responde 15% mais rápido do que o RSI padrão. Quando RMI sobe e a inclinação EMA5 é o momento certo para produzir um sinal de múltiplas cabeças.

ALMA resolve o atraso da EMA

82 ciclos ALMA ((desvio de 0,7, sigma de 3,8) 2 a 3 ciclos de reconhecimento de tendências antes do EMA do mesmo período. Esta combinação de parâmetros foi otimizada para maximizar a velocidade de resposta, mantendo a suavidade. O preço quebra a linha ALMA é a condição de filtragem central, os dados históricos mostram que o sinal venceu 72%, mas precisa ser confirmado em conjunto com outros indicadores.

Indicador CTI captura preço de força relativa gravemente subestimado

O limiar CTI de 45 períodos é definido como ± 0.3, um ajuste mais sensível do que o 0.5 tradicional. CTI> 0.3 indica que o preço está na faixa de força em relação à flutuação histórica, <-0.3 é fraco. O indicador se destaca durante a aceleração da tendência, mas é propenso a ruído durante a composição horizontal. Recomenda-se consultar o sinal CTI apenas quando outros indicadores de tendência são confirmados.

Sistema de dupla diferença de EMA simples, mas eficaz

A combinação de EMA de 2150 de ciclo é a configuração clássica, a confirmação de tendências múltiplas através de linhas rápidas e lentas. Embora pareça normal, ela atua como um filtro básico no sistema de múltiplos indicadores.

DEMA-DMI dupla confirmação para evitar falsas brechas

O DEMA de 50 períodos combina com o DMI de 14 períodos, gerando um sinal de múltiplas cabeças quando o preço supera o DEMA e o DI+>DI- ❚ O DEMA diminui cerca de 30% do atraso do EMA normal, o DMI assegura a força da tendência suficiente ❚ Esta combinação representa 2 pontos no desenho ponderado, demonstrando sua importância ❚ Os testes mostraram que o recebimento após o ajuste de risco do sinal foi aumentado em 40% em relação ao único DEMA ❚

O sistema MM percentual é mais preciso na identificação de sobrecompras e sobrevendas

O indicador MM de 13 períodos padroniza a posição do preço na faixa de 0-100, com > 70 para sobrecompra e < 30 para sobrevenda. Mas a estratégia não é uma simples operação de reversão, mas exige que o preço continue a tendência de confirmação ao mesmo tempo em que quebra a EMA. Esse design evita o embaraço de “cobrar no meio da montanha”, mantendo a posição em uma forte tendência e não saindo prematuramente.

Um sistema de pontuação ponderada é mais científico do que um simples voto

Em um sistema ponderado de 13 pontos, ALMA, STC e DEMA-DMI representam a importância do acompanhamento de tendências em 2 pontos. Quando a diferença de pontuação de vazio é > 4, o sinal forte é acionado, e > 1 é o sinal fraco. Este design assegura o direito de expressão dos principais indicadores de tendência, evitando que os indicadores de oscilação sejam enganados no contexto da tendência.

A estratégia não é a chave para tudo

Esta estratégia tem um excelente desempenho em mercados com tendências claras, mas produz falsos sinais frequentes em momentos de oscilação horizontal. Os dados de retrospectiva são baseados em desempenho histórico e não representam receitas futuras. É recomendado o uso de um rigoroso gerenciamento de fundos, com o risco individual controlado em menos de 2%. A estratégia é adequada para operadores de média e longa linha e não para operações diárias de alta frequência.

Código-fonte da estratégia
//@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")