LUMA

Lineage

Each bot runs a numbered strategy version with written parameters. A new generation is one change with a written reason, tested on data never used to design it. Nothing comes from an optimizer, and failed candidates stay on record.

6 candidates recordedNone promoted yet

Candidates

Tested on 72 datasets (3 windows each), from Kraken public OHLC (REST, no API key). Chance is corrected for the 6 candidates tested together.

CandidateChangeDatasets aheadTypical differenceChance probabilityStatus
NEKTON-002Candle width requirement25 / 72−0.20 pts7.7%Indistinguishable from chance
NEKTON-003Trailing stop distance33 / 72−0.17 pts100.0%Indistinguishable from chance
NEKTON-004Breakout lookback range44 / 71+0.26 pts34.1%Indistinguishable from chance
BENTHOS-002Entry z-score threshold29 / 72−0.10 pts75.0%Indistinguishable from chance
BENTHOS-003Average length31 / 72−0.16 pts100.0%Indistinguishable from chance
PLANKTON-002Exit chance per candle51 / 72+0.11 pts0.3%Supported, not promoted

Running versions

No parent · Nekton

NEKTON-001

Confirmed breakout

First generation. Enters when the close breaks the 20-candle range on a wide candle (more than 1.5 × ATR) pointing in the breakout direction. Exits via a 2 × ATR trailing stop from the best close.

Lookback range
20 closed candles
Entry rule
candle range > 1.5 × ATR(14), in breakout direction
Exit
trailing stop 2 × ATR from best close
Max exposure
50%
Costs
0.10% fee + 0.05% slippage per side
Return
+0.48%
Drawdown
−3.38%
Fills
37

Simulated figures on the live 60-minute BTC/USD run. Recorded candidates: NEKTON-002, NEKTON-003, NEKTON-004.

No parent · Benthos

BENTHOS-001

Return to the mean

First generation. Enters when the price z-score against the 50-candle average leaves ±2, exits when the z-score returns to 0. No trend guard: it will fade any move.

Moving average
50 candles
Entry rule
z-score outside ±2
Exit
z-score back to 0
Max exposure
30%
Costs
0.10% fee + 0.05% slippage per side
Return
−1.15%
Drawdown
−2.91%
Fills
29

Simulated figures on the live 60-minute BTC/USD run. Recorded candidates: BENTHOS-002, BENTHOS-003.

No parent · Plankton

PLANKTON-001

Seeded random

First generation. The control: enters with a 5% chance per candle in a random direction, exits with a 10% chance per candle. Its random sequence is fixed by the seed, not by results.

Seed
20261004
Entry chance per candle
5%
Exit chance per candle
10%
Position size
2% to 10% of equity
Costs
0.10% fee + 0.05% slippage per side
Return
−0.73%
Drawdown
−0.73%
Fills
54

Simulated figures on the live 60-minute BTC/USD run. Recorded candidates: PLANKTON-002.

Candidate · parent NEKTON-001

NEKTON-002

Breakouts on less extreme candles

Indistinguishable from chance

The 1.5 × ATR requirement is rarely met, so many breakouts are skipped. This candidate tests whether breakouts on slightly narrower candles still mean something, without changing the exit rule.

What changed · 1 parameterCandle width requirement1.5 × ATR to 1.2 × ATR
Windows ahead
83 / 183
Datasets ahead
25 / 72
Untouched
33 / 216
Difference per dataset (95%)
−0.74 … +0.11
Chance probability
1.3%
After correction
7.7%
Typical difference
−0.20 pts
Trades compared
2,392 / 2,761

By market family

Holding up across several families means more than in just one.

  • crypto/USDahead 11 of 36
  • crypto/EURahead 8 of 16
  • crypto/cryptoahead 6 of 16
  • non-cryptoahead 0 of 4

Per timeframe

A change that only works on one timeframe may not really work.

  • 15 min · active in 96%ahead 5 of 18
  • 1 hour · active in 87%ahead 5 of 18
  • 4 hours · active in 76%ahead 7 of 18
  • 1 day · active in 80%ahead 8 of 18

NEKTON-002 was tested against NEKTON-001 on 216 windows from 72 datasets (2,392 parent trades versus 2,761). 33 windows were untouched by this change and were excluded. Windows within a dataset share an instrument and indicator history, so the test runs per dataset: 25 of 72 favour the candidate. A split that lopsided happens by chance 1.3% of the time; after correcting for 6 candidates tested, 7.7%. This result cannot be told apart from chance. The candidate stays on record and is not promoted. The candidate made 15% more trades, so part of the difference may come from trading costs rather than the rule itself.

Candidate · parent NEKTON-001

NEKTON-003

Giving trends more room

Indistinguishable from chance

A 2 × ATR trailing stop is often hit by ordinary noise before a trend develops. This candidate loosens it to 3 × ATR; the risk is giving back more open profit when the trend turns.

What changed · 1 parameterTrailing stop distance2 × ATR to 3 × ATR
Windows ahead
98 / 216
Datasets ahead
33 / 72
Untouched
0 / 216
Difference per dataset (95%)
−0.43 … +1.01
Chance probability
55.6%
After correction
100.0%
Typical difference
−0.17 pts
Trades compared
2,392 / 1,895

By market family

Holding up across several families means more than in just one.

  • crypto/USDahead 15 of 36
  • crypto/EURahead 4 of 16
  • crypto/cryptoahead 11 of 16
  • non-cryptoahead 3 of 4

Per timeframe

A change that only works on one timeframe may not really work.

  • 15 min · active in 100%ahead 11 of 18
  • 1 hour · active in 100%ahead 5 of 18
  • 4 hours · active in 100%ahead 6 of 18
  • 1 day · active in 100%ahead 11 of 18

NEKTON-003 was tested against NEKTON-001 on 216 windows from 72 datasets (2,392 parent trades versus 1,895). 0 windows were untouched by this change and were excluded. Windows within a dataset share an instrument and indicator history, so the test runs per dataset: 33 of 72 favour the candidate. A split that lopsided happens by chance 55.6% of the time; after correcting for 6 candidates tested, 100.0%. This result cannot be told apart from chance. The candidate stays on record and is not promoted. The candidate made 21% fewer trades, so part of the difference may come from trading costs rather than the rule itself.

Candidate · parent NEKTON-001

NEKTON-004

Breakouts from a longer range

Indistinguishable from chance

Breaking a 20-candle high or low happens fairly often. A 30-candle range makes breakouts rarer, in the hope that the ones left mean more.

What changed · 1 parameterBreakout lookback range20 candles to 30 candles
Windows ahead
109 / 184
Datasets ahead
44 / 71
Untouched
32 / 216
Difference per dataset (95%)
+0.15 … +1.06
Chance probability
5.7%
After correction
34.1%
Typical difference
+0.26 pts
Trades compared
2,392 / 1,966

By market family

Holding up across several families means more than in just one.

  • crypto/USDahead 19 of 36
  • crypto/EURahead 8 of 15
  • crypto/cryptoahead 14 of 16
  • non-cryptoahead 3 of 4

Per timeframe

A change that only works on one timeframe may not really work.

  • 15 min · active in 76%ahead 7 of 17
  • 1 hour · active in 83%ahead 8 of 18
  • 4 hours · active in 87%ahead 14 of 18
  • 1 day · active in 94%ahead 15 of 18

NEKTON-004 was tested against NEKTON-001 on 216 windows from 72 datasets (2,392 parent trades versus 1,966). 32 windows were untouched by this change and were excluded. Windows within a dataset share an instrument and indicator history, so the test runs per dataset: 44 of 71 favour the candidate. A split that lopsided happens by chance 5.7% of the time; after correcting for 6 candidates tested, 34.1%. This result cannot be told apart from chance. The candidate stays on record and is not promoted. The candidate made 18% fewer trades, so part of the difference may come from trading costs rather than the rule itself.

Candidate · parent BENTHOS-001

BENTHOS-002

Entering on smaller deviations

Indistinguishable from chance

±2σ deviations are rare. This candidate enters earlier at ±1.5σ to see whether more small trades beat a few extreme ones.

What changed · 1 parameterEntry z-score threshold2 σ to 1.5 σ
Windows ahead
83 / 214
Datasets ahead
29 / 72
Untouched
2 / 216
Difference per dataset (95%)
−0.38 … +0.28
Chance probability
12.5%
After correction
75.0%
Typical difference
−0.10 pts
Trades compared
1,742 / 2,312

By market family

Holding up across several families means more than in just one.

  • crypto/USDahead 16 of 36
  • crypto/EURahead 6 of 16
  • crypto/cryptoahead 7 of 16
  • non-cryptoahead 0 of 4

Per timeframe

A change that only works on one timeframe may not really work.

  • 15 min · active in 100%ahead 6 of 18
  • 1 hour · active in 100%ahead 7 of 18
  • 4 hours · active in 98%ahead 8 of 18
  • 1 day · active in 98%ahead 8 of 18

BENTHOS-002 was tested against BENTHOS-001 on 216 windows from 72 datasets (1,742 parent trades versus 2,312). 2 windows were untouched by this change and were excluded. Windows within a dataset share an instrument and indicator history, so the test runs per dataset: 29 of 72 favour the candidate. A split that lopsided happens by chance 12.5% of the time; after correcting for 6 candidates tested, 75.0%. This result cannot be told apart from chance. The candidate stays on record and is not promoted. The candidate made 33% more trades, so part of the difference may come from trading costs rather than the rule itself.

Candidate · parent BENTHOS-001

BENTHOS-003

A faster average

Indistinguishable from chance

A 50-candle average lags price, so 'returning to the mean' can take a long time. A 30-candle average stays closer to the current price.

What changed · 1 parameterAverage length50 candles to 30 candles
Windows ahead
97 / 216
Datasets ahead
31 / 72
Untouched
0 / 216
Difference per dataset (95%)
−0.18 … +1.31
Chance probability
28.9%
After correction
100.0%
Typical difference
−0.16 pts
Trades compared
1,742 / 2,626

By market family

Holding up across several families means more than in just one.

  • crypto/USDahead 15 of 36
  • crypto/EURahead 6 of 16
  • crypto/cryptoahead 8 of 16
  • non-cryptoahead 2 of 4

Per timeframe

A change that only works on one timeframe may not really work.

  • 15 min · active in 100%ahead 5 of 18
  • 1 hour · active in 100%ahead 3 of 18
  • 4 hours · active in 100%ahead 8 of 18
  • 1 day · active in 100%ahead 15 of 18

BENTHOS-003 was tested against BENTHOS-001 on 216 windows from 72 datasets (1,742 parent trades versus 2,626). 0 windows were untouched by this change and were excluded. Windows within a dataset share an instrument and indicator history, so the test runs per dataset: 31 of 72 favour the candidate. A split that lopsided happens by chance 28.9% of the time; after correcting for 6 candidates tested, 100.0%. This result cannot be told apart from chance. The candidate stays on record and is not promoted. The candidate made 51% more trades, so part of the difference may come from trading costs rather than the rule itself.

Candidate · parent PLANKTON-001

PLANKTON-002

Holding random positions longer

Supported, not promoted

A control for the control: does holding time alone, with no rule at all, change the results? If so, differences in the other bots should be read more carefully.

What changed · 1 parameterExit chance per candle0.10 to 0.05
Windows ahead
147 / 216
Datasets ahead
51 / 72
Untouched
0 / 216
Difference per dataset (95%)
−0.44 … +0.08
Chance probability
0.1%
After correction
0.3%
Typical difference
+0.11 pts
Trades compared
3,888 / 2,808

By market family

Holding up across several families means more than in just one.

  • crypto/USDahead 25 of 36
  • crypto/EURahead 12 of 16
  • crypto/cryptoahead 11 of 16
  • non-cryptoahead 3 of 4

Per timeframe

A change that only works on one timeframe may not really work.

  • 15 min · active in 100%ahead 17 of 18
  • 1 hour · active in 100%ahead 16 of 18
  • 4 hours · active in 100%ahead 16 of 18
  • 1 day · active in 100%ahead 2 of 18

PLANKTON-002 was tested against PLANKTON-001 on 216 windows from 72 datasets (3,888 parent trades versus 2,808). 0 windows were untouched by this change and were excluded. Windows within a dataset share an instrument and indicator history, so the test runs per dataset: 51 of 72 favour the candidate. A split that lopsided happens by chance 0.1% of the time; after correcting for 6 candidates tested, 0.3%. That is evidence worth recording, but not a verdict: this corpus is one period of history and mostly crypto. Nothing is promoted automatically. The candidate made 28% fewer trades, so part of the difference may come from trading costs rather than the rule itself.