Sistema de Tipos
Tipos de dados no Pine Script v6
Neste capítulo
Tipos Básicos
Tipos de Dados no Pine Script v6
Pine Script possui um sistema de tipos com dois componentes: qualificador e tipo.
Qualificadores
- const: Valor conhecido em tempo de compilação
- input: Valor definido pelo usuário nos inputs
- simple: Valor calculado uma vez, antes de processar as barras
- series: Valor que pode mudar a cada barra (o mais comum)
Tipos Principais
| Tipo | Descrição | Exemplo |
|---|---|---|
int | Números inteiros | `14`, `-5`, `0` |
float | Números decimais | `3.14`, `-0.5` |
bool | Verdadeiro/Falso | `true`, `false` |
string | Texto | `"Hello"`, `'World'` |
color | Cores | `color.red`, `#FF0000` |
Variáveis Built-in Importantes
close // Preço de fechamento
open // Preço de abertura
high // Preço máximo
low // Preço mínimo
volume // Volume
time // Timestamp da barra
bar_index // Índice da barra (começa em 0)Declaração de Variáveis
Diferentes formas de declarar variáveis
1//@version=6
2indicator("Tipos de Dados")
3
4// Declaração com tipo explícito
5int periodo = 14
6float multiplicador = 1.5
7bool mostrarSinal = true
8string titulo = "Meu Indicador"
9color corAlta = color.green
10
11// Declaração com tipo inferido (Pine Script deduz o tipo)
12periodoAuto = 14 // int
13multAuto = 1.5 // float
14ativoAuto = true // bool
15
16// Variável que mantém valor entre barras (var)
17var float maiorPreco = 0.0
18maiorPreco := math.max(maiorPreco, high)
19
20plot(maiorPreco, "Maior Preço Histórico", color.purple)Operadores
Operadores no Pine Script v6
Operadores Aritméticos
| Operador | Descrição |
|---|---|
`+` | Adição |
`-` | Subtração |
`*` | Multiplicação |
`/` | Divisão |
`%` | Módulo (resto) |
Operadores de Comparação
| Operador | Descrição |
|---|---|
`==` | Igual a |
`!=` | Diferente de |
`>` | Maior que |
`<` | Menor que |
`>=` | Maior ou igual |
`<=` | Menor ou igual |
Operadores Lógicos
| Operador | Descrição |
|---|---|
`and` | E lógico |
`or` | OU lógico |
`not` | Negação |
Operador Ternário
resultado = condição ? valorSeVerdadeiro : valorSeFalsoOperadores de Atribuição
| Operador | Descrição |
|---|---|
`=` | Declaração e inicialização |
`:=` | Reatribuição (variável mutável) |
Uso de Operadores
Exemplos práticos de operadores
1//@version=6
2indicator("Operadores em Ação", overlay=true)
3
4// Operadores aritméticos
5range = high - low
6midpoint = (high + low) / 2
7
8// Operadores de comparação
9isUpBar = close > open
10isBigBar = range > ta.atr(14)
11
12// Operadores lógicos
13strongUpBar = isUpBar and isBigBar
14eitherSignal = isUpBar or volume > ta.sma(volume, 20)
15
16// Operador ternário
17barColor = isUpBar ? color.green : color.red
18
19// Colorir barras baseado na condição
20barcolor(barColor)
21
22// Plotar ponto médio
23plot(midpoint, "Ponto Médio", color.orange, style=plot.style_circles)