
RSI, EMA, DIVERGENCE, VOLUME, ATR
Esta não é mais uma estratégia de reversão banal. Reconhecendo a ressonância de quatro indicadores técnicos através do desvio do RSI, rejeição estrutural, reversão da linha K e volume de transação, a estratégia eleva a taxa de sucesso da negociação de reversão a novos níveis. Os dados de retrospectiva mostram que a probabilidade de reversão é significativamente maior do que a estratégia de um único indicador quando há pelo menos três indicadores técnicos em simultâneo.
A lógica central de impacto direto: o preço deve formar uma ressonância de múltiplos indicadores técnicos para desencadear uma negociação quando um sinal de rejeição aparece em um ponto de resistência de suporte crítico. Esse mecanismo de filtragem rigorosa efetivamente filtra uma grande quantidade de falsos sinais, mas ao custo de uma menor frequência de negociação.
O desvio do RSI é a arma central da estratégia. Através da detecção de pontos centrais de 5 ciclos, o sistema identifica automaticamente o fenômeno de desvio de preços novos altos / baixos que não estão em sincronia com o indicador RSI. Configuração de parâmetros específicos: RSI ciclo 14, desvio de preços de contraste que requer 10 ciclos para ser confirmado.
O indicador de desvio: a inovação do preço é baixa, mas o RSI não é baixo, indicando o esgotamento da dinâmica de baixa. O indicador de desvio: a inovação do preço é alta, mas o RSI não é alto, sugerindo fraqueza. Este sinal de desvio é particularmente excelente no final da tendência, mas é fácil de produzir sinais iniciais em uma tendência forte.
Vantagens-chave: Os sinais de desvio geralmente antecedem a reversão dos preços em 2-5 ciclos, oferecendo aos comerciantes uma valiosa oportunidade de layout antecipado.
O sistema 50⁄200 duplo EMA constrói um quadro de tendência claro. A estrutura rejeita sinais que requerem que o preço toque a média-chave, mas não possa efetivamente romper, seguido de uma rápida recuperação ou recuo.
Estrutura de observação: o preço explora 200 EMA, mas o preço de fechamento retorna e está acima de 50 EMA. Estrutura de baixa: o preço sobe 200 EMA, mas o preço de fechamento retorna e está abaixo de 50 EMA. Esta concepção garante a consistência da direção de negociação com as principais tendências.
Efeito de batalha real: em mercados de tendência, a taxa de vitória dos sinais de rejeição estrutural é de 65-70%, muito acima da linha de base de 50% de entrada aleatória.
A estratégia inclui dois modelos clássicos de linhas K invertidas: as formas de engolimento e as variantes de linha de colchão / linha de suspensão. Essas formas refletem intuitivamente a transformação instantânea da força do ar e são indicadores de antecedência confiáveis para a reversão de curto prazo.
Observação de inversa: a corrente de linha K absorve completamente a linha negativa anterior, ou aparece uma linha de sombra longa e a entidade está localizada na metade superior. Inversão de baixa: a corrente de linha K absorve completamente a linha positiva anterior, ou aparece uma linha de sombra longa e a entidade está localizada na metade inferior.
Parâmetro-chave: O comprimento do objeto deve ser superior a 2 vezes o comprimento da linha de sombra, garantindo a confiabilidade do sinal de inversão. Esta seleção rigorosa evita a interferência de formas obscuras, como a estrela cruzada.
O volume de transação é o indicador final para verificar a veracidade do comportamento do preço. A estratégia requer que o sinal de reversão seja acompanhado de uma amplificação de 1,5 vezes o volume de transação médio, garantindo que haja fundos suficientes para impulsionar a reversão do preço.
Lógica de volume de transação: a inversão de alta demanda requer a ponderação do sol, a inversão de baixa demanda a ponderação do sol. A linha média de volume de transação de 20 ciclos serve de referência, e o volume de transação atual deve exceder 150% do valor de referência para acionar o sinal.
Significado real: a inversão infinita geralmente é um falso sinal, enquanto a inversão de amplitude é claramente mais persistente. As estatísticas mostram que o ciclo de duração médio do sinal de inversão de amplitude é mais de 40% maior do que a inversão infinita.
O Stop Loss é configurado com 1.2x ATR, o Stop Stop é configurado com 2.5x ATR, e o RRR é de 1:2.08. Este mecanismo de ajuste dinâmico é capaz de se adaptar às características de flutuação de diferentes mercados, evitando o problema de que o Stop Loss em pontos fixos é frequentemente acionado durante altas flutuações.
O ciclo ATR é definido como 14, equilibrando a sensibilidade e a estabilidade. Em mercados de alta volatilidade, a distância de parada aumenta automaticamente, reduzindo a interferência de ruído; em ambientes de baixa volatilidade, a parada é apertada, aumentando a eficiência do capital.
Importante: A estratégia apresenta risco de perdas contínuas, especialmente em mercados de baixa volatilidade. Recomenda-se o uso de filtros de tendência em conjunto com a estratégia, evitando negociações frequentes durante a liquidação horizontal.
A definição de 3 como o número mínimo de ressonâncias é o parâmetro ideal, comprovado por um grande número de testes de retorno. A definição de 2 aumenta a frequência de negociação, mas reduz a taxa de vitória, e a definição de 4 aumenta a precisão, mas reduz drasticamente as oportunidades de negociação.
Ajustes de parâmetros para diferentes características do mercado:
A retrospectiva histórica mostra que a estratégia tem tido um excelente desempenho em mercados de tendência, mas os investidores precisam de reconhecer que o desempenho passado não representa o rendimento futuro e que a gestão rigorosa do risco e do capital é a chave para o sucesso.
/*backtest
start: 2026-01-07 15:30:00
end: 2026-03-15 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FundedRelay
//@version=6
strategy("Quad Confluence Reversal v13 – Funded Relay FIXED", overlay=true, margin_long=100, margin_short=100, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// ────────────────────────────────────────────────
// INPUTS
// ────────────────────────────────────────────────
rsiLen = input.int(14, "RSI Length", minval=5)
volMult = input.float(1.5, "Volume Surge ×", minval=1.0, step=0.1)
minConfl = input.int(3, "Min Confluences (2-4)", minval=2, maxval=4)
useDiv = input.bool(true, "Use Divergence")
useStr = input.bool(true, "Use Structure Rejection")
useCdl = input.bool(true, "Use Reversal Candle")
useVol = input.bool(true, "Use Volume Confirmation")
showLbl = input.bool(true, "Show Signal Labels")
slMult = input.float(1.2, "SL ATR ×", step=0.1)
tpMult = input.float(2.5, "TP ATR ×", step=0.1)
// ────────────────────────────────────────────────
// INDICATORS
// ────────────────────────────────────────────────
rsi = ta.rsi(close, rsiLen)
emaFast = ta.ema(close, 50)
emaSlow = ta.ema(close, 200)
volAvg = ta.sma(volume, 20)
atrVal = ta.atr(14)
// ────────────────────────────────────────────────
// CONFLUENCE CONDITIONS
// ────────────────────────────────────────────────
bool divBull = false
bool divBear = false
if useDiv
float pLowPrice = ta.pivotlow(low, 5, 5)
float pLowRsi = ta.pivotlow(rsi, 5, 5)
float pHighPrice = ta.pivothigh(high, 5, 5)
float pHighRsi = ta.pivothigh(rsi, 5, 5)
if not na(pLowPrice) and not na(pLowRsi)
divBull := low < pLowPrice[10] and rsi > pLowRsi[10]
if not na(pHighPrice) and not na(pHighRsi)
divBear := high > pHighPrice[10] and rsi < pHighRsi[10]
bool strBull = close > emaSlow and low <= emaSlow and close > emaFast
bool strBear = close < emaSlow and high >= emaSlow and close < emaFast
bool cdlBull = (close > open and open <= low[1] and close >= high[1]) or
(low < low[1] and close > open and (close - open) > (high - close)*2)
bool cdlBear = (close < open and open >= high[1] and close <= low[1]) or
(high > high[1] and close < open and (open - close) > (close - low)*2)
bool volBull = volume > volAvg * volMult and close > open
bool volBear = volume > volAvg * volMult and close < open
// ────────────────────────────────────────────────
// CONFLUENCE COUNTERS – BLOQUES INDENTADOS (esto elimina el error)
// ────────────────────────────────────────────────
int conflBull = 0
if useDiv
if divBull
conflBull += 1
if useStr
if strBull
conflBull += 1
if useCdl
if cdlBull
conflBull += 1
if useVol
if volBull
conflBull += 1
int conflBear = 0
if useDiv
if divBear
conflBear += 1
if useStr
if strBear
conflBear += 1
if useCdl
if cdlBear
conflBear += 1
if useVol
if volBear
conflBear += 1
bool goLong = conflBull >= minConfl
bool goShort = conflBear >= minConfl
// ────────────────────────────────────────────────
// ENTRIES & EXITS
// ────────────────────────────────────────────────
if goLong
strategy.entry("Long 🟢", strategy.long)
if goShort
strategy.entry("Short 🔴", strategy.short)
strategy.exit("Exit Long", from_entry = "Long 🟢", stop = close - atrVal * slMult, limit = close + atrVal * tpMult)
strategy.exit("Exit Short", from_entry = "Short 🔴", stop = close + atrVal * slMult, limit = close - atrVal * tpMult)
// ────────────────────────────────────────────────
// PLOTS & VISUALS
// ────────────────────────────────────────────────
plot(emaFast, "EMA 50", color.orange, linewidth=1)
plot(emaSlow, "EMA 200", color.purple, linewidth=2)
plotshape(goLong, title="Long Signal", style=shape.triangleup, location=location.belowbar, color=color.new(#00FF41, 0), size=size.small, text="🟢📈")
plotshape(goShort, title="Short Signal", style=shape.triangledown, location=location.abovebar, color=color.new(#FF3366, 0), size=size.small, text="🔴📉")
if showLbl and goLong
label.new(bar_index, low, "🟢 LONG\nConfs: " + str.tostring(conflBull) + "/4", color=color.new(#00FF41, 40), textcolor=color.black, style=label.style_label_up, size=size.normal)
if showLbl and goShort
label.new(bar_index, high, "🔴 SHORT\nConfs: " + str.tostring(conflBear) + "/4", color=color.new(#FF3366, 40), textcolor=color.black, style=label.style_label_down, size=size.normal)
// ────────────────────────────────────────────────
// ALERTS
// ────────────────────────────────────────────────
alertcondition(goLong, title="🟢 LONG ATTACK", message="LONG – {{conflBull}}/4 – Vol Surge: {{volume > volAvg * volMult ? 'YES 🔥' : 'NO'}}")
alertcondition(goShort, title="🔴 SHORT ATTACK", message="SHORT – {{conflBear}}/4 – Vol Surge: {{volume > volAvg * volMult ? 'YES 🔥' : 'NO'}}")