---
title: Limitations
description: What kScript does not do yet, and where to find the sandbox numbers.
---

kScript is an indicator, strategy, and alerting language. A few things are deliberately out of scope today. Knowing them up front saves you from designing around a feature that is not there.

## Not supported today

**Backtesting simulates, it does not execute.** Strategy scripts (see [Strategies](../strategies/overview.md)) declare `strategy()` and get simulated fills, an equity curve, and trade statistics, but no orders leave the platform. To act on a signal in the real world, raise an alert and handle execution outside the script. The simulator's own boundaries (fill resolution, slippage models, what is disclosed when data is missing) are documented in [Fill Simulation](../strategies/fill-simulation.md).

**No cross-script communication.** Each script runs in isolation. One script cannot read another script's variables, plots, or outputs, and there is no shared state between scripts on the same chart. If two views need the same value, compute it in each.

**No persistence across runs.** Script state lives for the duration of a run. There is no storage that survives a reload or carries values from one session to the next. Anything you need next time has to be recomputed from source data.

## Sandbox limits

Every script also runs under fixed ceilings (sources, drawings, table cells, collection size, recursion depth, and more) so one script cannot exhaust resources for the rest of the chart. Those numbers, the exact error for each, and when you would hit them are in the [Limits Reference](../reference/limits.md).

## Runtime and editor errors

For the errors you hit while writing a script (missing plot metadata, zero bars, source-argument rules, the version header, blank plots), see [Common Errors](common-errors.md). Each one is listed by its exact engine message with a cause and a fix.
