tickerall-nt-community
An independent community MetaTrader 5 adapter for NautilusTrader — stream live market data and backtest any MT5 broker 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="MetaQuotes-Demo", # 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, BTCUSD.TICKERALL. Broker-specific suffixes (some brokers append a
letter such as m or raw) 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.2
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.2.tar.gz | 17.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tickerall_nt_community-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.7 kB
Release files / tickerall_nt_community-0.1.2.tar.gz
| Download URL | tickerall_nt_community-0.1.2.tar.gz |
|---|---|
| Size | 17.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03c5d50c9a2e2f23b342f2c6924c2ce99c9f6db6f76791731baaf35e62e2b55c
|
|
BLAKE2b-256 checksum How to use checksums |
c43c06902a4cc21c45e678dfe32a02292086014ac66916b764a6ea0d7a8b62fe
|
| 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.2-py3-none-any.whl
| Download URL | tickerall_nt_community-0.1.2-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f1b4d02414baf96decaf9dad638970cf010892682c77c0cd7c0965c745b051b
|
|
BLAKE2b-256 checksum How to use checksums |
4524fc0f6d9d0c696cb5a420ee802252409cc71d1827923dc385072c216ab0c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.2
|