Ferramentas do usuário

Ferramentas do site


Action unknown: backlinkmenuitem
tradingview:logica_programacao:operadores

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