Spectra
Открыть документацию

Справочник по скриптингу

Spectra DSL: пять видов скриптов, песочница байт-код VM, три среды выполнения.


Spectra DSL — это небольшой статически типизированный язык, предназначенный для выражения торговой логики без лишнего обвязочного кода. Он компилируется в байт-код, который выполняется в трёх местах — предпросмотр на графике, бэктестер и круглосуточный облачный worker.

Что прочитать в первую очередь

Привет, индикатор

// 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 мс — вы видите, как линия смещается по мере изменения периода.

Слайдер-сравнение обычного свечного графика с тем же графиком после того, как на него нанесён написанный пользователем индикаторДоПосле
До: обычные свечи. После: ваш индикатор нанесён на график.
Напишите, сохраните, увидите отрисовку — менее 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-подобных языков, начните вместо этого со Встроенных функций.