//version=5 indicator(title="Estratégia EMA20 e RSI", shorttitle="EMA20+RSI", overlay=true)
// Configurações da EMA emaLength = input.int(20, title="Comprimento da EMA") emaSource = input.source(close, title="Fonte da EMA") emaValue = ta.ema(emaSource, emaLength)
// Configurações do RSI rsiLength = input.int(14, title="Comprimento do RSI") rsiOverbought = input.int(70, title="Nível de Sobrecompra do RSI", minval=50, maxval=100) rsiOversold = input.int(30, title="Nível de Sobrevenda do RSI", minval=0, maxval=50) rsiValue = ta.rsi(close, rsiLength)
// Plotagem da EMA plot(emaValue, color=color.blue, title="EMA20", linewidth=2)
// Condições de entrada longCondition = ta.crossover(close, emaValue) and rsiValue < rsiOversold shortCondition = ta.crossunder(close, emaValue) and rsiValue > rsiOverbought
// Plotagem das setas de entrada plotshape(series=longCondition, title="Sinal de Compra", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=shortCondition, title="Sinal de Venda", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Alertas if longCondition alert("Sinal de compra detectado! Fechamento acima da EMA20 e RSI em sobrevenda.", alert.freq_once_per_bar_close)
if shortCondition alert("Sinal de venda detectado! Fechamento abaixo da EMA20 e RSI em sobrecompra.", alert.freq_once_per_bar_close)