tradingview:logica_programacao:operadores
Tabela de conteúdos
Operadores
Operadores Matemáticos
- Existem 5 operadores aritméticos no Pine Script
+ | Adição |
---|---|
- | Subtração |
* | Multiplicação |
/ | Divisão |
% | Módulo (resto da divisão) |
- Quando usando operadores matemáticos, o tipo do resultado depende do tipo dos operandos.
- Se ao menos um dos operandos for uma Series, o resultado também será do tipo Series.
- Se ambos operandos são numéricos, e ao menos um desses é do tipo float, o resultado será do tipo float.
- Se ambos operandos são numéricos e do tipo integer, o resultado será do tipo integer.
- Se ao menos um dos operandos for do tipo na, o resultado também será do tipo na.
- O operador + também serve para concatenar strings.
- “Olá” + “Mundo” constrói a string = “Olá Mundo”
Operadores de Comparação
- Existem 6 operadores de comparação no Pine Script
< | Menor que |
---|---|
⇐ | Menor ou Igual que |
!= | Diferente |
== | Igual |
> | Maior que |
>= | Maior ou Igual que |
- Operadores de comparação são binários.
- O resultado é determinado pelo tipo dos operandos.
- Se ao menos um desses operando é do tipo Series, o resultado também do tipo Series. (Uma série de valores lógicos)
- Se ambos operandos possuem um valor numérico, o resultado será lógico do tipo bool.
Operadores Lógicos
- Existem 3 operadores lógicos no Pine Script
not | não | Negação |
---|---|---|
and | e | Conjunção Lógica |
or | ou | Disjunção Lógica |
- Todos os operadores lógicos podem operar com operandos do tipo bool, numéricos ou série.
- Assim como em operadores matemáticos e de comparação, se ao menos um dos operandos for do tipo Série, o resultado também será do tipo Series. (Uma série de valores lógicos)
- Em todos os outros casos, o resultado será do tipo bool.
- O operador not é unário.
- Quando aplicado a um operando true - o resultado será false
- Quando aplicado a um operando false - o resultado será true
Tabela da Verdade
AND (E)
a | b | a and b |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
OR (OU)
a | b | a or b |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
Operador de Referência Histórica
- É possível referenciar valores históricos de qualquer variável do tipo Series com o operador [ ]
- A maioria dos dados no Pine são armazenados em Série (uma forma de array, porém com index dinâmico)
- Onde, o valor dentro dos colchetes se refere ao index. [index]
- Os valores de uma e série são indexados em relação a barra em que o código está sendo executado.
- Exemplo:
- close[0] - refere-se ao preço de fechamento da barra em que o código está sendo executado.
- close[1] - refere-se ao preço de fechamento da barra anterior a qual o código está sendo executado.
- Nota: Ao referenciar uma barra que não existe no gráfico - a variável retorna na. Similar NaN
- Diferença entre Series e Array:
- Na Series o index é dinâmico em relação a data/período da barra.
- Na Array o index é fixo, ou seja, o valor em [ ] é uma posição de armazenamento.
- Não há arrays em Pine Script.
- Variável de contagem das barras
- Contagem da esquerda (0) para a direita em incrementos de 1
- bar_index
- Notas
- Não é possível usar valores negativos em indexação.
- No caso de plotagem, é possível usar a função offset para deslocar negativamente - porém é um deslocamento apenas visual.
Ordem de Precedência
- A ordem dos cálculos é determinado pela precedência do operador.
- Operadores com maior precedência são calculados primeiro.
Precedência | Operador |
---|---|
9 | [ ] |
8 | unário + , unário - , not |
7 | * , % |
6 | + , - |
5 | > , < , >= , ⇐ |
4 | == , != |
3 | and |
2 | or |
1 | ? : |
- Se em uma expressão houver vários operadores com a mesma precedência, eles serão calculados da esquerda para a direita.
- Se a expressão deve ser calculada em uma ordem diferente daquela que a precedência ditaria, então partes da expressão podem ser agrupadas com parênteses.
tradingview/logica_programacao/operadores.txt · Última modificação: 05/04/2023 08:25 por 127.0.0.1