//version=5 indicator("Candle Coloration by MA with Oscillator Signals", overlay=true)
// Definindo as médias móveis de 20 e 200 períodos MM20 = ta.sma(close, 20) // Média Móvel de 20 MM200 = ta.sma(close, 200) // Média Móvel de 200
// Condições para a cor das médias móveis cor_MA20 = MM20 > MM20[1] ? color.green : color.red // Cor da MM20 (verde se for crescente, vermelho se for decrescente) cor_MA200 = MM200 > MM200[1] ? color.green : color.red // Cor da MM200 (verde se for crescente, vermelho se for decrescente)
// Definindo as condições para a coloração dos candles compra = MM20 > MM200 and close > MM20 // Condição de compra (candle verde) venda = MM20 < MM200 and close < MM20 // Condição de venda (candle vermelho) transicao = MM20 > MM200 and close < MM20 or MM20 < MM200 and close > MM20 // Condição de transição (candle azul)
// Condições para os sinais de compra e venda do MACD macdCompra = ta.crossover(delta, 0) // Sinal de compra do MACD (quando o MACD cruza para cima) macdVenda = ta.crossunder(delta, 0) // Sinal de venda do MACD (quando o MACD cruza para baixo)
// Coloração dos candles com base nas condições barcolor(compra ? color.green : venda ? color.red : transicao ? color.blue : na)
// Plotando as médias móveis com a cor dinâmica plot(MM20, color=cor_MA20, linewidth=2, title="Média Móvel 20") plot(MM200, color=cor_MA200, linewidth=2, title="Média Móvel 200")
// Exibindo o fundo com base nos sinais de compra e venda bgcolor(compra ? color.new(color.green, 90) : venda ? color.new(color.red, 90) : na)
// Plotando os sinais de compra e venda com o oscilador plotshape(macdCompra, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small, textcolor=color.white) plotshape(macdVenda, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small, textcolor=color.white)