Справочник по скриптингу
Spectra DSL: пять видов скриптов, песочница байт-код VM, три среды выполнения.
Spectra DSL — это небольшой статически типизированный язык, предназначенный для выражения торговой логики без лишнего обвязочного кода. Он компилируется в байт-код, который выполняется в трёх местах — предпросмотр на графике, бэктестер и круглосуточный облачный worker.
Что прочитать в первую очередь
- Грамматика — ключевые слова, типы и грамматика выражений в нотации EBNF.
- Встроенные функции —
sma,ema,rsi,crossoverи т. д. - Виды скриптов — Indicator, Alert, Screener, Drawing, Strategy и поверхность, на которую нацелен каждый из них.
- Ограничения песочницы — бюджеты CPU и памяти, что запрещает VM и как подключить более длинные окна.
Привет, индикатор
// Plot the 20-period SMA on the price pane.
let m = sma(close, 20)
plot(m, color: accent, width: 2)
output m
Сохраните файл как m20.spec, перетащите его на график — и линия
отрисуется. Перекомпиляция на каждое нажатие клавиши срабатывает менее
чем за 80 мс — вы видите, как линия смещается по мере изменения периода.
ДоПослеСтратегия в пять строк
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
Тот же файл проходит бэктест на исторических барах в панели Strategy и отправляет реальные ордера в режиме реального времени — без переключения флагов. Правило авто-переворота (см. Виды скриптов) гарантирует, что стратегии индикаторного стиля действительно закрывают свои позиции.
Куда двигаться дальше
Если вы переходите с Pine Script, самая полезная страница — Грамматика: поверхность похожа, но система типов строже. Если вы переходите с C-подобных языков, начните вместо этого со Встроенных функций.
