Everything a terminal does, as an API
Your terminal, run and supervised in the cloud, exposed to your code. Below is what you get, grouped the way you will use it.
Two platforms, one SDK
MetaTrader 5®
A real terminal, logged in to your broker with your credential, run and supervised by MFX Hub in the region closest to your broker. You stay the account holder and the terminal's licensee; MFX Hub provides the infrastructure and the management.
cTrader
cTrader accounts connect through cTrader's open API: there is no terminal to run, so there is nothing to host. The same SDK, the same account and position events, the same command results, the same status page. Your code does not care which platform an account is on.
Terminals
Any broker
Point a terminal at any MetaTrader 5 server. MFX Hub keeps the broker's own symbol names and sessions.
Several terminals, one login
Run more than one terminal on the same broker account, each with its own instruments and streaming.
Healed, not restarted blindly
A terminal that fails is recovered in bounded steps, each recorded against the terminal, and you are told what happened.
High availability
A terminal can keep a warm stand-in so quotes and orders continue through a failure.
Conditions, not guesses
A terminal's state tells you where it is; its conditions tell you why. Nothing to infer from a timestamp.
Password changes and retirement
Rotate a broker password without downtime. Retire a terminal and it drains cleanly before it goes.
Your expert advisors, beside the terminal
Upload your own advisor. It is built and audited on your behalf, trialled on one terminal, then run beside your terminal with its notes streamed to you. How the audit works
Read-only access with an investor login
Follow an account without the power to trade: a terminal on the investor password reads balance, positions and history and streams every change, and can place nothing.
Trading
Orders
Market, limit, stop and stop-limit orders; modify and close; partial close. One command shape, one result shape.
Trailing stop
Server-side trailing stop that keeps trailing while your application is offline, with the distance and step you set.
Idempotent writes
idempotency_key is mandatory on every write. Retry with the same key and you get the original answer, never a second order.
Granular reasons
A rejection carries the broker's return code, its text, a reason and the raw comment. Never a bucket such as "failed".
Two latencies on every result
broker_latency_ms and agent_latency_ms, always separate, so you know who was slow.
Position sizing on real numbers
Symbol specification, contract size, value per lot and margin currency, read from your terminal so a size is computed on your broker's own figures.
Market data
Ticks
Bid, ask, last and volume as your broker sends them, with a freshness stamp so a stale feed is visible, not silent.
Candles
Any timeframe, history on request and the forming candle live.
Market depth
Level 2 book where your broker publishes it, per instrument, over the same stream.
Broker names, unchanged
EURUSD.sd stays EURUSD.sd. MFX Hub never normalises a symbol, so your code and your broker agree.
Events and delivery
WebSocket stream
Account, position, order and terminal events as they happen, with a sequence number so a gap is detectable and the stream resumable.
Webhooks
Signed HTTP deliveries to your endpoint for the events you choose, with retries, a pause switch and a delivery log you can read.
Versioned payloads
Every event carries schema_version. Nothing changes shape under you.
Copy trading, analytics and risk
Copy trading
Follow one account, mirror to many, with the copier running beside your terminals so a copy is not a round trip across the internet.
Trading analytics
Per-account statistics computed from your deals as they happen: drawdown, win rate, exposure by symbol, period returns.
Risk rules
Daily loss, max exposure and trading hours enforced on the terminal, with the breach on your stream the moment it happens.
Security and operations
Signed requests
Public-key request signing. The private key is issued once and never stored by MFX Hub; a lost key is rotated, not recovered.
Credentials by reference
Your broker password travels once, into a vault, and is used by reference. No API returns it and no log can print it.
Availability record
Each terminal graded per minute, checked from outside as well as inside. The status page reads the same minutes.
Regions
Capacity in the cloud region closest to your broker, so the hop from terminal to server is short.
Maintenance you can see
Planned windows are announced on the status page with what is affected, and nothing else.
Audit
Every command, credential event and operator action is in an audit trail you can request.