AmiBroker
Windows portfolio backtester scripted in AFL, sold as a perpetual licence.
Last updated
What it is
AmiBroker is a Windows desktop application for writing trading systems in AFL — its own array language — and testing them across a whole symbol universe. The engine is what people buy: C++ compiled to machine code, arrays as native types so formulas vectorise instead of looping, and every chart and Analysis window on its own thread. The vendor quotes a 100-symbol, 10-year, 100-step exhaustive optimisation at 25 seconds.
Backtesting is portfolio-level by default rather than a per-symbol loop: shared equity, bar-by-bar ranking when entry signals outnumber buying power, scaling in and out, a rotational mode for sector switching, and walk-forward and Monte Carlo folded into the optimiser alongside exhaustive, PSO and CMA-ES searches. The charting and the Exploration/Scan screener are real — hence the charting and screeners listing — but they mostly serve to look at what the backtester found.
Pricing
A perpetual licence: Standard $299, Professional $379, Ultimate Pack Pro $499. "Perpetual" covers the version you bought, forever. Upgrades are free for 24 months from purchase; after that you either freeze on your version or pay the 50%-off upgrade price — $159 Standard, $189 Professional — for another 24-month window. AmiQuote and the AFL Code Wizard + AI Assistant are $99 each, with lifetime upgrades. The 30-day trial needs no signup, but it is build 6.93 from August 2024, while the current 7.00.1 (22 December 2025) is members-only: you evaluate an older build than you buy.
Data & coverage
None included — AmiBroker is an analysis shell over somebody else's feed, and the data bill is separate from the licence. Free end-of-day and fundamentals arrive through the AmiQuote add-on (Yahoo Finance, Stooq, Tiingo, Quandl); real time through plugins for eSignal, IQFeed, Interactive Brokers and any DDE source; end-of-day vendors include Norgate, TC2000, CSI and FastTrack. Markets are whatever your feed covers.
Integrations
A documented C++ Data Plugin API for any source that lacks one, ODBC and DDE plugins, direct reading of MetaStock databases, and an OLE Automation object model that lets an outside script drive the Analysis window and export results to CSV. Live and paper orders go to Interactive Brokers through the free IBController add-on. The v7 AI assistant is bring-your-own-model: an OpenAI or Gemini key, or a local model in LM Studio — and it needs an AFL Code Wizard licence (bundled in Ultimate Pack Pro, $99 otherwise), without which it stops after five responses per run.
Limitations
- Windows only, and no market data, so the sticker price is not the running cost.
- No options analytics: no chains, no greeks, no spread modelling. Futures and mutual funds have dedicated handling; options have none.
- Live trading is Interactive Brokers and nothing else. IBController's shipped build is dated 2010 and its docs still call it low-level, "phase-one" and awaiting a higher-level interface.
- Standard is 32-bit only, which caps RAM at 4GB and bars at 1 minute — a constraint on tick work, not a marketing split.
- AFL is a language you will only ever use here: no Python bindings, no way to reuse a strategy elsewhere. And sales are final — no refunds — which is why the trial matters.
Alternatives
MultiCharts and NinjaTrader cover the same Windows-desktop ground with broker execution as the main event and backtesting attached, rather than the other way round. If the strategy lives in Python, an open-source vectorised backtester costs nothing — and gives up the portfolio machinery AmiBroker has had for twenty years.
Specs
- Interfaces
- API, AFL
- Export
- CSV
- Asset classes
- Stocks, ETF, Futures, Forex, Mutual funds
- Markets
- Global
- Platforms
- Desktop win
- AI features
- Assistive
- Capabilities
- Charting, Screening, Scanning, Backtesting, Automation, Live trading, Paper trading, Alerts
- Pricing verified
- Capabilities verified
- Coverage verified
Also worth comparing
- WealthLab — Windows portfolio backtesting in C# or drag-and-drop blocks, with a built-in MCP service.
- Backtesting.py — A single-instrument Python backtester — one OHLC series, one strategy, no live trading.
- Backtrader — An event-driven Python backtester with 122 indicators, frozen since April 2023.
- Blueshift — Free hosted Python backtesting with bundled minute data and broker execution.
- bt — Python backtesting for allocation and rebalancing rules, not entries and exits.
- fastquant — A one-call wrapper over Backtrader, dormant since 2023 and broken on PyPI.
FAQ
Is the AmiBroker licence really lifetime?
The licence is perpetual — the version you bought keeps running with no renewal — but free upgrades stop after 24 months. After that you either stay on the version you own or buy an upgrade licence at the vendor's 50%-off rate, $159 for Standard and $189 for Professional, each carrying its own 24 months of upgrades. Budget it as a licence plus an optional upgrade every couple of years, not as a one-off.
Does AmiBroker come with market data?
No. It ships no quotes at all. AmiQuote, a $99 add-on, downloads free end-of-day and fundamental data from sources such as Yahoo Finance, Stooq and Tiingo; real-time means a third-party plugin and a third-party subscription — eSignal, IQFeed, Interactive Brokers or any DDE source. Norgate, TC2000, CSI and FastTrack are end-of-day vendors, not real-time ones.
Standard or Professional?
Standard is 32-bit only, stops at 1-minute bars, shows 10 symbols in the real-time quote window and runs 2 threads per Analysis window. Professional adds the 64-bit build, tick and second bars, unlimited real-time symbols, MAE/MFE statistics and up to 32 threads. If you backtest intraday or want more than 4GB of RAM, the $80 gap is not optional.
Can AmiBroker place live orders?
Yes, through Interactive Brokers only, using the free IBController add-on that drives TWS. It is a low-level OLE interface you call from AFL, the shipped build is dated 2010, and the vendor's own read-me tells you to test against a paper-trading account first and never leave it unattended.