Spectra

Скриптинг

DSL для скриптов, а не просто выбор индикаторов.

Пять типов скриптов, доступ к тикам, локальный предпросмотр и replay, плюс изолированный runtime 24/7 для маршрутизированных алертов — на одном языке.

01 · Пять видов, один язык.

Пять видов, один язык.

Индикатор, Алерт, Скринер, Рисунок, Стратегия. Синтаксис общий; каждый вид привязан к своей области применения.

  • Индикатор — Добавляет ряд или осциллятор на график. Живёт в предпросмотре графика, без накладных расходов.
  • Алерт — Булево выражение, вычисляемое на закрытии каждого бара. Push, email или вебхук — на ваш выбор.
  • Скринер — Возвращает символы, соответствующие условию. Прогоняется по списку наблюдения по расписанию.
  • Рисунок — Программные фигуры на графике — зоны спроса/предложения, FVG, OB, пользовательские уровни.
  • Стратегия — Код, генерирующий ордера. Бэктестируется на том же движке исполнения, что работает в реальной торговле.
golden-cross.spec
// @spectra-script 2
let fast = ta.sma(close, 20)
let slow = ta.sma(close, 50)

plot.line("Fast", fast, color = color.teal)
plot.line("Slow", slow, color = color.orange)
output close > fast and fast > slow

4 строки. Рисует быстрые и медленные SMA и выдаёт булев сигнал.

02 · Один DSL, три среды выполнения.

Один DSL, три среды выполнения.

Напишите один раз. Запускайте везде, где печатается цена.

  • Предпросмотр графика — Печатаете — и сразу видите, как рисуется линия. Байт-код перекомпилируется на каждом нажатии клавиши менее чем за 80 мс.
  • Бэктестер — Тот же скрипт, воспроизведённый бар за баром с реалистичным проскальзыванием в бэзис-пойнтах, комиссией за исполнение, частичными исполнениями и обработкой гэпов.
  • VPS-воркер — Пометьте скрипт тегом runs_on: vps — и он будет срабатывать на круглосуточном облачном воркере, включая алерты и ордера по вебхукам.
Ползунок-сравнение обычного свечного графика с тем же графиком после того, как написанный пользователем индикатор дивергенции RSI отрисовался на нёмДоПосле
Ползунок: обычный график ← тяните → пользовательский индикатор дивергенции RSI
25 с · напишите, сохраните, увидьте отрисовку

03 · Tick scripting

React to the market one execution at a time.

Spectra Script v2 exposes the retained trade tape and a true per-print callback. Use it to inspect aggressor flow, dollar size, delta, print counts, and the largest execution without reducing the tape to candle closes.

  • feed.tap(feed.trades) returns a bounded, newest-first execution window.
  • on_trade(price, size, is_buy, ts) runs once for every valid print in timestamp order.
  • Live tape retains 60 seconds and up to 10,000 prints; archive replay covers up to 24 hours and 10,000 prints.
  • Unknown aggressor sides remain visible and are excluded from directional aggregates instead of being guessed.
whale-flow.spec
// @spectra-script 2let minimum_usd = param.float("Minimum USD", 5000000.0, min = 1.0)fn on_trade(price, size, is_buy, ts) {  alert.wire(    "whale_buy",    is_buy and price * size >= minimum_usd,    message = "Large aggressive buy"  )}output false

True trade callbacks · bounded state · deterministic replay

04 · Server runtime

Keep approved alerts running after you close the app.

Save an alert with a target symbol and timeframe, then route it to the server worker. Bar scripts execute on completed intervals; tick handlers receive the real aggressor stream in bounded 50 ms scheduler batches.

  • Independent per-script state with tenant isolation and persisted fire timestamps.
  • Hard CPU, memory, loop, and recursion budgets plus cancellation on overrun.
  • Cooldown enforcement, runtime error capture, metrics, alert events, and outbound delivery.
  • Strategies remain preview/backtest workflows; unattended server execution is deliberately limited to alert scripts.
server-breakout.spec
// Runs on the saved symbol + timeframelet baseline = ta.sma(close, 200)let active = close > baseline and volume > ta.sma(volume, 20) * 1.5alert.wire(  "volume_breakout",  active,  message = "Volume breakout confirmed")output active

Route: VPS or Both · symbol + timeframe required

05 · Гарантии песочницы.

Гарантии песочницы.

Ваш алерт не может обрушить графики. Каждый скрипт выполняется в жёстких рамках по CPU и памяти, обеспечиваемых на уровне виртуальной машины.

  • ВМ на байт-коде, а не JS-песочница. Нет доступа к хост-среде.
  • Бюджет времени CPU на скрипт (по умолчанию 50 мс) и потолок памяти (по умолчанию 16 МБ).
  • Токены отмены — долго работающий скрипт можно остановить прямо посреди бара.
  • Никаких `unsafe`-путей. Нет доступа к файлам или сети, кроме как через проверенные встроенные функции.
20 с · ужесточите фильтр, наблюдайте, как сокращается список результатов

Напишите один раз. Торгуйте везде.

Полноценный язык стратегий плюс круглосуточный облачный воркер — бесплатно для каждого трейдера на время запуска.