ST Sleuth

The world is entering a new era.
So is the way you trade.

Free during Pre-Alpha · No card required

Backtest your idea,
not your gut.

Describe a trading strategy in plain English. We turn it into Python, run a real vectorbt backtest with Monte Carlo, stress-test it for robustness, and export to TradingView Pine Script. Try it now, free, no card.

5 years
of real market
25
neighboring settings tested
1,000
simulated trajectories
AAPL · RSI(14) oversold · 1Y
+47.3%
Entry at RSI < 30, size scaled by vol →
↗ Top 12% Sharpe percentile
Robustness: 21/25 sweeps passed
Sharpe
1.82
Max DD
-12.4%
Trades
24
P(profit)
94.2%
✓ Robust · Pine ready
Hover to pause
·Backtest·Monte Carlo·Robustness·Pine Script·vectorbt·Alpha signals·Copilot·DCA·Pyramiding·Backtest·Monte Carlo·Robustness·Pine Script·vectorbt·Alpha signals·Copilot·DCA·Pyramiding
02The method

Your idea, put to the market's test.

01DescribeOne sentence. In English or French.
02BacktestFive years of real market, costs included.
03Refine"Less aggressive" — and it re-runs.
04ExportPine Script. Yours, for good.
History 5 yearsSimulations 1,000Fees & slippage modeledOutput Pine v5
03Robustness

We looked for the setting that ruins you.
We found it.

Your setting · RSI 14
One step over · RSI 13
← this is where they part
The changeRSI 14→13
Sharpe1,24→0,08
Max drawdown−18 %→−44 %
VerdictOverfit

Example

A product that sells you a curve will never show you that one.

04The copilot

You are not alone facing this.

Copilot

Your idea is not the problem — your 3 % stop is. It takes you out on noise: of the 25 variants, every one that dies runs a tight stop. Worst case goes down to −44 %.

You

“Widen it then, and size down.”

Copilot

Done. Stop at 5 %, position size at 50 %. I am re-running the sweep over the same 25 combinations — same protocol, otherwise the comparison is worthless.

Copilot

Fair warning: you will make less. That is what robustness costs, and I would rather tell you now than let you find out.

The strategy · live

stop_loss3 %3 %
position_size100 %100 %
rsi_period14
take_profit—
Sweepidle
05The verdict

Built to last,
not to impress.

Fragile.
Example
Variants that survive · 19 / 25 → 24 / 25
Max drawdown · −44 % → −18 %
Std dev ÷ mean · 0,52 → 0,21
Return · +41,8 % → +33,1 %
What it costs you

−8.7 points of return. A strategy that holds up has a price. We would rather show you the bill than sell you the opposite.

RSI 10ATR 1.5
RSI 12ATR 1.5
RSI 14ATR 1.5
RSI 16ATR 1.5
RSI 18ATR 1.5
RSI 10ATR 2
RSI 12ATR 2
RSI 14ATR 2
RSI 16ATR 2
RSI 18ATR 2
RSI 10ATR 2.5
RSI 12ATR 2.5
RSI 14ATR 2.5
RSI 16ATR 2.5
RSI 18ATR 2.5
RSI 10ATR 3
RSI 12ATR 3
RSI 14ATR 3
RSI 16ATR 3
RSI 18ATR 3
RSI 10ATR 3.5
RSI 12ATR 3.5
RSI 14ATR 3.5
RSI 16ATR 3.5
RSI 18ATR 3.5
06The watch

When we don't know,
we say nothing.

Return
+6,2 %
return over 41d
▲ 1,8
points
+4,4 %
average pace
Activity
7
closed trades + 1 open
≈
on expected pace
6,4
expected over 41d
Risk
—
no exposure to the market
—
not comparable
−18,0 %
backtest drawdown

A dash, where others would have written 0% in green.

The strategy has not taken a single position yet. So there is no real drawdown to compare against the backtest's. Showing “18 points of margin” would be arithmetically exact, and factually false.

This is a bug we had, that we found, and that we fixed.

Example
07Both ends

You write a sentence.
You walk away with code.

What you write

« RSI oversold sur AAPL avec 3 % stop loss »

typed in
What it makes of it
decompose
RSIoversoldAAPL3 % stopavec
map
rsi(14)< 30tickerstop_loss—
judge
✓ 4 keptavec
compile
« compiled »
executable
What you export
def calculate_signals(df):    rsi_14 = ta.momentum.RSIIndicator(        df['Close'], window=14).rsi()    entries = (rsi_14 < 30)    exits   = (rsi_14 > 70)    return {'entries': entries, 'exits': exits}
· executed and backtested on our side
08Pricing and honest answers

Ask the question that stings.

€0
right now · 10 days, everything unlimited
€0
then 3 strategies / month
Pro · Max · Elite
later · see the plans

Is this another AI hype tool that gives me a fake equity curve?

No. We use vectorbt to run real backtests on real 5-year OHLCV data (yfinance), with slippage and commission modeled. Monte Carlo bootstrap gives you a P(profit) confidence band so you can see if the win was luck or structure. Every strategy gets a ROBUST or FRAGILE verdict via parameter sweeps to flag overfitting.

Do I need to know Python to use it?

Not at all. You describe your idea in plain language (EN or FR) and we generate the Python for you. If you want to read or edit the code, it's downloadable. If you just want to trade, we export to TradingView Pine Script in one click.

What about my data and my strategies, are they private?

Your saved strategies, chat history, watchlist, and personal documents are all isolated per account, another user cannot see them. Public reference data (SEC filings, market prices) is shared across all users for cost reasons. We're in Pre-Alpha, we're not selling your data.

When will paid tiers launch?

When we have ~20+ active users on the free tier and demand for Pro features (unlimited strategies, Copilot, Robustness Test). Join the waitlist on the pricing page, with no commitment.

Can I cancel? Will I get charged?

Nothing to cancel · Pre-Alpha is fully free, no card required. When paid tiers launch, you automatically keep the free plan (3 strategies/month). You only move to Pro, the first paid tier, if you want more.

Will my strategies work in live trading?

Exported Pine Script runs identically on TradingView. That said, no backtest is a perfect predictor of live results, slippage in live markets is harder to model, and past data doesn't guarantee the future. Always paper-trade a new strategy before risking capital.

Bringyours.

10 days unlimited, no card · one minute to sign up