tickerall-nt-community
An independent community MetaTrader 5 adapter for NautilusTrader — stream live market data and backtest any MT5 broker (Exness, IC Markets, Pepperstone, FBS, and more) from Linux, macOS, or Windows, with no local MT5 terminal in the path. Live trading is coming in Phase 2 (see Status).
⚠️ Disclaimer: This is an independent community project. It is not affiliated with, endorsed by, or supported by Nautech Systems Pty Ltd or the official NautilusTrader project.
Disclosure: This adapter is built and maintained by Miguel Santos, who also builds and operates TickerAll — the hosted MT5 API this adapter connects to. It is an open-source client for that API; you need a TickerAll account and API key to use it.
What this is
tickerall-nt-community connects NautilusTrader to MetaTrader 5 brokers through
TickerAll, a hosted MT5 API (REST + WebSocket). Because the broker
session lives on TickerAll's servers, the adapter itself is a plain HTTP/WebSocket client —
structurally a standard live adapter, like NautilusTrader's other venue integrations.
(any OS, no terminal)
NautilusTrader ←→ tickerall-nt-community ←→ TickerAll hosted API ←→ MT5 broker
quote ticks + bars (holds the broker
(live trading: Phase 2) session)
Why hosted?
The standard MetaTrader5 Python library is Windows-only and needs a running MT5 terminal.
That forces algo devs onto a Windows box or a Wine/Docker workaround just to reach a broker.
This adapter removes both: the terminal runs on TickerAll's infrastructure, and your strategy
process talks to it over HTTPS/WSS from any operating system — a Linux server, a Mac laptop,
a container, a CI runner.
If you already run a local Windows MT5 terminal and prefer to keep the broker session on your own machine, the
mt5-connectorcommunity adapter is a good local-terminal alternative. This project is for people who want a hosted, OS-agnostic path instead.
Status
This is an early release. Feature coverage is being built out in phases:
| Phase | Scope | Status |
|---|---|---|
| 1 | Market data — instruments, live quote ticks, historical bars | ✅ available |
| 2 | Execution — market/limit/stop orders, SL/TP, position + account reconciliation | ⏳ planned |
Live execution is intentionally not enabled yet — the execution client raises
NotImplementedError until Phase 2 is complete and tested. Use Phase 1 for data + backtesting.
Requirements
- Python 3.11+
- A TickerAll account and API key (
cf_...) nautilus_tradertickerall(the official TickerAll Python SDK; installed as a dependency)
Installation
pip install tickerall-nt-community
nautilus_trader and tickerall are installed automatically.
Or install from source:
git clone https://github.com/miguelangelo78/tickerall-nt-community.git
cd tickerall-nt-community
pip install -e .
See LOCAL_TESTING.md for a full walkthrough on any OS.
Quick start (data)
from nautilus_trader.config import TradingNodeConfig, InstrumentProviderConfig
from nautilus_trader.live.node import TradingNode
from tickerall_nt import (
TickerAllDataClientConfig,
TickerAllLiveDataClientFactory,
)
config = TradingNodeConfig(
trader_id="TESTER-001",
data_clients={
"TICKERALL": TickerAllDataClientConfig(
api_key="cf_...", # or TICKERALL_API_KEY
account="12345678", # your MT5 login (or TICKERALL_ACCOUNT)
server="Exness-MT5Trial7", # your broker server (or TICKERALL_SERVER)
password="...", # your broker password (or TICKERALL_PASSWORD)
instrument_provider=InstrumentProviderConfig(load_all=True),
),
},
)
node = TradingNode(config=config)
node.add_data_client_factory("TICKERALL", TickerAllLiveDataClientFactory)
node.build()
# ... add your strategy, then node.run()
See examples/data_tester.py for a runnable data-only
example, run.py for a quick smoke test with timings, and
LOCAL_TESTING.md for step-by-step setup on any OS.
Connecting your account
You configure the adapter with the same details you use to log into MetaTrader — plus a TickerAll API key. You never handle an internal TickerAll account id. The adapter opens (warms) the broker session for you.
| Field | Meaning | Env var |
|---|---|---|
api_key |
Your TickerAll API key | TICKERALL_API_KEY |
account |
Your MT5 login number | TICKERALL_ACCOUNT |
server |
Your broker server | TICKERALL_SERVER |
password |
Your broker password | TICKERALL_PASSWORD |
Prefer the environment variables for the password rather than hard-coding it.
Quick-test shortcut: if you have already connected an account (it's hot) and it's the only hot account on your key, you can omit
account/server/passwordand the adapter uses it — just the API key. Execution (Phase 2) will always require the explicit account fields.
Symbol naming
MT5 symbols map to Nautilus instrument IDs as {SYMBOL}.TICKERALL, e.g. EURUSD.TICKERALL,
XAUUSD.TICKERALL, BTCUSDm.TICKERALL. Broker-specific suffixes (e.g. the Exness m) are
preserved verbatim as the raw symbol.
Safety
TickerAll enforces demo/live status server-side; this adapter does not bypass it. Test strategies on a demo account before trading anything funded. Trading is at your own risk.
License
MIT. NautilusTrader is licensed separately under LGPL-3.0.
Metadata
Release files for tickerall-nt-community 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tickerall_nt_community-0.1.1.tar.gz | 17.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tickerall_nt_community-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.5 kB
Release files / tickerall_nt_community-0.1.1.tar.gz
| Download URL | tickerall_nt_community-0.1.1.tar.gz |
|---|---|
| Size | 17.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
160d6e2cdb48be22ed57b4130266eaa66ff8e6609ea1e6fa0b11b1b6f99eed7a
|
|
BLAKE2b-256 checksum How to use checksums |
2af2b3eec0f29806a7471fb1742d10d802f21be46c9ea37bd24b0c77cc9f9b7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.2
|
Release files / tickerall_nt_community-0.1.1-py3-none-any.whl
| Download URL | tickerall_nt_community-0.1.1-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d3a9bb637d94418ec27b8135fca3424c4a353df86669164b195678d8e48063d
|
|
BLAKE2b-256 checksum How to use checksums |
4abd90489267eb04de15e570e4e36f29cab6e2fa19670921083be2f1e23afd68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.2
|