Linguagem
Explore os blocos de construção e recursos do NeuroScript®
Linguagem NeuroScript®
Estrutura Básica de um Script
Todo script NeuroScript segue esta estrutura:
// 1. Declaração do indicador
indicator("Nome do Indicador", overlay=true)
// 2. Parâmetros de entrada (opcional)
length = input.int(14, "Período")
// 3. Cálculos
value = ta.sma(close, length)
// 4. Visualização
plot(value, "SMA")
// 5. Return (opcional)
return valueDeclaração de Indicador
A função indicator() é obrigatória e define as propriedades do script:
indicator(title, shorttitle="", overlay=true)Parâmetros:
title(string): Nome completo do indicadorshorttitle(string): Nome abreviado (opcional)overlay(bool): Se true, plota sobre o gráfico de preços. Se false, cria painel separado
Exemplos:
// Indicador sobre o gráfico
indicator("SMA 20", overlay=true)
// Indicador em painel separado
indicator("RSI", shorttitle="RSI", overlay=false)Variáveis
Declaração
// Variáveis simples
length = 20
multiplier = 2.0
showSignals = true
label = "SMA"
// Variáveis calculadas
sma = ta.sma(close, length)
upper = sma + multiplier * ta.stdev(close, length)Built-in Variables
NeuroScript fornece variáveis automáticas com dados do candle:
| Variável | Tipo | Descrição |
|---|---|---|
open | series | Preço de abertura |
high | series | Preço máximo |
low | series | Preço mínimo |
close | series | Preço de fechamento |
volume | series | Volume negociado |
bar_index | int | Índice da barra atual (0, 1, 2...) |
time | int | Timestamp da barra (Unix) |
Exemplo:
indicator("OHLC Info", overlay=true)
// Usar variáveis built-in
candleSize = high - low
bodySize = close - open
isGreen = close > open
plot(candleSize, "Tamanho do Candle")Tipos de Dados
Tipos Básicos
int - Números inteiros
length = 14
maxBars = 500float - Números decimais
multiplier = 2.5
threshold = 0.618bool - Booleanos
showLabels = true
useEMA = falsestring - Textos
title = "Meu Indicador"
label = "SMA"color - Cores
lineColor = color.blue
fillColor = color.redTipos Series
Valores que mudam a cada barra:
sma = ta.sma(close, 20) // series<float>
rsi = ta.rsi(close, 14) // series<float>Operadores
Aritméticos
soma = 10 + 5 // 15
sub = 10 - 5 // 5
mult = 10 * 5 // 50
div = 10 / 5 // 2
mod = 10 % 3 // 1Comparação
igual = 10 == 10 // true
diferente = 10 != 5 // true
maior = 10 > 5 // true
menor = 5 < 10 // true
maiorIgual = 10 >= 10 // true
menorIgual = 5 <= 10 // trueLógicos
e = true and false // false
ou = true or false // true
nao = not true // falseOperador Ternário
// Sintaxe: condição ? valorSeVerdadeiro : valorSeFalso
cor = close > open ? color.green : color.red
tamanho = volume > 1000 ? 3 : 1Exemplo prático:
indicator("Cor Dinâmica", overlay=true)
sma20 = ta.sma(close, 20)
// Cor baseada em tendência
trendColor = close > sma20 ? color.green : color.red
plot(sma20, "SMA", color=trendColor, linewidth=2)Comentários
// Comentário de linha única
// Comentários podem explicar código
length = 20 // Período da médiaExpressões e Cálculos
Expressões Simples
// Aritmética básica
resultado = (high + low) / 2
// Usando funções
media = ta.sma(close, 20)
desvio = ta.stdev(close, 20)
// Combinando
upperBand = media + 2 * desvioExpressões Condicionais
// Detectar cruzamentos
crossUp = close > sma and close[1] <= sma[1]
crossDown = close < sma and close[1] >= sma[1]
// Múltiplas condições
compra = close > sma20 and rsi < 70 and volume > ta.sma(volume, 20)Limitações Atuais
Não suportado (diferente do Pine Script):
-
Arrays
-
Strings dinâmicas
-
Loops (for, while)
-
Funções customizadas (apenas stdlib)
-
Estratégias (strategies)
-
Conceitos - Aprenda funções disponíveis por tema
-
Guia Rápido - Seu primeiro indicador
-
Exemplos - Scripts prontos para usar