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.
| Candidate | Change | Datasets ahead | Typical difference | Chance probability | Status |
|---|
| NEKTON-002 | Candle width requirement | 25 / 72 | −0.20 pts | 7.7% | Indistinguishable from chance |
| NEKTON-003 | Trailing stop distance | 33 / 72 | −0.17 pts | 100.0% | Indistinguishable from chance |
| NEKTON-004 | Breakout lookback range | 44 / 71 | +0.26 pts | 34.1% | Indistinguishable from chance |
| BENTHOS-002 | Entry z-score threshold | 29 / 72 | −0.10 pts | 75.0% | Indistinguishable from chance |
| BENTHOS-003 | Average length | 31 / 72 | −0.16 pts | 100.0% | Indistinguishable from chance |
| PLANKTON-002 | Exit chance per candle | 51 / 72 | +0.11 pts | 0.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 chanceThe 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 chanceA 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 chanceBreaking 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 chanceA 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 promotedA 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.