Funções & Anotações
Diferenças e Similaridades
Ambas são blocos de código para execução de tarefas pré-definidas.
Sintaticamente similares:
Porém servem propósitos diferentes
Argumentos podem ser declarados de duas formas:
Com palavras chave
study(title='Example', shorttitle='Ex', overlay=true)
Por Posição
study('Example', 'Ex', true)
Funções
Anotações
Declarando Funções
Função de linha única
Funções simples podem normalmente ser escritas em apenas uma linha
Após a função f ser declarada, pode ser usada de diversas maneiras:
a = f(open, close)
b = f(2, 2)
c = f(open, 2)
Função de múltiplas linhas
<identificador> (<lista de argumentos>) =>
<declaração de variável>
...
<declaração de variável ou expressão>
O corpo consiste de várias instruções
Cada declaração deve ser precedida por 1 tabulação - este recúo indica que ela faz parte do corpo da função e não do escopo global do script.
Uma expressão ou uma variável declarada deve ser a última instrução do corpo da função.
geom_average(x, y) =>
a = x*x
b = y*y
sqrt(a + b)
Escopo nos Scripts
Funções que retornam vários resultados
Na maioria dos casos, uma função retorna apenas um resultado, mas é possível retornar uma lista de resultados (um resultado semelhante a uma tupla ):
fun(x, y) =>
a = x+y
b = x-y
[a, b]
[res0, res1] = fun(open, close)
plot(res0)
plot(res1)