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.
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
These three share one premise: when you cannot tell, say so.
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
What a figure looks like and what it actually is must agree.
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.
Net is what a trade actually leaves you with: gross P/L plus commission and swap. Reviews always use it, because reading the gross column alone flatters the record. In this system the word P/L is reserved for the figure that excludes commission and swap, and the two are never used interchangeably.
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.
Silent failure is the hardest kind to find, so these are all built to make noise.
Switching symbol or chart type tears down and rebuilds the chart's main series. That moment is a generation change. Everything attached to the old series — price lines, fill markers, drawing layers, a half-placed anchor — becomes invalid, and nothing raises an error. So they all have to be invalidated together; miss one and it fails silently.
A line drawn on gold should not appear on EUR/USD, and should still be there when you switch back. Price alerts work the same way. Binding them to the chart pane is the easier implementation, but then one symbol switch scatters everything you marked yesterday.
Switch back and forth: each symbol keeps its own lines.
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.