//version=5 indicator("Indicador IQ Option - Reversão Simples com Pontos de Liquidez", overlay=true)
// Configurações do RSI para detectar condições de reversão rsiLength = input.int(14, title="Período do RSI") overbought = input.int(70, title="Nível de Sobrecomprado (Venda)") oversold = input.int(30, title="Nível de Sobrevendido (Compra)") rsi = ta.rsi(close, rsiLength)
// Definindo as condições de entrada de compra (CALL) e venda (PUT) sinalCompra = ta.crossover(rsi, oversold) // RSI cruzando para cima o nível de sobrevenda sinalVenda = ta.crossunder(rsi, overbought) // RSI cruzando para baixo o nível de sobrecompra
// Plotando os indicativos de entrada para Compra (CALL) e Venda (PUT) como texto plotshape(series=sinalCompra, title="Entrada CALL", location=location.belowbar, color=color.green, style=shape.labelup, text="CALL") plotshape(series=sinalVenda, title="Entrada PUT", location=location.abovebar, color=color.red, style=shape.labeldown, text="PUT")
// Identificando os dois últimos pontos de liquidez (topos e fundos) lookback = 50 // Número de barras para procurar os topos e fundos
// Encontrando os índices dos maiores topos e fundos nas últimas `lookback` barras topoIndex = ta.highestbars(high, lookback) fundoIndex = ta.lowestbars(low, lookback)
// Garantindo que os índices não sejam negativos (significa que o ponto não existe dentro da janela de lookback) validTopoIndex = topoIndex >= 0 ? topoIndex : na validFundoIndex = fundoIndex >= 0 ? fundoIndex : na
// Preços de liquidez nos topos e fundos liquidezTopo = validTopoIndex >= 0 ? high[validTopoIndex] : na liquidezFundo = validFundoIndex >= 0 ? low[validFundoIndex] : na
// Plotando linhas horizontais nos dois últimos pontos de liquidez if (validTopoIndex >= 0) line.new(x1=bar_index[validTopoIndex], y1=liquidezTopo, x2=bar_index, y2=liquidezTopo, color=color.orange, width=2, style=line.style_dashed) if (validFundoIndex >= 0) line.new(x1=bar_index[validFundoIndex], y1=liquidezFundo, x2=bar_index, y2=liquidezFundo, color=color.blue, width=2, style=line.style_dashed)
// Detectando reversões após os pontos de liquidez reversaoTopo = ta.crossover(close, liquidezTopo) // Quando o preço ultrapassa o topo reversaoFundo = ta.crossunder(close, liquidezFundo) // Quando o preço cai abaixo do fundo
// Plotando setas de reversão plotshape(series=reversaoTopo, title="Reversão no Topo", location=location.abovebar, color=color.yellow, style=shape.triangledown, text="Reversão") plotshape(series=reversaoFundo, title="Reversão no Fundo", location=location.belowbar, color=color.purple, style=shape.triangleup, text="Reversão")
// Alertas para notificar o trader alertcondition(sinalCompra, title="Sinal de Compra (CALL)", message="Sinal de Compra (CALL) detectado!") alertcondition(sinalVenda, title="Sinal de Venda (PUT)", message="Sinal de Venda (PUT) detectado!")