tradingview:logica_programacao:fundamentos
Tabela de conteúdos
Fundamentos
Versões
Linguagem
- 4 versões da linguagem Pine Script.
- A diretiva do compilador deve ser usada na primeira linha do script para especificar a versão.
// @version=N
- Onde N é o número da versão : 1 - 4
- Nota: As versões são incompatíveis entre si.
Documentação
- Release Notes (Notas de Lançamento)
- Você pode acompanhar o que foi alterado na linguagem a cada atualização.
- Manual de Referência
- Detalhes sobre operadores, funções e variáveis nativas da plataforma.
Comentários
- Pine Script aceita comentários de linha única.
- A Linha deve iniciar com //
- Comentário não pode estar entre declarações.
- Atalho : Selecionar o conteúdo e [Ctrl + /]
// @version=4 study("Teste") // Está uma linha de comentário a = close // Este também é um comentário plot(a)
Quebra de Linha
- Instruções longas podem ser colocadas em mais de uma linha.
- Uma declaração deve começar no início da linha.
- Ao passar para a próxima linha -
- A continuação deve começar com um ou vários espaços múltiplos de 4 + 1).
- Exemplos:
a = open + high + low + close a = open + high + low + close
Identificadores
- São nomes usados para variáveis e funções definidas pelo desenvolvedor.
- Devem ser compostos por:
- Letras maiúsculas ( A - Z ) ou minúsculas ( a - z )
- Sublinhado ( _ )
- Dígitos ( 0 - 9 )
- Identificadores não podem iniciar com dígitios.
- São sensíveis a maiúsculas e minúsculas.
- Exemplos de identificadores válidos:
myVar _myVar my123Var MAX_LEN max_len
Tipos de Dados
- Existem 9 tipos de dados:
int | Inteiro | Números inteiros são descritos sem notação decimal Exemplos: 1 750 100 |
---|---|---|
float | Decimal | Números ponto flutuante possuem um delimitador ( . ) Também podem conter o símbolo e ou E - que significa multiplicar por 10. Elevado a potência x, onde x é o número após e. Exemplos: 3.1415 6.02e23 1.6e-19 3.0 |
bool | Booleano | Apenas dois literals representam valores bool true = Verdadeiro false = Falso |
color | Cor Hexadecimal | Cores tem o seguinte formato #6 a 8 dígitos hexadecimal, representando valores RGB ou RGBA R = Red = Vermelho G = Green = Verde B = Blue = Azul [0-255 em decimal] <conversor> [00-FF em Hexa] Exemplos: #000000 = preto #FF0000 = vermelho #00FF00 = verde #0000FF = azul #FFFFFF = branco #808080 = cinza #3FF7A0 = uma cor aleatória #FF000080 = 50% transparente vermelho #FF0000FF = mesmo que #FF0000, vermelho opaco #FF000000 = completamente transparente Notação hexadecimal não são sensíveis a maiúsculas ou minúsculas. Variáveis nativas para chamar uma cor: color.silver, color.gray, color.white, color.maroon, color.red, color.purple, color.fuchsia, color.green, color.lime, color.olive, color.yellow, color.navy, color.blue, color.teal, color.aqua, color.orange Transparência: É possível alterar a transparência da cor usando uma função nativa color.new. Exemplo: color.new(color.blue, 80) |
string | Texto | As literals de string (texto) podem ser referenciadas com aspas simples ou aspas dupla Exemplos: “Este é um texto dentro de aspas dupla” 'Este é um texto dentro de aspas simples' Exemplo de mistura de aspas: “It's an example” 'The “Star” indicator' Se você usar o mesmo delimitador, é necessário usar \ antes do delimitador 'It\'s an example' “The \”Star\“ indicator” |
line / label | Linha | Objetos de desenho introduzidos no Pine v4. Estes objetos são criados através das funções line.new → Linha label.new - > Label Ambas do formato Série |
plot / hline | Plotagem | Anotações que retornam valores que representam objetos criados no gráfico. A função plot - Retorna um objeto do tipo plot, representado como uma linha ou diagrama no gráfico. A função hline - Retorna um objeto do tipo hline, representado como uma linha horizontal. Estes objetos podem ser passados para a função fill para colorir a área entre eles. |
- E para cada tipo de dado existem 5 formatos possíveis:
Literal | Literal | Notação para representar um valor fixo (literalmente): literal float ( 3.14, 6.02E-23, 3e8 ) literal int ( 42 ) literal bool ( true, false ) literal string ( “Um texto literal” ) literal color ( #FF55C6 ) Nota: identificadores nativos como open, high, low, close, volume, time hl2, hlc3, ohlc4 - não são literals. Estes são dados do formato Série. |
---|---|---|
Const | Constante | São pré determinados ou podem ser calculados durante compilação. Não podem ser alterados durante execução. c1 = 0 c2 = c1 + 1 c3 = c1 + 1 if open > close c3 := 0
c1 : é uma const int porque é inicializada com uma expressão literal int. |
Input | Parâmetro | Não é alterado durante a execução e não são conhecidos durante compilação e é originado por uma função input p = input(10, title="Periodo") p : é uma variável do tipo input integer. |
Simple | Simples | Não é alterado durante execução do script. Não são conhecidos durante compilação. São valores que vêm das informações do ativo do gráfico principal. Por exemplo, syminfo.mintick é uma variável nativa simple float. Nota : A palavra simple é normalmente omitida quando se referindo a este formato, por tanto nos referimos apenas como float. |
Series | Série | Podem ser alterados durante execução. Armazenam uma sequência histórica de valores associados as barras do ativo no gráfico principal. Dados são acessados usando o operador [ ] Nota : O dado associado a última barra está disponível para leitura / escrita. Exemplos de séries nativas são as variáveis: open, high, low, close, volume e time. O tamanho da série é igual a quantidade de barras disponíveis no ativo atual e na sua respectiva resolução (timeframe). Séries devem conter valores numéricos ou um valor especial : na - significando que não há um valor disponível. Qualquer expressão que contém uma série também será tratada como série, exemplo: a = open + close // Adição de duas séries b = high / 2 // Divisão de uma série por um int literal constant c = close[1] // Se refere ao close anterior |
IMPORTANTE: O par “formato tipo” é normalmente referenciado como o tipo apenas.
Outros
- array
- Arrays no Pine são identificadas com um array id.
- A array por si no Pine não é um tipo porém subgrupo dos tipos fundamentais:
- int []
- float []
- bool []
- color []
- void
- Existe o tipo void em Pine. A maior parte das funções que apenas executam uma tarefa sem retornar necessariamente um valor, retornam o resultado void. (vazio)
- na value (not available)
- Similar ao tipo “null” em outras linguagens de programação.
- Para inferir o valor na em uma variável, é necessário informar o tipo, por exemplo:
myVar = na // Erro float myVar = na // Correto myVar = float(na) // Correto
- Dica, testar se uma variável não possui valor disponível:
- Não use operadores == para testar valores na.
myClose = na(myVar) ? 0 : close
- tuple
- Suporte limitado no Pine - em relação ao conceito completo de tuple
- No Pine é possível criar apenas tuple dupla.
- Uma sequência imutável de valores usada quando uma função deve retornar mais de uma variável como resultado.
calcSumAndMul(a, b) => sum = a + b mul = a * b [sum, mul]
- Devem ser chamadas de forma diferente:
- Os valores sum e mul serão armazenados em s e m, respectivamente.
[s, m] = calcSumAndMul(high, low)
Casting de Tipos
tradingview/logica_programacao/fundamentos.txt · Última modificação: 05/04/2023 08:25 por 127.0.0.1