The first fifteen minutes of a session draw the line. ORBIT trades what happens when price comes back to it.
Every session opens with a range. Most breakouts of that range fail. ORBIT waits for the break, then for the retest that either confirms it or exposes it, and only takes the trade when price closes back on the breakout side — sized off ATR, costed on every fill, and logged whether it wins or loses.
high & low
the range
within tolerance
next bar open
close-confirmed
the midpoint
The engine is running, not illustrated.
This panel reads the most recent campaign straight out of the running engine. If it says synthetic, the numbers came from generated prices and prove only that the machinery works.
Three opens a day, each in its own timezone.
A session anchor written in UTC drifts twice a year and quietly ruins every opening range it touches. ORBIT resolves each anchor per day in its own market timezone, so daylight saving never moves the range.
| Session | Anchor | Timezone | Opening range | Breakout window | Retest window |
|---|---|---|---|---|---|
| ASIA | 09:00 | Asia/Tokyo | first 15m bar | 16 bars | 8 bars |
| LONDON | 08:00 | Europe/London | first 15m bar | 16 bars | 8 bars |
| NEW YORK | 09:30 | America/New_York | first 15m bar | 16 bars | 8 bars |
About thirty things are true at the moment of the decision.
Every one is computed from bars that had already closed. They are recorded whether or not the trade is taken, which is what makes the journal worth learning from later.
Trend, on two timeframes
EMA 20/50/200 plus MACD on the 15-minute bar, and the same read on completed 1-hour bars. A 200-EMA macro bias with a neutral band keeps the engine out of the middle.
Volatility regime
A three-state classifier — calm, normal, crisis — from Garman-Klass realised volatility. Position size is scaled by regime entropy, so an uncertain regime is traded smaller.
Structure
Order blocks — the last opposite candle before a structure-breaking displacement — fair-value gaps as objective retest zones, and confirmed swing highs and lows. Zones are mitigation-tracked, so a level that has already been traded through stops counting.
Volume profile
Session and daily profiles give POC, value-area high and low, and low-volume nodes. Distance to each is measured in ATR units: thin air ahead is runway, a high-volume node overhead is rejection risk.
Options positioning
When an options chain is supplied, gamma and vanna exposure per strike give the zero-gamma flip, call wall and put wall, mapped onto CFD prices. Positive net gamma is a mean-reverting tape; negative is expansion-friendly. Without a chain these features are neutral, not invented.
| Indicator | Setting | Role |
|---|---|---|
| RSI | 14, Wilder | feature only — fades work range-bound, not in trend |
| MACD | 12 / 26 / 9 | histogram + 3-bar slope, both timeframes |
| ATR | 7 / 14 / 21 | stops, targets, size — period fitted per symbol |
| σ-bands | Bollinger 20 / 2.0 | z-score as mean-reversion risk |
| σ-projection | 9-day weighted range | "range consumed" — suppresses late chasing |
| Fibonacci | .382 / .5 / .618 / .786 | confluence with the retest zone |
| EMA | 20 / 50 / 200 | trend, trail, macro bias |
| VWAP | session-anchored | side and approach type |
| Rel. volume | vs 20-bar mean | breakout-bar confirmation |
Costs are charged first, then the edge has to survive them.
Spread, slippage and commission are modelled on every virtual fill, and every number the engine reports is net R. This is not a detail: in the research behind ORBIT, a signal that called direction correctly 60% of the time still lost money once costs were charged.
1% of equity, ATR-sized
Position size falls out of the stop distance, not the other way round. Wider stop, smaller position — so a volatile session does not quietly become a bigger bet. Scaled down further by regime entropy.
Fitted per instrument
Stop and target are ATR multiples, chosen per symbol from a 60-cell grid by walk-forward — and by plateau rather than peak, so an isolated lucky cell cannot win the search.
Close-confirmed exits
Breakeven at +1R, then an EMA trail that tightens beyond +2.5R. Wick pierces are ignored — only a close moves a stop. Gold's documented failure mode is being wicked out of a trade that was right.
The day can be stopped
Trading halts at −3R on the day, or after three consecutive losses in a session. No new entries within 15 minutes of NFP, CPI, FOMC or GDP; open positions switch to a structure-based trail.
It learns from its own trades, and it is allowed to fail the test.
Every decision becomes a journal row. Once enough rows exist, an ensemble scores setups — and it only ever gets to veto trades if it has demonstrably improved expectancy out of sample.
The journal
Timestamps, session, direction, the path the state machine took, ~30 features at the decision bar, entry, stop, target, MFE and MAE, exit reason, gross and net R.
Two model families, not one
Logistic regression and gradient boosting. Different families disagree more than copies of the same one, and that disagreement is what makes an ensemble worth having.
Purged walk-forward, with embargo
Training folds are purged and embargoed by a full trading day, so a model can never be scored on a period it effectively saw. The gate stays pass-through below 120 closed trades.
Monitors that can call a halt
Drawdown is measured in annualised-volatility units against the 90th-percentile Gaussian expectation for the assumed Sharpe. Expectancy running 2.5σ under model raises an alarm. Both are thresholds, not feelings.
Tuned for money, not for accuracy
The gate is optimised on net-R expectancy, never on hit rate. A model can be right more often and still lose, because being right small and wrong large is a losing shape. Accuracy is the metric that flatters a system; expectancy is the one that pays for it.
It is accepted only if out-of-sample expectancy improves with a bootstrap p below 0.10. Otherwise it keeps logging and changes nothing.
Nine papers were read closely. Most of them graded badly.
The grade is for usefulness as evidence, not for how interesting the paper is. Several score poorly and were still worth reading — as donors of mechanism, never of statistics. That distinction is what decided which parts were adopted and which are merely being tested.
| Source | What it is | Grade | What ORBIT took from it |
|---|---|---|---|
| Kozmenko & Plastun | volatility-adaptive oscillators, FX | C | volatility-adaptive stops; "range consumed"; regime-gating the oscillators — its own strategies lost money |
| Alpha Engine | intrinsic-time FX market making, 8y of ticks | B− | multi-scale coherence; overshoot ≈ reversal as a measured-move reference; parsimony |
| Retail behaviour | 200k brokerage accounts, 2015–2019 | B+ | retail fades gold hard — roughly 8× the effect seen in stocks; expect breakouts to meet that flow |
| Kalman pairs + ML gate | daily stat-arb with a regime classifier | C | the trade / don't-trade gate concept — internal inconsistencies, numbers untrusted |
| Ensemble direction | 35 model×dataset combinations | B− | cross-family ensembles beat same-family; 60% accuracy still lost money after costs |
| PRISM | regime-conditional gamma scalping | C+ | regime gating; entropy-scaled sizing; cost elasticity as the largest lever — simulation only |
| XAUUSD VWAP/EMA | 15m gold framework | C+ | the close-confirmed trailing stop; 200-EMA regime gate; circuit breakers — assumed probabilities |
| FVG momentum | multi-asset fair-value-gap system | D+ | FVG as an objective retest zone; the displacement gate; the journal schema — outcomes were hash-simulated |
| Drawdown theory | Monte Carlo beyond Brownian motion | B+ | the four-measure drawdown monitor and its 90th-percentile alarm; Sharpe standard error on short histories |
The part most engines leave off the page.
Read this before you read any performance number
- No paper here demonstrates that this stack is profitable. Three of the closest "systems" papers simulated their own results — one drew its wins from an assumed win rate. ORBIT's premise is that the edge has to be measured, on your broker's bars, net of costs, out of sample. Not inherited from a citation.
- Costs can invert everything. A 60%-accurate daily signal lost money at two basis points. CFD spreads are far larger than that. Every optimisation in ORBIT scores net R for exactly this reason.
- Breakout books lose by duration more than depth. Expect underwater stretches roughly 10% longer than a Gaussian intuition suggests. Do not kill a live edge for time-pain alone — and do not tolerate depth past the 90th-percentile line either.
- The demo campaign runs on synthetic data. It validates the machinery — the state machine, the walk-forward split, the cost model, the journal. It says nothing at all about profitability, and it is labelled synthetic everywhere it appears precisely so it is never mistaken for a track record.
- This is research software. Position sizes, leverage and the decision to go live remain human decisions. Nothing here is financial advice.
Six gates, and any one of them can end it.
The protocol is fixed in advance, so the bar cannot be moved after seeing the result.
Eighteen months of broker bars
Walk-forward with a rolling 60-day train and 20-day test, and ATR parameters taken from the out-of-sample plateau.
The ML gate must earn its veto
Trained under purged cross-validation, accepted only when out-of-sample expectancy improves against the ungated engine.
Sixty sessions of forward paper
Signals computed live, filled virtually at the broker's own spreads — no replaying of history.
Per-symbol go / no-go
Each instrument stands on its own record. An engine that works on gold has proven nothing about the Nasdaq.
Drawdown inside the line
Measured in volatility units against the 90th-percentile expectation for the assumed Sharpe over the elapsed horizon.
Then, and only then, a demo terminal
Automation on a demo account first. A port to another platform is a conversation for after the edge exists, not before.
Watch it draw the range, and judge it on its own journal.
The deck shows every session's opening range on real bars, the walk-forward parameters it chose per instrument, and every virtual trade it has taken — including the losses.