OpenReplay
Category
In Development
/
/
OpenReplay is a free, open-source market replay and backtesting engine with a C++20 core and React/TypeScript UI. Currently in development, it is aiming to be the first truly free alternative to paid platforms like FXReplay, with a planned agentic AI named Orion designed to scan backtests and auto-deploy strategies on future market conditions.

About the Project
Paying $40 or more per month to test your own trading strategy is one of the most backwards things in retail trading. FXReplay, and platforms like it, charge real money for what should be a primitive right: replaying price history, placing pretend orders, and measuring what you would have done. OpenReplay exists to end that.
OpenReplay is a free, open-source market replay and backtesting engine. Real bar-by-bar playback. A full order management system with stop loss and take profit. Real P&L tracking that updates with every candle. No subscription, no cloud dependency, no account required. It runs entirely on your machine. The project is currently in active development and coming soon as a polished public release.
The Problem with
Paid Backtesting
Most independent traders and beginners do not have $40 a month to spend on a tool that helps them figure out if they are even good at trading yet. The paid platforms do not deserve a moat this wide. The goal here is simple: build the technical equivalent, make it open-source, make it free, and then go further by attaching an AI layer that no paid platform has thought to build.
Architecture Overview
OpenReplay runs as two independently deployable processes that communicate over a WebSocket connection. The C++20 backend starts as a Crow HTTP and WebSocket server at localhost:9000. The React/TypeScript frontend connects to it at ws://localhost:9000/ws and exchanges JSON commands in real time. Every candle advance, order placement, speed change, and playback state update flows through that single persistent connection.
The C++ engine is split into four main systems. CandleBuffer holds the full in-memory OHLCV dataset for the active symbol and maintains the playback cursor. MatchingEngine processes orders: it matches market entries, tracks open and closed positions, and evaluates stop loss and take profit triggers on each candle close. SessionManager coordinates playback speed, timeframe selection, and the cursor position across all of these. A CSV Loader pulls historical data from files formatted as symbol_YYYYMM.csv, ingested via a Python script from the Alpha Vantage free-tier API.
Features, One by One
Bar-by-bar playback runs at speeds from 1x up to 50x candles per second, with play, pause, next candle, rewind, and a seekable timeline. Six timeframes are supported: 1m, 5m, 15m, 1H, 4H, and Daily. The order panel handles market and limit entries with per-order stop loss and take profit levels. An account panel tracks real-time unrealized and realized P&L as positions develop candle by candle, and a session summary is generated when you end a session via the REST API.
Technical indicators include EMA 20, SMA 50, Bollinger Bands, RSI 14, MACD, ATR 14, and Stochastic Oscillator, all computed from the raw candle data. The drawing toolkit includes trend lines, rectangles, Fibonacci retracement levels, text annotations, and a freehand brush. Critically, the toolbar and all drawing tools are built from open-source components with full programmatic access to their state. This is not cosmetic. It is the architectural decision that makes the AI layer possible.
Tech Stack
The backend is written in C++20, compiled via CMake 3.20 with vcpkg for dependency management. The HTTP and WebSocket server is Crow, a lightweight C++ web framework. JSON serialization uses nlohmann-json throughout. The setup is fully cross-platform: MSVC 17+ on Windows, GCC 12+ on Linux, and Clang 15+ on macOS. Historical price data is fetched via a Python script that pulls from Alpha Vantage free tier and caches OHLCV data locally as CSV files partitioned by symbol and month.
The frontend is React 18 with TypeScript 5, built with Vite. Chart rendering uses TradingView Lightweight Charts, which is the one intentional external dependency. Everything else: the toolbar, drawing tools, order panel, indicator overlays, and account panel are purpose-built from open-source components with full source access. That distinction is not incidental. It is central to the long-term goal of the project.
Orion: The AI Agent
The open-source approach to every component except the chart renderer is not a cost optimization. It is an architectural decision made in service of Orion, the planned AI agent at the center of OpenReplay’s long-term roadmap. Orion is designed to scan a user’s completed backtest sessions, recognize recurring entry signals and trade patterns, and automatically replay those strategies on future, unseen market dates to project forward performance.
For that to work, an AI agent needs deep programmatic control over the trading environment: the toolbar state, which drawing tool is active, where the playback cursor sits, what orders are open, and when to advance the chart. That level of control is only feasible when the components are written in code you can instrument and modify. When they live inside obfuscated third-party SDKs, the agent is effectively locked out. The one exception, TradingView Lightweight Charts for rendering, is intentional and scoped. Everything around it is owned. That is what gives Orion a real home to operate in, rather than a black box to fight through.

Status: In Development
OpenReplay is currently in active development. The C++20 engine, matching system, bar-by-bar playback, multi-timeframe support, technical indicators, and the drawing toolkit are all functional. The repository is public on GitHub under the MIT license. Developers can clone it, build the engine, run the frontend, and start a session against any historical CSV data today. A polished hosted release aimed at retail traders without a local dev setup is in progress.
Why This Project Matters
Free, open-source backtesting with this level of capability has not existed before. Every serious equivalent either charges a subscription, locks data in the cloud, or depends on proprietary infrastructure the user cannot touch. OpenReplay is locally hosted, fully inspectable, and architecturally designed from the ground up around the idea that an AI agent should eventually have full, unobstructed control over every layer of the trading environment. That is not a feature for later. It is the reason the project was built this way from the start.