System architecture

The flow runs top to bottom. Numbers show the order of passage, arrows show where data goes. Hover a block for details.

Selection lab
1
Brokers
5 live accounts
OANDA £250 · IG £69 · T212 £80 · Binance $78 · Kraken £24. Every order is signed with the bot's tag — it identifies the trade's owner, and the bots stopped closing each other's positions.
2
Market data
400 bars · M30–D
Closed candles only: a signal from a forming bar means trading a different strategy from the one that was tested. We load 400 bars: at 120 a filter with a 120-period window could never compute, it was one bar short.
3
Market context
news · order book · regime
The news backdrop blocks entries against a strong event. Binance's order book gives book imbalance and aggressors — honestly for crypto only, since CFDs have no central book. The regime decides which family to trust right now.
4
Cost filter
bar range ÷ spread ≥ 5
The cheapest filter, applied before any computation. If the typical bar range does not cover the spread fivefold, nothing works on that market and timeframe. Measured: a live strategy on M5 returned −1.376R, worse than a full stop.
5
Feature matrix
13 columns, computed once
Indicators are computed ONCE per instrument and aligned by bar. A strategy becomes a mask over columns rather than separate code. As a side effect, two strategies on the same market physically cannot see different data.
6
Predictor screening
link to forward return
Before building strategies: is there any information in the feature at all? No link means no strategy built on it can work, and all its variants die in one measurement instead of a thousand.
7
Null gate
permutation null
What randomness achieves on the same market. Measured: on shuffled bars the old filter found TWICE AS MANY «robust» edges as on real data. The threshold carries a correction for the number of tests.
8
Distributed compute
job queue → GPU
Selection is bound by computation, not the network: an instrument downloads in two seconds and computes in two hundred. Only candles go out and numbers come back — the job carries no broker keys, so the computing machine cannot open a single trade.
9
Strategy pool
52 candidates → 36
Rebuilt every night. A strategy the CURRENT lab does not endorse never reaches trading, however well it once performed: a PF from an old record cannot be verified.
10
Forward gate
data produced AFTER the discovery
Between the lab found it and we trade full size sits a forward test. That data cannot be fitted. Unproven means micro size; failed means not taken at all.
11
Audit gate
crypto: 81 → 19 edges
Candidates are compared at EQUAL depth of history. Otherwise an edge on a short window looks stronger simply because the window is short: that is how a «proven» OP pin H4 turned out to be an artefact.
12
Capital ladder
recon → trial → full size
Size depends on what LIVE trades have proven. The stop and target stay the same, only the price per point changes. An instrument that cannot be tested cheaply is not traded at all: the exchange minimum exceeds the tier's ceiling.
13
Risk sizing
% of equity ÷ ATR stop
Every trade risks the same amount. Conversion into the account currency uses the BROKER's factors: without it, yen trades risked 190 times less than planned and were economically empty.
14
Risk stack
≤2 per currency · stop
A mean-reversion entry against a strong trend is blocked. The daily stop counts REALISED results — on floating ones it shut trading down 23 times a day on the swings of a live trade.
15
Allocator
slots · quotas
One account shared by all, while the bots know nothing of each other. Here live the global caps, personal quotas and the ban on two bots holding one instrument: that is double risk, not diversification.
16
Executors
6 live
robust, GTE3, Raschke, oil, crypto, Kraken. Each one reads the pool, applies its own risk and sends the order. The owner is identified by the trade's tag, and other bots' trades are left alone in five places in the code.
17
Order pipeline
minimum · margin · INVARIANT
The exchange minimum lot, free margin, price precision and most importantly whether the ACTUAL risk matches the plan. That last check is what catches a mechanism reporting one thing and doing another.
18
Instrumentation and heartbeat
774 silencers instrumented
An empty error handler is a place where failure is invisible. Now the error does not change behaviour but becomes countable. The heartbeat shows how many bars were evaluated and WHY there was no entry.
19
Dashboard
accounts · WR · payoff
Balances across every broker, trades with the bot's icon, statistics for each one and on/off switches. Statistics cover real money only — demo and paper are never mixed in.
main data flow feedback and control hover a block for details
×