Skip to content

Blog · Feature · updated 2026-09-25

How TT-Autotune works: one alert, six regime champions

TT-Autotune tunes the Lorentzian Classification strategy per token, per timeframe and per market regime, then syncs the winning settings into a single TradingView alert. Here is how the optimizer, the regime switch and the extension fit together, plus a live testnet ROI chart.

The idea

TT-Autotune is a TradingView strategy built on jdehorty's Lorentzian Classification: a nearest-neighbour model that votes long or short from a handful of oscillator features. The stock settings are one-size-fits-all. TT-Autotune tunes them separately for every token and timeframe, and within each of those, separately for each of six market regimes. The result is a "cell" (one token on one timeframe) with up to six sets of champion settings, packed into Regime Sync Codes.

The Pine script classifies the market on every bar and switches to that regime's champion code on its own. You run one TradingView strategy alert per cell, and it covers every entry and exit in every regime.

The six regimes

A new regime only takes over after it has been seen for several bars in a row and the current one has been held for a minimum time. On 1h that is 4 bars to confirm and 8 to hold; intraday timeframes use 5 and 10. This hysteresis stops the strategy flipping settings on every wiggle. The Pine script mirrors the Python classifier exactly, and every alert reports its regime code (rg) to TensorTrader with the signal.

TensorTrader also classifies each cell's market itself about every five minutes. If that label is unknown or older than 30 minutes, the webhook is refused (autotune_regime_unknown) instead of trading on a guess.

Bull+ (rg 1)
Strong uptrend: ADX of 25 or more and a strong positive 20-bar regression slope
Bull- (rg 2)
Weak uptrend: ADX of 18 or more and a weaker positive slope
Bear+ (rg 3)
Strong downtrend, the mirror of Bull+
Bear- (rg 4)
Weak downtrend, the mirror of Bull-
Quiet (rg 5)
No trend and low volatility: ATR% below the chop threshold
Chop (rg 6)
No trend but high volatility: ATR% at or above the chop threshold

How champions are found

Tuning runs on a dedicated Threadripper worker as a MAP-Elites genetic search. Each run pins one symbol, one timeframe and one data snapshot, so results can be reproduced and resumed. A population of 32 evolves for up to 128 generations and never stops early: the full budget is always spent, because runs were still improving late. Every generation keeps elites and immigrants, and the archive keeps one elite per regime and kernel setting, so a champion for Chop never crowds out one for Bull+.

Every candidate is scored on an anchored walk-forward. The history is split into four consecutive test windows, and each window only sees bars up to its own end. The score is the average Sortino across windows minus half their spread, which rewards settings that work in every window, not just one. Costs are included: 5 bps fees and 2 bps slippage, with ATR-based stop-loss and take-profit. The stock default settings are always scored alongside, so every run answers one question: did tuning beat the default?

The gates a champion must pass

What you see on the topology page is the result of this search: a Gaussian-kernel surface of cumulative ROI across thousands of walk-forward trials, one surface per regime, with the champions marked in green.

To be precise about what is not in the publish path yet: our research bench also runs combinatorial purged cross-validation and block-permutation tests, but those checks are not gates for publishing champions today. An experimental V2 was not promoted because it failed them.

  1. 1Positive Sortino and positive cumulative ROI inside its regime. A regime with no positive candidate gets no champion.
  2. 2Beat the default settings on both Sortino and ROI in the same regime.
  3. 3Enough trades: a minimum scaled by the regime's share of bars, with trades spread across at least two walk-forward windows.
  4. 4A plateau, not a spike: the spread of fold scores has to stay under a set limit, so lucky one-off settings are rejected.
  5. 5The six-regime pack is replayed the way Pine actually runs it, with one shared nearest-neighbour history across regime switches. If the pack loses to the single best champion, that champion fills all six slots. If the replay cannot run, the single champion is published.
  6. 6Publishing is refused when the response surface is degraded or the trial count falls short.

Using it from the extension

After that, the extension ticks every five minutes. It sends a heartbeat, fetches your assignments, cleans up stale alerts and creates one strategy alert per enrolled cell with the latest Regime Sync Codes injected.

  1. 1Open the TT-Autotune tab in the extension side panel and pick an exchange key.
  2. 2Browse the trained cells. Click a cube to see its 3D terrain, and Ctrl, Cmd or Shift-click to add tokens. The ★ cube is the best cell on that timeframe.
  3. 3Choose leverage: a static cap, or scaling with live market breadth up to the TensorTrader cap or the exchange maximum.
  4. 4Set DCA across timeframes. Batch enrollment walks every trained timeframe of the selected tokens and splits your margin across the legs.
  5. 5Press Enroll & create alerts. Nothing is written to TradingView until you click.

Free sync vs paid sync

free
One instance (1 token × 1 timeframe), every regime, pinned to one exchange, no DCA or pyramid adds, heartbeat within 24 h
free codes
Frozen at enroll. They age as new optimizer generations land; recreate the alert to re-snapshot
paid
Capacity up to your TradingView alert quota (within your billed plan), with continuous top-ups as generations improve

Live testnet results

Backtests are only half the story, so here is the forward record. The chart below is drawn with the GoCharting SDK from a paper-only demo account's closed TT-Autotune trades on testnet keys; nothing is simulated. Candles are net ROI % after fees. The blue line is gross ROI, the amber line is cumulative fees and the red line is drawdown from peak, all as a percentage of starting testnet equity. W and L markers are individual closes, and the strip underneath shows the arithmetic.

We publish the result whatever it is. Our own forward book since 2026-09-03 showed no edge after fees, with TT-Autotune slightly negative. That is exactly why every venue starts on paper and live trading is a separate opt-in.

TT-Autotune · testnet ROI · demo accounttestnet keys only · refresh 60s
Loading testnet ROI…

Net ROI % = (gross PnL − fees) / starting testnet equity = — − — / — = —

trades
—
win_rate
—
profit_factor
—
max_drawdown
—
venue_verified
—
legend
gross · fees · drawdown · SMA24 · W/L marks

Where to go next

If you trade from GoCharting, TT-Autotune Lite is a native Lipi port with stock defaults. Entitled users get a private copy with their champion numbers. It stays in shadow mode until the Hyperliquid testnet canaries pass.

All guides · Start on paper · Pricing