Quantitative trading, but free.

Chartinger is a free, open-source trading terminal for quantitative research, currently in development. It brings together market data, a scripting language for indicators and strategies, a backtester that charges you real costs, and live signal export — in one desktop application that runs on your own machine.

Free

No licence, no subscription, no seat count. The source is public and the application runs locally on your machine.

Nothing is sent anywhere. Your data, your scripts and your keys never leave the desk they sit on.

Quantitative

Write indicators and strategies in FlashLang, run them over full history, and study the result with the statistics that matter rather than a single headline number.

Multiple strategies can share one account, so you can see what they do together.

Honest

Fees, slippage, leverage and liquidation are modelled. A resting limit order fills at its own price, not at a gapped open.

Alpha, beta and a per-quarter edge report come as standard, because a curve that is quietly dying should say so.

What it does

Everything listed here is built and working. Chartinger is young, so expect rough edges — but none of it is a mock-up.

Market data

Three venues
Binance Spot, Binance USD-M Futures and Hyperliquid, with the symbol universe queried live from each exchange and searchable. Spot and perpetual instruments stay distinct.
Downloads once
Full available history per symbol and timeframe, kept in a compact local cache. Reopen a chart days later and it fetches only the candles it is missing.
Live streaming
Websocket feeds keep price and chart current, each candle written to the cache as it closes, with a REST fallback when a feed goes quiet.

Scripting

FlashLang
An EasyLanguage-style language for indicators and strategies: inputs, variables, user functions, loops, plots and subcharts, with errors reported at the line and column.
Many studies at once
Attach as many as you like to a chart. Each gets a chip you can hide without detaching, and a panel for its inputs, colours and individual outputs.
Fast enough to iterate
Incremental evaluation, rolling accumulators and memoised pure functions turn a full-history run over tens of thousands of bars into a keystroke.

Backtesting

Spot and futures
Maker and taker fees, slippage, leverage caps and liquidation. In futures you size by what you risk between the entry and the initial stop.
Real order types
Market, limit and stop orders with a working-order book and cancellation. A limit that actually rested is charged as a maker fill.
Metrics worth reading
Return, drawdown, Sharpe, Sortino, Calmar, expectancy — plus alpha, beta and R² against buy & hold, a buy & hold overlay on the equity curve, and a quarter-by-quarter report on whether the edge is decaying.

Going live

Export a strategy
A wizard packages it into a standalone runner that downloads its own warm-up history, opens a websocket and runs the strategy bar by bar.
Sub-millisecond
The runner does not poll: the feed thread wakes the decision loop the moment a candle lands. From a closed candle to a signal in your Python handler is 0.23 ms at the median and 0.66 ms at the 99th percentile, and it does not drift as history piles up. What is left between a candle and your order is the exchange.
Signals, not orders
Decisions are published over a Unix socket as JSON lines: entries, exits, stop and target moves and partial closes, each with its own trade id.
Your keys stay yours
The runner never places an order and holds no credentials. A listener you control does the trading; a commented Python example and a README ship with every export.

Where it stands

Chartinger is in an early phase, and says so. It is usable for research today — charts, scripting, backtesting and export all work — but it is not a finished product, the language will move, and you should read a backtest the way you would read anyone else's.

It is free, it runs locally, and it will stay that way. If something is broken or missing, the issue tracker in the repository is the place for it.