//@version=5
indicator("Diferencial de Médias", overlay=true)
// Parâmetros
MaFast_period = input(9, title="Período da Média Rápida")
MaSlow_period = input(21, title="Período da Média Lenta")
Signal_period = input(5, title="Período da Média Ponderada")
// Cálculo das médias móveis
smaFast = [Link](close, MaFast_period)
smaSlow = [Link](close, MaSlow_period)
// Cálculo diferencial - série
buffer1 = smaFast - smaSlow
// Cálculo da média móvel ponderada - série
buffer2 = [Link](buffer1, Signal_period)
// Condições de compra e venda
buyCondition = buffer1 > buffer2 and [Link](buffer1, buffer2)
sellCondition = buffer1 < buffer2 and [Link](buffer1, buffer2)
// Plotando sinais no gráfico
plotshape(buyCondition, title="Compra", location=[Link],
style=[Link], color=[Link], size=[Link])
plotshape(sellCondition, title="Venda", location=[Link],
style=[Link], color=[Link], size=[Link])