Cores e Preenchimentos

Trabalhando com cores e fills

Sistema de Cores

Cores no Pine Script v6

Cores Predefinidas

color.aqua, color.black, color.blue, color.fuchsia
color.gray, color.green, color.lime, color.maroon
color.navy, color.olive, color.orange, color.purple
color.red, color.silver, color.teal, color.white
color.yellow

Cores Hexadecimais

corCustom = #FF5733    // RGB
corComAlpha = #FF573380  // RGBA (80 = 50% transparência)

Função color.new()

Cria cor com transparência:

corTransparente = color.new(color.red, 50)  // 50% transparente

Função color.rgb()

Cria cor a partir de componentes RGB:

corRGB = color.rgb(255, 87, 51)        // RGB
corRGBA = color.rgb(255, 87, 51, 50)   // RGBA com transparência
Cores Dinâmicas

Cores que mudam baseadas em condições

1//@version=6
2indicator("Cores Dinâmicas", overlay=true)
3
4// RSI para determinar condição
5rsi = ta.rsi(close, 14)
6
7// Cor gradiente baseada no RSI
8// Verde quando RSI baixo (sobrevendido), Vermelho quando alto (sobrecomprado)
9r = int(rsi * 2.55)  // 0-255 baseado no RSI
10g = int((100 - rsi) * 2.55)
11corGradiente = color.rgb(r, g, 0)
12
13// Aplicar cor às barras
14barcolor(corGradiente)
15
16// Cor condicional para background
17bgColor = rsi > 70 ? color.new(color.red, 90) : 
18          rsi < 30 ? color.new(color.green, 90) : 
19          na
20bgcolor(bgColor)

fill() e bgcolor()

fill()

Preenche o espaço entre dois plots:

p1 = plot(series1)
p2 = plot(series2)
fill(p1, p2, color)

bgcolor()

Colore o fundo do painel:

bgcolor(condição ? cor : na)

barcolor()

Colore as barras/candles:

barcolor(condição ? cor : na)
Preenchimentos

Bandas de Bollinger com fill

1//@version=6
2indicator("Bollinger Bands com Fill", overlay=true)
3
4length = input.int(20, "Período")
5mult = input.float(2.0, "Multiplicador")
6
7// Cálculo das bandas
8basis = ta.sma(close, length)
9dev = mult * ta.stdev(close, length)
10upper = basis + dev
11lower = basis - dev
12
13// Plots
14p1 = plot(upper, "Upper", color.blue)
15plot(basis, "Basis", color.orange)
16p2 = plot(lower, "Lower", color.blue)
17
18// Fill entre as bandas
19fill(p1, p2, color.new(color.blue, 90), title="Área das Bandas")
20
21// Highlight quando preço fora das bandas
22bgcolor(close > upper ? color.new(color.red, 80) : 
23        close < lower ? color.new(color.green, 80) : na)