Spectra
Explorar docs

Referencia de scripts

El DSL de Spectra: cinco tipos de script, VM bytecode sandboxed, tres runtimes.


El DSL de Spectra es un lenguaje pequeño y de tipado estático diseñado para expresar lógica de trading sin scaffolding. Compila a bytecode que corre en tres lugares — vista previa del gráfico, backtester, y el cloud worker 24/7.

Qué leer primero

  • Gramática — keywords, tipos y la gramática de expresiones en EBNF.
  • Funciones built-insma, ema, rsi, crossover, etc.
  • Tipos de script — Indicator, Alert, Screener, Drawing, Strategy, con la superficie a la que apunta cada uno.
  • Límites del sandbox — presupuestos de CPU y memoria, qué prohíbe la VM, y cómo optar a ventanas más largas.

Hola, indicador

// Pinta la SMA-20 en el panel del precio.
let m = sma(close, 20)
plot(m, color: accent, width: 2)
output m

Guarda el archivo como m20.spec, déjalo en un gráfico, la línea se dibuja. La recompilación en cada tecla dispara en menos de 80 ms — ves la línea moverse mientras cambias el periodo.

Comparador deslizante entre un gráfico de velas plano y el mismo gráfico con un indicador escrito por el usuario ploteadoAntesDespués
Antes: velas planas. Después: tu indicador ploteado.
Teclea, guarda, míralo plotear — menos de 80 ms de guardar a render.

Estrategia en cinco líneas

let fast = sma(close, 12)
let slow = sma(close, 26)
if cross_up(fast, slow) { buy(qty: 1) }
if cross_down(fast, slow) { sell(qty: 1) }
output fast - slow

El mismo archivo backtestea contra barras históricas en el panel de Strategy y dispara órdenes reales en modo live — sin cambiar ningún flag. La regla de auto-flip (ver Tipos de script) asegura que las estrategias estilo indicador realmente cierran posiciones.

Dónde seguir

Si vienes de Pine Script, la página más útil es Gramática — la superficie es similar pero el sistema de tipos es más estricto. Si vienes de lenguajes tipo C, empieza por Funciones built-in.