How it works (and where it lies to you)
1. Compile. An LLM turns your sentence into a small JSON rule: entry conditions plus exits (target, stop, trailing stop, max hold). You see the compiled logic in plain words and can edit the JSON. Anything it can't test, like liquidity, holders, KOL calls or "sell half", is listed as ignored. It is never silently dropped.
2. Universe. The Solana tokens currently boosted on DexScreener (top and latest), looked up live and ranked by their real 24h volume. For each coin we use its most liquid pair.
3. Replay. We pull up to 1000 OHLCV candles per pool from GeckoTerminal (5m, 15m or 1h). The rule is checked at each candle close. Entries fill at that close. Exits are checked on later candles. Stops fill at the stop price, or at the open if price gapped through it. If a candle touched both the stop and the target, we count the stop. Fees and slippage come off every round trip. One trade per coin unless the rule says to re-enter.
Known biases. Read these.
- Survivorship: the universe is today's hot coins. Coins that died last week aren't in it. That flatters "buy the dip" rules a lot.
- Candles hide wicks inside the bar. A 15m candle can't tell you whether the stop or the target hit first. We assume the worse one.
- Market cap per candle = candle price × current supply (from DexScreener). Age counts from DexScreener's pair creation time, so a pump.fun coin that migrated may look younger than it is.
- Small sample. 10 coins isn't a backtest you should bet rent on. It's a sanity check.
Data sources: api.dexscreener.com (token-boosts, latest/dex/tokens) · api.geckoterminal.com (pools/{pool}/ohlcv). Candles are cached in your browser for 10 minutes. If GeckoTerminal rate-limits us, you'll see the retries. We don't invent numbers.