Illustration: one hypothetical backtest month, chosen in hindsight, with no costs. Not a prediction. Risk disclosure

Open source · pre-1.0 · built for paper and demo accounts

Research and run trading strategies without the plumbing.

qkt is an open-source engine with a small, readable strategy language. Test an idea on real data in seconds, then run the same file on paper or a demo account.

curl -sSL https://raw.githubusercontent.com/elitekaycy/qkt/main/scripts/install.sh | bash
A strategy file is written, then backtested on one month of BTCUSD data. The result shows a profit with no costs modelled, and a note that the month was picked after seeing the results.

Hypothetical backtest of one month, picked after looking at the last twelve: 6 of them made money, and together the twelve lost 1,178.30 USD. Risk disclosure

Read it

If you can read it, you can test it.

A strategy is one short file: what to watch, when to act, how to protect the trade. No classes and no boilerplate. Pick a part to see what it does.

Take the language tour
momentum.qkt
What this part does

The strategy

A named, versioned strategy. This file is the whole thing.

Then bend it

Change anything. Run it again.

One file, edited nine times and run after every change: other clocks, other symbols, other venues, new entries. Every result is a real backtest.

See the patterns
One strategy file is edited nine times and re-run after each edit: a pairs trade on ETH and BTC changes its clock, swaps ETH for SOL, moves BTC to a CFD on 16-second candles, adds a EURUSD entry read on 15-minute and 4-hour candles, adds a stacked leg, then repeats the entry three times. Each result card stacks up beside the editor with a log of every version.
  • Pairs and spreads Two markets in one rule
  • Any candle size 16 seconds to 4 hours, in one file
  • Any venue Binance perps, CFDs and forex together
  • Stack and repeat More legs from one signal

Real qkt 0.55.1 backtests over one week (24 to 28 August 2026), no costs modelled. Small gains and losses, shown as they came out. How each part works

Backtest

Data and a backtest, in two commands.

Data in seconds. qkt fetch downloads public Binance bars for the days you ask for. Nothing to sign up for.

An honest result. The summary shows the worst drop and the costs beside the profit, and says when its own fills are optimistic.

Try it step by step
qkt fetch downloads a month of Binance bars, then qkt backtest runs the strategy over September 2026. It lost 701.10 USD over 26 trades with a 9.1% worst drop and no costs modelled.

Trust the number

Same file, same data, same trades.

Run it twice and the trade lists match byte for byte, so a change in the result is a change you made.

Where live trading can differ from a backtest, the parity register writes it down.

Read the parity register
The same strategy file is run twice on one month of BTCUSD bars. Both runs print the same profit and the same checksum.

Run

Run the same file anywhere.

One file. Backtest on history, paper trade on live prices, or deploy to a demo account. Only one line changes: where the data comes from.

The same strategy file runs three ways. Only the stream line changes, from a backtest source to paper trading to a demo broker account.

Configure

Your settings live in one file.

qkt.config.yaml sits next to your strategies. Set the window, the account size and your costs once, then run qkt backtest with no arguments.

Named runs. Add a run that changes one thing and call it by name. Flags on the command line still win.

A qkt.config.yaml backtest block is typed and run with a bare qkt backtest. Then a named run called second-half is added and run by name.

Connect

Point it at a demo account first.

Futures and options through the venue gateway, starting with Deribit's paper account on live prices. FX, metals and indices through your MetaTrader 5 broker and the MT5 gateway.

qkt checks the account before it trades and refuses to start if it is not the one you named.

Venue gatewayMT5 gateway
A paper broker is added to qkt.config.yaml, the strategy's symbol changes to a Deribit perpetual, and qkt run connects and starts paper trading.

Start your way

Pick where you want to begin.

All three run on your own machine. Start on history, move to paper, and only then think about more.

Research on history

I have an idea. Did it work on real data?

qkt fetch BINANCE_UM:BTCUSDT \
  --from 2026-08-25 --to 2026-10-01 \
  --tf 15m
qkt backtest momentum.qkt \
  --from 2026-09-01 --to 2026-10-01
The full guide
Paper trade on live prices

Run the same file on a paper account.

qkt run venue.qkt --config qkt.config.yaml
Set up the paper gateway
Script it, or hand it to an agent

Place and read orders with JSON output.

qkt bot quote EXNESS:EURUSD --json
The bot reference

Everything around qkt. A gateway to trade, Guardrails to set limits, Insights to watch.

momentum.qkt

A named, versioned strategy. This file is the whole thing.

qkt engine

Coming soonqkt StudioData hub

The whole path

From an idea to a live demo account.

Write the file, read it in plain English, backtest it, then build the production folder. Every step is on the get-started page.

Follow it step by step

On a phone, rotate it or tap full screen: the code is easier to read.

Write your first strategy today.

One command to install. Eight lines to a backtest. Free and open source.