OPEN-SOURCE SCRIPT

Up/Down Days

191
//version=5
indicator("Up/Down Days", overlay=true)

// Check if today is an "up day" (close > previous close)
isUpDay = close > close[1]
// Check if today is a "down day" (close < previous close)
isDownDay = close < close[1]

// Plot arrows or labels
plotshape(isUpDay, title="Up Day", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(isDownDay, title="Down Day", color=color.red, style=shape.triangledown, location=location.abovebar)

// Count up/down days in a rolling window (e.g., last 30 days)
var int upDaysCount = 0
var int downDaysCount = 0

if isUpDay
upDaysCount += 1
else if isDownDay
downDaysCount += 1

// Reset counts every 30 days
if bar_index % 30 == 0
upDaysCount := 0
downDaysCount := 0

// Display counts
tablePosition = position.top_right
var table statsTable = table.new(tablePosition, 2, 1)
table.cell(statsTable, 0, 0, "Up Days: " + str.tostring(upDaysCount), bgcolor=color.green)
table.cell(statsTable, 1, 0, "Down Days: " + str.tostring(downDaysCount), bgcolor=color.red)

Aviso legal

As informações e publicações não devem ser e não constituem conselhos ou recomendações financeiras, de investimento, de negociação ou de qualquer outro tipo, fornecidas ou endossadas pela TradingView. Leia mais em Termos de uso.