tradingview:logica_programacao:teste_condicional

Teste Condicional

Operador Condicional

Ternário (? :)

  • O operador ternário (? :) calcula a primeira expressão (condição) e retorna o valor do segundo operando (se a condição for verdadeira) ou o valor do terceiro operando (se a condição for falsa).
condição ? resultado1 : resultado2
  • Combinação de operadores (? :)
condição ? resultado1 : resultado2
 
condição1 ? resultado1 : [ condicaoA ? resultadoB : resultadoC ]
 
condição1 ? resultado1 : [ condicaoA ? resultadoB : ( condicaoX ? resultadoY : resultadoZ ) ]
 
isIntraDay ? fazAlgoNoIntra : [ isDaily ? fazAlgoNoDiário : ( isWeekly ? fazAlgoNoSemanal : NenhumaDasAnteriores ) ]

Se Então Senão (iff)

  • O operador iff age igual ao operador ? : mas pode ser considerado mais fácil de organizar conforme mais condições são necessárias
iff (condicao, resultado1, resultado2)
  • Combinação de operadores iff
iff (condicao, resultado1, iff (condicaoA, resultadoB, iff (condicaoX, resultadoY, resultadoZ) ) )
 
iff (isIntraDay, fazAlgoNoIntra, iff (isDaily, fazAlgoNoDiário, iff (isWeekly, fazAlgoNoSemanal, NenhumaDasAnteriores) ) )

Declaração Condicional

Se (if)

  • Uma instrução if define um bloco de instruções a ser executado quando a condição for verdadeira (true) e opcionalmente um bloco alternativo quando a expressão for falsa (false)

  • Onde
  • var_declarationX - esta variável recebe o valor da declaração if como um todo.
  • condition -
    • Se a condition da expressão for verdadeira, a lógica do bloco then imediatamente após a primeira linha do if (var_decl_then0, var_decl_then1, etc.) é executado.
    • Se a condition da expressão for falsa, a lógica do bloco else (var_decl_else0, var_decl_else1, etc.) é executado.
    • return_expression_then , return_expression_else - a última expressão do bloco then ou do bloco else determinará o valor final da instrução if.
  • Exemplos
// Teste simples
x = if close > open
    close
else
    open
 
// Teste complexo
x = if close > open
    5
else if high > low
    close
else
    open
 
// Teste complexo
x = if close > open
    b = if close > close[1]
        close
    else
        close[1]
    b
else
    open
  • Nota: Se não houver condição else o resultado será na

Para (for)

  • Uma instrução for permite executar várias instruções repetidamente (em loop) por determinada quantidade de vezes.

  • Onde
    • i - uma variável de contagem do loop.
    • from - valor inicial do contador.i= 0 to
    • to - valor final do contador.
      • Quando o contador fica maior que to (ou menor que to no caso em que from > to ) o loop é interrompido.
    • step - etapa do loop. Opcional.
      • O padrão é 1. Se from for maior que to, a etapa do loop mudará automaticamente de direção;
      • Não há necessidade de usar um step negativo.
    • var_decl0,… var_declN, return_expression - corpo do loop. Deve ser recuado em 4 espaços.
    • return_expression - valor de retorno. Quando um loop é concluído ou interrompido, o valor de retorno é atribuído a var_declarationX.
    • continue - uma palavra-chave. Só pode ser usado em loops. Ele pula para a próxima iteração do loop.
    • break - uma palavra-chave. Pode ser usado apenas em loops. Sai do loop.

Expressões

Expressões

  • Uma expressão é uma sequência em que operadores ou funções são aplicados a operandos (variáveis ou valores) para definir os cálculos e ações exigidas pelo script.
  • Exemplos:
(high + low + close) / 3
sma(high - low, 10) + sma(close, 20)

Declarando Variáveis

  • Variáveis em Pine são declaradas com o símbolo = e uma palavra reservada var
  • Exemplos
    • <identificador> = <expressão>
    • <tipo> <identificador> = <expressão>
    • var <identificador> = <expressão>
    • var <tipo> <identificador> = <expressão>
  • Onde
    • <Identificador> é o nome da variável declarada.
    • <Tipo> é tipo do dado, podendo ser float, int, bool, color, string, line ou label
    • <expressão> é o valor ou cálculo inicial
    • Nota: A forma de declarar é opcional, já que o tipo é inferido, com exceção do tipo na

var

  • É um modificador especial que instrui o compilador a criar e inicializar a variável apenas uma vez.
  • Caso contrário a variável será recriada e por tanto zerada a cada nova iteração do código.
    • Exemplo
var count = 0

Atribuição de Variável

  • Uma variável mutável pode receber um novo valor.
  • O operador := deve ser usado para dar um novo valor a uma variável.
  • A variável deve ser declarada antes que possa ter um valor atribuído.
  • Uma variável pode receber um valor de expressão apenas se a expressão e a variável pertencerem ao mesmo tipo.

Operadores Adicionais

Operador Equivalência
a += b a := a + b
a -= b a := a - b
a *= b a := a * b
a /= b a := a / b
a %= b a := a % b


tradingview/logica_programacao/teste_condicional.txt · Última modificação: 05/04/2023 08:25 por 127.0.0.1