Broker clock
Bar timestamps and fill times are wall-clock time in the broker's zone, which is not your machine's time. When that clock is unavailable the correct behaviour is to say so, not to quietly fall back to local time.
XTrading
Forex and gold, US equities, crypto and futures. Built for a human watching the tape, not for an automated strategy.
Confirmed: no MT4/MT5 positions
mt.positions · mt/fx_metals · 2026/9/8 17:21:13
This interface runs on synthetic data. Not a live feed, not a real account.
Three ideas
Some things are deliberately built this way.
Quotes, positions and pending orders from every venue, merged into one state. Its only job is to let you see clearly. There is no path from the board to an order.
| Venue | Symbol | Last | Pos | Pend |
|---|---|---|---|---|
| MT4/MT5 | XAUUSD | 4361.40 | 0 | 0 |
| IBKR | NVDA.US | 182.34 | 0 | 0 |
| Binance | BTC/USDT | 68,412.5 | 0 | 0 |
| TianQin | SHFE.au | 1,024.6 | 0 | 0 |
Confirmed: no open positions
Drag a stop or a target on the chart and all you touch is a draft: the position is untouched and no request is sent. A drafted line thickens and gets the word draft appended to its label. It becomes a real amendment only after Apply to account and a second confirmation. A slip of the hand costs nothing.
Once every are-you-sure dialog is gone, this session-level switch is all that remains. It is off by default: the panel reads as read-only and the buy and sell buttons do not respond.
Trading locked. Read-only by default.
Venues
MT4, MT5, IBKR, crypto exchanges, TianQin futures. Each is a venue. Routing quotes through one and execution through another is routine.
| Venue | Execution unit | Modify protection | Cancel order | Pending from chart |
|---|---|---|---|---|
| MT4 / MT5 | mt4_lots | yes | yes | yes |
| IBKRnot connected | shares | not connected | not connected | not connected |
| Binance | coins | no | no | no |
| OKXnot connected | coins | not connected | not connected | not connected |
| TianQinnot connected | contracts | not connected | not connected | not connected |
| Longbridge | none | no | no | no |
The values below come from VENUE_UNIT in venues.py and the capability constants in chart-trade-overlay.js. They were not invented for this page.
What a connected venue can do right now, one operation at a time, yes or no. If it is not listed, it cannot be done. It answers what this particular connection can do, which is a different question from whether this kind of venue can trade at all: the second you know without connecting, the first only after.
Execution venue to quantity unit is a fixed table: lots for MT, shares for IBKR, coins for exchanges, contracts for TianQin. 0.001 lots is not 0.001 bitcoin, so nothing is ever silently converted and a cross-unit request is refused outright.
A venue you can watch but not trade. Longbridge is one: it has no execution unit at all, because it never carries execution. US equities here take quotes from Longbridge and execution through IBKR. Without IBKR connected, read-only is all that is left.
XAgent
Structured bars plus precomputed features, reasoned in two stages: diagnose the market first, then decide. You watch it work through each step.
What you get is an entry, a stop, targets and the reasoning behind them. Checking it and placing the order at your broker is your job. The software does not connect to a broker and has no execution path at all.
Trade-offs
Bar timestamps and fill times are wall-clock time in the broker's zone, which is not your machine's time. When that clock is unavailable the correct behaviour is to say so, not to quietly fall back to local time.
How long since this symbol last ticked. Deliberately an age rather than an alarm light, because at the bridge layer a dead feed and a closed market produce exactly the same input.
It does not claim the feed is dead, because it cannot know. It reports how long since the last tick and leaves the conclusion to you.
An empty list has to distinguish the two. A confirmed zero says it is confirmed. Before the answer arrives, it does not write zero at all.
Confirmed: no open positions
No position acknowledgement yet
The model's conviction and win rate are marked as model self-assessment, not historical statistics. A number that reads like a backtested win rate but is not one has to say so.
Without that line, this number reads as a backtested win rate. It is not one.
Around 8% of men have red-green colour vision deficiency, and on a dark background red and green sit at similar lightness. So every up or down figure also carries a direction mark, and a blue-amber palette is available.
The direction marks never go away. Switching palette only changes colour; it does not add missing information.
An order has three degrees of realness: not sent, simulated, live. The live tier is always refused unless it has been explicitly opened.
It has to be opened explicitly, and the switch does not survive a restart.
Get started
XAgent runs on its own without XTrading, and the other way round.
The trading workbench. Forex and gold, US equities, crypto, futures.
Downloads require an account and a licence key.
Price-action analysis with AI. No broker connection, no automatic orders.
Downloads require an account and a licence key.
Version numbers and package sizes are placeholders; the server will supply them once distribution is wired up.