Free for every Nebula user

The Edge Update

A new Build page, the Lean engine and risk you can see before you run.

The Nebula Build page
Simulated
  • 1,000+compute hours
  • 2.5M+systems tested
  • 5.7M+price bars
  • 36,000+systems checked on unseen prices

The testing behind this update, 7 to 25 October 2026.

What changes

New Build page

Standard for quick picks, Explore for every setting.

Lean engine

Standard now builds with the newer Lean engine.

Risk you can see

Books start at their tested risk.

Gold book

Gold systems built and run together as one book.

Mission Control, new view

Systems and books in one view.

No broker needed to start

Build and test before you link MetaTrader.

Inside the data

What 1,000+ hours of testing looks at

The markets, the maths and the checks behind the update. The method stays ours.

5.7M+

Price bars on file

12 markets, four timeframes, M15 to H4. Every bar is a real broker price, with the spread it had at the time.

Price bars on file by market and timeframeM15M30H1H4EURUSDEURUSD M15: 292,063 bars, 2015 to 2026292kEURUSD M30: 146,060 bars, 2015 to 2026146kEURUSD H1: 100,531 bars, 2010 to 2026101kEURUSD H4: 41,218 bars, 2000 to 202641kGBPUSDGBPUSD M15: 292,084 bars, 2015 to 2026292kGBPUSD M30: 146,068 bars, 2015 to 2026146kGBPUSD H1: 100,531 bars, 2010 to 2026101kGBPUSD H4: 41,218 bars, 2000 to 202641kUSDJPYUSDJPY M15: 292,085 bars, 2015 to 2026292kUSDJPY M30: 146,070 bars, 2015 to 2026146kUSDJPY H1: 100,531 bars, 2010 to 2026101kUSDJPY H4: 41,218 bars, 2000 to 202641kAUDUSDAUDUSD M15: 292,091 bars, 2015 to 2026292kAUDUSD M30: 146,070 bars, 2015 to 2026146kAUDUSD H1: 100,509 bars, 2010 to 2026101kUSDCADUSDCAD M15: 292,074 bars, 2015 to 2026292kUSDCAD M30: 146,068 bars, 2015 to 2026146kUSDCAD H1: 73,044 bars, 2015 to 202673kUSDCAD H4: 41,218 bars, 2000 to 202641kEURGBPEURGBP M15: 100,002 bars, 2022 to 2026100kEURGBP H1: 42,938 bars, 2019 to 202643kEURJPYEURJPY M15: 202,122 bars, 2018 to 2026202kGBPJPYGBPJPY M15: 292,016 bars, 2015 to 2026292kGBPJPY M30: 146,035 bars, 2015 to 2026146kGBPJPY H1: 73,028 bars, 2015 to 202673kAUDJPYAUDJPY M15: 292,021 bars, 2015 to 2026292kAUDJPY M30: 146,046 bars, 2015 to 2026146kAUDJPY H1: 73,038 bars, 2015 to 202673kEURCADEURCAD M15: 292,082 bars, 2015 to 2026292kEURCAD M30: 146,067 bars, 2015 to 2026146kEURCAD H1: 73,044 bars, 2015 to 202673kEURCAD H4: 20,951 bars, 2013 to 202621kGoldGold M15: 276,315 bars, 2015 to 2026276kGold M30: 138,191 bars, 2015 to 2026138kGold H1: 100,498 bars, 2009 to 2026100kGold H4: 34,168 bars, 2004 to 202634kSilverSilver M15: 277,340 bars, 2015 to 2026277kSilver M30: 138,736 bars, 2015 to 2026139kSilver H1: 100,499 bars, 2009 to 2026100k
Bars per market and timeframe. Brighter means more history.
120x

Markets are not bell curves

On EURUSD, hourly moves past 4 standard deviations happen 120 times more often than a bell curve allows. Gold: 130 times. A test that assumes normal markets underrates the bad days.

The maths

Each hourly move is a log return r = ln(close / previous close), scaled to z = (r − mean) / sd. A normal curve puts 0.0063% of hours beyond |z| = 4. The data puts 0.762% there. Excess kurtosis: 15.9 on EURUSD, 24.2 on gold, where a bell curve scores 0. 100,530 EURUSD hours, 2010 to 2026.

EURUSD hourly moves against a bell curve, log scale100%1%0.01%0.0001%-6.00 to -5.75 sd: 112 hours-5.75 to -5.50 sd: 18 hours-5.50 to -5.25 sd: 17 hours-5.25 to -5.00 sd: 20 hours-5.00 to -4.75 sd: 40 hours-4.75 to -4.50 sd: 64 hours-4.50 to -4.25 sd: 49 hours-4.25 to -4.00 sd: 64 hours-4.00 to -3.75 sd: 74 hours-3.75 to -3.50 sd: 111 hours-3.50 to -3.25 sd: 158 hours-3.25 to -3.00 sd: 199 hours-3.00 to -2.75 sd: 254 hours-2.75 to -2.50 sd: 307 hours-2.50 to -2.25 sd: 454 hours-2.25 to -2.00 sd: 606 hours-2.00 to -1.75 sd: 858 hours-1.75 to -1.50 sd: 1,276 hours-1.50 to -1.25 sd: 1,958 hours-1.25 to -1.00 sd: 2,844 hours-1.00 to -0.75 sd: 4,546 hours-0.75 to -0.50 sd: 7,047 hours-0.50 to -0.25 sd: 11,647 hours-0.25 to +0.00 sd: 17,169 hours+0.00 to +0.25 sd: 17,715 hours+0.25 to +0.50 sd: 11,828 hours+0.50 to +0.75 sd: 7,196 hours+0.75 to +1.00 sd: 4,571 hours+1.00 to +1.25 sd: 2,812 hours+1.25 to +1.50 sd: 1,851 hours+1.50 to +1.75 sd: 1,224 hours+1.75 to +2.00 sd: 873 hours+2.00 to +2.25 sd: 687 hours+2.25 to +2.50 sd: 431 hours+2.50 to +2.75 sd: 326 hours+2.75 to +3.00 sd: 229 hours+3.00 to +3.25 sd: 174 hours+3.25 to +3.50 sd: 141 hours+3.50 to +3.75 sd: 107 hours+3.75 to +4.00 sd: 91 hours+4.00 to +4.25 sd: 63 hours+4.25 to +4.50 sd: 42 hours+4.50 to +4.75 sd: 43 hours+4.75 to +5.00 sd: 47 hours+5.00 to +5.25 sd: 35 hours+5.25 to +5.50 sd: 19 hours+5.50 to +5.75 sd: 17 hours+5.75 to +6.00 sd: 116 hours-6σ-4σ-2σ0+2σ+4σ+6σ
EURUSD hourly moves (bars) against a bell curve (dashed). Log scale, so the tails show. The end bars hold every move past 6σ.
3.5x

The market keeps hours

EURUSD moves 3.5 times more in its busiest hour than its quietest. Systems are tested across every session, so a quiet hour cannot pass for skill.

Average size of an hourly move by hour of the day, server timeEURUSDEURUSD 00:00: 0.64x its daily average moveEURUSD 01:00: 0.63x its daily average moveEURUSD 02:00: 0.71x its daily average moveEURUSD 03:00: 0.81x its daily average moveEURUSD 04:00: 0.72x its daily average moveEURUSD 05:00: 0.60x its daily average moveEURUSD 06:00: 0.53x its daily average moveEURUSD 07:00: 0.62x its daily average moveEURUSD 08:00: 0.85x its daily average moveEURUSD 09:00: 1.30x its daily average moveEURUSD 10:00: 1.48x its daily average moveEURUSD 11:00: 1.27x its daily average moveEURUSD 12:00: 1.08x its daily average moveEURUSD 13:00: 1.10x its daily average moveEURUSD 14:00: 1.34x its daily average moveEURUSD 15:00: 1.75x its daily average moveEURUSD 16:00: 1.66x its daily average moveEURUSD 17:00: 1.63x its daily average moveEURUSD 18:00: 1.19x its daily average moveEURUSD 19:00: 1.02x its daily average moveEURUSD 20:00: 0.98x its daily average moveEURUSD 21:00: 0.90x its daily average moveEURUSD 22:00: 0.70x its daily average moveEURUSD 23:00: 0.50x its daily average moveGoldGold 00:00: 1.15x its daily average moveGold 01:00: 0.95x its daily average moveGold 02:00: 0.72x its daily average moveGold 03:00: 0.92x its daily average moveGold 04:00: 0.97x its daily average moveGold 05:00: 0.70x its daily average moveGold 06:00: 0.59x its daily average moveGold 07:00: 0.67x its daily average moveGold 08:00: 0.85x its daily average moveGold 09:00: 0.99x its daily average moveGold 10:00: 1.07x its daily average moveGold 11:00: 0.93x its daily average moveGold 12:00: 0.83x its daily average moveGold 13:00: 0.89x its daily average moveGold 14:00: 1.09x its daily average moveGold 15:00: 1.78x its daily average moveGold 16:00: 1.72x its daily average moveGold 17:00: 1.66x its daily average moveGold 18:00: 1.24x its daily average moveGold 19:00: 1.01x its daily average moveGold 20:00: 0.98x its daily average moveGold 21:00: 0.93x its daily average moveGold 22:00: 0.83x its daily average moveGold 23:00: 0.51x its daily average moveGBPJPYGBPJPY 00:00: 0.79x its daily average moveGBPJPY 01:00: 0.79x its daily average moveGBPJPY 02:00: 0.87x its daily average moveGBPJPY 03:00: 1.01x its daily average moveGBPJPY 04:00: 0.87x its daily average moveGBPJPY 05:00: 0.76x its daily average moveGBPJPY 06:00: 0.66x its daily average moveGBPJPY 07:00: 0.69x its daily average moveGBPJPY 08:00: 0.80x its daily average moveGBPJPY 09:00: 1.24x its daily average moveGBPJPY 10:00: 1.48x its daily average moveGBPJPY 11:00: 1.40x its daily average moveGBPJPY 12:00: 1.13x its daily average moveGBPJPY 13:00: 1.11x its daily average moveGBPJPY 14:00: 1.18x its daily average moveGBPJPY 15:00: 1.30x its daily average moveGBPJPY 16:00: 1.42x its daily average moveGBPJPY 17:00: 1.55x its daily average moveGBPJPY 18:00: 1.15x its daily average moveGBPJPY 19:00: 0.90x its daily average moveGBPJPY 20:00: 0.84x its daily average moveGBPJPY 21:00: 0.77x its daily average moveGBPJPY 22:00: 0.68x its daily average moveGBPJPY 23:00: 0.62x its daily average move0003060912151821
Average hourly move by hour of the day (broker server time). Brighter means bigger moves.
5σ

Test millions, and luck looks like genius

Try 2.5 million random systems and the best one looks like a 5 sigma result by chance alone. That is why the best looking system proves nothing, and why every system we keep is checked again on prices it never saw.

The maths

For N independent tries with no real skill, the best score lands near the 1 − 1/N point of the normal curve: Φ⁻¹(1 − 1/N). One search of 1,200 tries gives about 3.1σ. 2.5 million gives about 4.9σ. The bar a real result must clear rises with every system tested.

How good the best of N random systems looks by luck alone0σ2σ4σ6σ101k100k10MBest of 1,200 random systems: about 3.1σ by luckone search: 3.1σBest of 2,500,000 random systems: about 4.9σ by luckall our searches: 4.9σ
Best score expected from luck alone, by number of systems tried (log scale).
The yardstick

What luck looks like, and why we never trust it

1,000 systems with no edge at all, trading real EURUSD prices: a coin flip for direction, a fixed stop, the real spread. The best of them look brilliant on the prices they were built on. Then they meet prices they have never seen.

  •  top 20 on the prices they were built on
  •  the same 20 on the next 200 unseen trades
  •  luck band after 200 trades

Luck does not repeat. That is why no Nebula system is judged on the prices it was built on, and why every system kept is checked again on prices it never saw.

The maths

Each trade result is a number in R (1R = the stop). With mean μ and spread σ per trade, n trades add up to about nμ, with a spread of σ√n. Here μ = -0.006R (mostly the spread, about 0.015R a trade) and σ = 1.34R, so after 200 trades the middle 95% of pure luck runs from about -38R to +36R: the dashed band. Pick the top 20 of 1,000 and you have picked the luckiest 2%, not the best. Their next 200 trades are fresh draws from the same coin, so they fall back to about nμ. A real edge is the opposite: it keeps showing up on prices it has not seen.

Built onUnseenTop 20 by luck
Simulated, for illustration only.

How Nebula tells skill from luck

  1. Search wide.2.5M+ candidate systems tried. Most are luck, and the search knows it.
  2. Judge on unseen prices.36,247 kept systems re-run on prices they never saw: 19.0M trades.
  3. Beat random, not zero.Every result is compared with random systems of the same size on the same prices, so luck has a score to beat.
  • Searched systems beat random ones on prices neither had seen.
  • On both of our big test pools, the new Lean engine did better per trade than our old default.

How every test splits time

BuildCheckUnseenHeld back
  • Build. The search only ever sees this part.
  • Check. Systems must hold up on prices they were not built on.
  • Unseen. A final look, used once, after choices are locked.
  • Held back. A sealed stretch nobody looks at until the rules are written down first.