Getting Started

Introducing kScript v3

kScript is designed to be intuitive whether you're coming from PineScript or learning to code for the first time. Create technical indicators, analyze market trends, and study order flow with powerful yet accessible tools. The syntax is straightforward and easy to learn — you'll be building working indicators in minutes.

What Can You Build?

kScript gives you access to powerful data sources that most platforms don't offer.

Backtested Strategies
Declare strategy(), place orders with entries, brackets, and trailing stops, and replay your rules bar by bar with honest fills, an equity curve, and per-trade stats.
Custom Technical Indicators
Build indicators like RSI, moving averages, MACD, and Bollinger Bands with your own parameters and visual styles.
Multi-Symbol Analysis
Compare price movements across different assets. Track correlations, spreads, and relative strength between multiple symbols.
Order Book Analysis
Access order book data up to 2,000 levels deep. Visualize liquidity, find imbalances, and analyze market depth in real-time.
Cross-Exchange Studies
Aggregate data from multiple exchanges. Track price differences, liquidity flows, and arbitrage opportunities.

Example Indicators

A complete indicator in just 5 lines:

The kScript
//@version=2

define(title="My First Indicator", position="onchart", axis=true);

timeseries prices = ohlcv(symbol=currentSymbol, exchange=currentExchange);
timeseries average = sma(source=prices.close, period=20);

plotLine(value=average, colors=["blue"], width=2, label=["20 SMA"], desc=["20-period Simple Moving Average"]);
LineWhat it does
Line 1Tell kScript this is version 2
Line 3Set up your indicator's name
Line 5Get price data from current chart
Line 6Calculate 20-period average
Line 8Draw a blue line on chart

Advanced Example: RSI Indicator

Full-featured RSI with customizable inputs, smooth rendering, and proper styling:

RSI Indicator
//@version=2

// Indicator definition
define(title="RSI", position="offchart", axis=true);

// Customizable user inputs
var splineColors = input(name="myColor", type="color", defaultValue="orange");
var width = input(name="width", type="number", defaultValue=2);
var period = input(name="period", type="number", defaultValue=26);
var smooth = input(name="smooth", type="boolean", defaultValue=true);

// Data subscription - load OHLCV data from the current chart
timeseries trade = ohlcv(symbol=currentSymbol, exchange=currentExchange);

// Local variable
var fill = true;

// Create RSI time series using the built-in technical indicator function "rsi()"
// The close price is accessed through trade.close property
var transformedData = rsi(source=trade.close, period=period);

// Prepare final plot data
var baseLine = 0;
var combinedData = [transformedData, baseLine];

// Actually plot the data
// Plot an area spline with baseline and RSI values
// Use "transparent" as the second line's color so it's hidden
plotLine(value=combinedData, colors=[splineColors, "transparent"], width=width, fill=fill, smooth=smooth, label=["RSI"], desc=["Relative Strength Index"]);

<figure class="docs-output">
  <figcaption class="docs-output-caption">
    <span class="docs-output-dot"></span>
    <span class="docs-output-label">Rendered output</span>
  </figcaption>
  <img src="/k-script/rsi-example.svg" alt="Rendered RSI indicator output">
</figure>

{% endtab %}


{% endtabs %}

Why kScript?

Familiar Yet Powerful
The syntax is designed to be easy to read and write. If you know PineScript, kScript will feel familiar. If you're new to coding, you'll find it straightforward to learn.
Built for Performance
The kScript runtime handles indicator calculations across long history windows efficiently. Each script's calculation phase runs under a 500ms per-bar budget — see the limitations page for details.
Real-Time Execution
Indicators update instantly as market data changes. See your analysis in real-time without lag.
Years of Historical Data
Backtest your indicators with extensive historical datasets across all available data sources.
Institutional-Grade Data Sources
Access data that most platforms don't offer. Build sophisticated indicators using institutional-grade market intelligence.
Wide Exchange Coverage
Data from major centralized exchanges (Binance, Coinbase, OKX), derivatives platforms (Deribit, Hyperliquid), DEXs (Uniswap, SushiSwap, PancakeSwap), and price oracles (Pyth Network).
Developer-First Features
Live debugging with variables updating in real-time as the market moves, plus built-in version control for all your scripts with rollback capabilities.

AI-Powered Development

Transform your AI assistant into a kScript expert. Our reference document teaches ChatGPT, Claude, and other LLMs the exact kScript syntax — no more debugging broken AI-generated code.

Join the Beta Community

Your feedback is heard and implemented quickly — we've shipped 40+ community-requested features in the past month alone. Report a bug in the morning, see it fixed by afternoon. Suggest a function today, use it next week. This rapid iteration cycle means kScript evolves exactly how you need it to.

Join our Discord to:

  • Get early access to new features and documentation
  • Submit feedback that gets responded to within hours, not weeks
  • Collaborate on code with other developers building advanced indicators
  • Share and debug scripts together in real-time
  • Help prioritize the development roadmap
  • Request custom data sources and new functions

Join the OpenMarket Discord →

Ready to start building?

Join thousands of traders using kScript to power their trading strategies with unprecedented market data access.