Illustration: one hypothetical backtest month, chosen in hindsight, with no costs. Not a prediction. Risk disclosure
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
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 tourThe 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
- 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
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
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.

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.

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
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.
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
Run the same file on a paper account.
qkt run venue.qkt --config qkt.config.yaml
Place and read orders with JSON output.
qkt bot quote EXNESS:EURUSD --json
Everything around qkt. A gateway to trade, Guardrails to set limits, Insights to watch.
qkt.config.yaml
The venue's name. Strategies use it as the prefix, like DERIBIT:BTC_USDC_PERPETUAL.
my-account.yaml
At 2.5% down on the day, new orders are blocked. Open brackets keep managing.
qkt.config.yaml
Streams every signal, order and fill to your dashboard. A bounded queue means a slow dashboard never slows trading.
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 stepOn 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.