ChartSniper

SettingsStatustheme: terminal → vscode
track running 1mscans automaticdry run · 0 opennext scan in 20 min
last hourly scan 34m ago: 159 coins, 318s; trigger printed: SENT, GALA · BTC uptrend · breadth 34.0% up · Fear & Greed 73 Greed

Settings

Keys and Telegram first, then every tunable grouped by section, with search, a changed-only filter and three presets.

Keys and Telegram

KeyValueSource
Anthropic API keyconsole.anthropic.com. Needed for analysis; scans run dry without it. saved here
Telegram bot tokenFrom @BotFather, /newbot. saved here
Telegram chat idUse the detect button after messaging your bot. saved here
CoinGecko demo keyFree. Without it the scans wait out rate limits. saved here
Dashboard tokenIf set, the page needs ?token=... once per browser.
Kraken API keyFor execution. Permissions: Query funds, Create & modify orders, Cancel orders. Never withdrawal.
Kraken API private keyShown once by Kraken when the key is made.
GitHub token (read)Fine-grained, this repository only, with Actions: read and Contents: read. Lets the console say whether a newer build exists. The repository is private, so without it the check cannot run. GITHUB_TOKEN in the container's environment works too.

Blank fields keep their current value. Values from the environment can only be changed in .env. A new bot token needs a restart; a new chat id applies at once.

Exchange

Primary exchangeccxt id. Data source and the 'can I buy this' filter. kraken, bitrue, revolutx, coinbase, bybit... Restart after changing.default kraken
restart to apply
Also scan coins listed only onComma-separated ccxt ids, e.g. bitrue. Coins the primary does not list are scanned from these venues; the alert says where it trades.default bitrue
Also flag availability onComma-separated ccxt ids, only used to annotate alerts.default revolutx
restart to apply
Quote preference for candlesWhich market to read per coin, in order. Bitrue is mostly USDT; Kraken mostly USD.default USD, USDT, EUR, GBP

Universe

CoinGecko top NHow deep down the market-cap table to look (max 500 without a paid key).default 500
Minimum market cap (£)Below this is ignored.default 3000000.0
Minimum 24h volume (£)Below this is ignored.default 150000.0
Always includeComma-separated tickers that bypass the filters.default
Always excludeComma-separated tickers to never scan.default

Screener

Coil: max % below 20d highHow close to the level counts as coiling under it.default 6.0
learner may adjust within 3.0–10.0
Coil: bandwidth percentileBollinger bandwidth must be in the tightest N% of the lookback.default 30.0
learner may adjust within 15.0–45.0
Breakout: min volume ratioToday's (projected) volume vs the 20-day median.default 1.6
learner may adjust within 1.2–3.0
Too late: max 24h %Anything up more than this today is not chased.default 22.0
learner may adjust within 10.0–35.0
Too late: max 7d %Anything up more than this on the week is dropped.default 55.0
learner may adjust within 30.0–90.0
Max daily RSI for breakoutsdefault 78.0
learner may adjust within 65.0–85.0
Min 24h quote volume ($)Liquidity floor on the exchange itself.default 150000.0
Regular scan breadthHow many of the most active coins each regular pass refreshes, on top of the watchlist. Kraken reads about one coin a second.default 150
Trigger watch: depth through the level (%)Price has to be at least this far through a coil's level before it is sent to the analyst.default 0.2
Trigger watch: do not re-fire within (h)A coil that oscillates around its level is analysed once per window.default 6.0
Candidates sent to Claude per scanCost lever.default 6
Trigger has to hold for (min)A coil through its level is sent to the analyst only once it has held above the level this long. 0 fires at once. An hour halved the false breaks in the measurement.default 60
Watchlist sizeHow many pre-breakout setups the daily full scan arms for the trigger watch. Tickers come per venue, so a bigger list costs nothing.default 80
Breakouts board: mover threshold (%)A coin up this much in 24 hours counts as a mover on the Breakouts board, which scores how many we were in.default 20.0

Screener weights

CoilMultiplier on the setup's score.default 1.0
learner may adjust within 0.2–2.0
Fresh breakoutdefault 1.0
learner may adjust within 0.2–2.0
Retestdefault 0.9
learner may adjust within 0.2–2.0
Volume wakedefault 0.8
learner may adjust within 0.2–2.0
Low base (pre-trigger)Near the 20-day low with the 10-day high within reach; the trigger watch fires on the reclaim.default 1.0
learner may adjust within 0.2–2.0
Low reclaimClosed back above the 10-day high from near the 20-day low, on volume. The best-measured early entry.default 1.15
learner may adjust within 0.2–2.0
EMA turnFirst close back above the 20-day EMA, still well under the 20-day high.default 0.95
learner may adjust within 0.2–2.0
Volume wake near the lowA volume jump on an up day near the bottom of the range.default 1.0
learner may adjust within 0.2–2.0
Relative strength vs BTCdefault 0.5
learner may adjust within 0.2–2.0
Trend alignmentdefault 0.4
learner may adjust within 0.2–2.0
Extension penaltydefault 1.0
learner may adjust within 0.2–2.0
Overhead supply penaltydefault 0.6
learner may adjust within 0.2–2.0
Theme bonusFor a coin that has not moved yet inside a theme that is waking.default 0.8
learner may adjust within 0.2–2.0

Analyst

Claude modelclaude-opus-5-5 by default.default claude-opus-5-5
Effortlow, medium, high, xhigh or max.default high
Allow web searchLets the analyst check unlocks, listings and news.default True
Max searches per analysisdefault 3
Alert threshold (confidence)Long calls below this are logged but not sent. 0 to 1. The regime offsets below move it.default 0.55
learner may adjust within 0.45–0.8
Bar offset: BTC downtrendAdded to the threshold when BTC is in a downtrend. The learner may tune it.default 0.1
learner may adjust within 0.0–0.25
Bar offset: choppy / unknownAdded when BTC is choppy or the regime is unknown.default 0.05
learner may adjust within 0.0–0.15
Bar offset: broad uptrendAdded (usually negative) when BTC is in an uptrend and breadth is broad.default -0.05
learner may adjust within -0.15–0.0
Broad participation (% of top 200 up)Breadth at or above this counts as broad.default 60.0
Horizon the analyst is told (hours)Free text such as '2 to 12'. Short, sharp runs; the tracker clamps to the maximum under Tracking.default 12 to 48
Intraday base rates the analyst is toldMeasured numbers about how fast breakouts peak and fade. Re-measure now and then and paste the new ones here.default Measured on this universe over the last week: 15-minute breakouts through the 24-hour high on 2x volume peaked after a median 6 hours (41% within 4 hours, 65% within 12); +3% was reached 43% of the time (median 3.75 hours) and +5% 28% (median 5.75 hours); the median 24-hour return after a breakout was -1%, and breakouts that closed back under the level within two 15-minute bars (17%) went on to -1.9%. Targets must be modest and exits quick.
Runner base rates the analyst is toldMeasured numbers about the 60% runs: where they start, how long they take, what the exits captured.default Measured over four months on this universe (98 Kraken coins): 36 trough-to-peak runs of +60% or more a month across the universe, a median 20 days from trough to +60%, starting a median 22% under the 20-day high, not from coils. Entries off the lows (a reclaim of the 10-day high from near the 20-day low, a first close back above the 20-day EMA, a volume jump near the low) held with a 10% stop and a 30% trailing stop averaged +19% net per entry over 45 days with 54% winners and one in ten reaching +60%; the 20-day-high breakout entry averaged +10%. Losers were stopped in a median 6 days; the 30%+ winners took a median 36 days.
Spike base rates the analyst is toldMeasured numbers about quick breakouts: how often they run, what the early signs were, how fast the peak came.default Measured on this universe over 20 days of 4-hour bars (98 Kraken coins): a close through the prior 24-hour high on 2x volume reached +15% within 48 hours 22% of the time and +30% 5% of the time, and the peak came a median 16 hours after the trigger. When the week was already up 10% or more and volume was building the day before, 29 to 34% reached +15% and 6 to 7% reached +30%; a break out of a flat week reached +15% only 8% of the time; a trigger bar already up 8% or more lost money on every exit tried. Quick +60% days happen about three times a month across the whole universe; +30% inside two days about 37 times.
Re-analyse same setup after (h)A coil that turns into a breakout is always re-analysed.default 18.0
Max Claude calls per dayHard cost cap.default 40
Keep back for triggersScheduled scans stop this many short of the cap so a trigger that prints late in the day can still be analysed.default 8
Monthly spend ceiling (USD)Estimated Claude spend per calendar month. A Telegram warning at 80%; at 100% no analysis runs until the 1st. 0 means no ceiling.default 60.0
Also send 'watch' callsNoisier.default False

Tracking

Check open calls every (min)Restart after changing.default 5
restart to apply
Exit stylespike: in on the break, half off at the take level, the rest trails, out within 48h (the Spike section); runner: weeks-long trail (Runner); fixed: the analyst's stop and target 1.default spike
Default horizon (h)Used only if the analyst leaves it blank.default 48
Maximum horizon (h)A call is never given longer than this to work.default 1440
Confirmation bars5m or 15m: the candles that judge the first hour after a fill. Restart after changing.default 5m
restart to apply
Failed breakout: closes back belowAfter a trigger fills, this many consecutive confirmation closes back under the level end the trade early. 0 turns it off.default 3
Failed breakout: window after fill (h)The 15-minute check only runs this long after the fill; after that the analyst's own exit rules take over.default 1.0
Failed breakout: depth under the level (%)A close has to be at least this far under the trigger to count.default 0.3

Spike

Stop under entry (%)The analyst's structural stop is used when it sits between the minimum and the maximum.default 7.0
Minimum stop (%)default 4.0
Maximum stop (%)default 8.0
Take profit at (%)Bank the take fraction here and move the stop to break-even. +20% measured best; +15% banks more often.default 20.0
Take fractionShare banked at the take level. 0.25 measured best for the big days (SAND +56% against +27% for 0.5); 1.0 is all out.default 0.25
Trail after the take (%)What is left trails this far under the high. 25% kept most of the big spikes without hurting the average.default 25.0
Out by (hours)Still open then: sold at market. Peaks came a median 16h after the trigger; 24h cut too many winners.default 48
Entry gate: week already up (%)A break out of a flat week reached +15% 8% of the time against 29 to 34% when the week was up. 0 turns the gate off.default 10.0
Entry gate: previous day's volume (x median)Volume building the day before was the other early sign. 0 turns the gate off.default 1.0
Entry gate: volume on the breakout bar (x usual)A break on three times volume ran more often than one on two. 0 turns the gate off.default 3.0
Analyst exit rulesnone: the plan alone plus the first-hour fast fail. analyst: also the analyst's exit rules.default none

Runner

Stop under entry (%)The analyst's structural stop is used when it sits between this and the maximum; tighter stops were measured to lose.default 10.0
Maximum stop (%)default 15.0
Trail under the high (%)The stop follows this far under the highest price since the fill. Wider kept more of the 60% runs; 30% is the measured balance.default 30.0
Hold for up to (days)Still open then: sold at market. The 30%+ winners took a median 36 days.default 45
Partial at (%)0 for none. Taking a third off at +30% raised the median and lowered the mean in the measurement.default 0.0
Partial fractionShare sold at the partial, 0 to 0.9.default 0.0
Break-even once up (%)0 for never. Moving to break-even at +15% cost expectancy in the measurement.default 0.0
Analyst exit rulesnone: stop, trail, time stop and the first-hour fast fail only (what was measured). daily: also the analyst's close-below rules on daily closes.default none

Learning

Let the learner change parametersOff = reviews still run, nothing is changed automatically.default True
Resolved calls before any changedefault 15
Max change per review (%)A single review moves a parameter by at most this much.default 15.0
Review daymon..sun. Restart after changing.default sun
restart to apply
Review timeHH:MM local. Restart after changing.default 18:00
restart to apply

Schedule

TimezoneIANA name, e.g. Europe/London. Restart after changing.default Europe/London
restart to apply
Full scan atHH:MM. Restart after changing.default 07:20
restart to apply
Regular scan every (min)15 to 180. The watchlist and the most active coins. Restart after changing.default 30
restart to apply
Regular scan offset (minute)0-59: the first pass each hour starts at this minute. Restart after changing.default 7
restart to apply
Trigger watch every (min)A tickers-only check of each watchlist coil against its level; the moment one trades through it goes to the analyst. 0 turns it off. Restart after changing.default 2
restart to apply
Morning brief atHH:MM. Restart after changing.default 08:00
restart to apply

Telegram

Currency symboldefault £
Send a chart image with each alert4-hour candles with entry, targets and stop drawn on.default True
Taken / Skipped / Mute buttons on alertsRecords what you did so the book can score the calls you took.default True
Hourly digest instead of a message per callOn: alerts and outcomes are collected and sent as one summary each interval, with Taken / Skipped buttons per call and no chart images. Off: each call arrives as it happens. Health errors always come straight through; quiet hours still apply. /digest on|off does the same from the phone.default False
Digest every (min)15 to 240. The tracker's 15-minute pass is what sends it, so the timing is to the nearest quarter hour.default 60
Quiet hoursHH:MM-HH:MM in the schedule's timezone. Alerts and outcomes wait and arrive together when it ends; health errors still come through. Empty = off.default
Console address for linkse.g. http://192.168.1.50:8080. Adds an 'open in console' link to each alert and outcome; it has to be reachable from your phone (LAN or VPN).default

Paper book

Starting balance (£)Notional. The equity curve starts here.default 5000.0
Risk per trade (% of equity)A stop-out loses this much. 0.5 to 2 is normal.default 1.0
Max position (% of equity)Caps the size when the stop is very tight.default 25.0
Max open positionsFurther calls are logged but not sized until one closes.default 5
Fee per side (%)Kraken Pro base tier taker is around 0.4; check your tier.default 0.4
Slippage per side (%)Assumed cost of getting filled. The measured order-book cost is used when it is worse.default 0.1

Liquidity

Check the order book before alertingPulls the live book for each candidate and prices market orders of the sizes below.default True
Probe sizes (£)Comma-separated. Shown on every alert as the cost of getting in and out.default 500, 2000
Thin book: max in+out cost (%)A long whose largest probe costs more than this round trip is logged, not alerted.default 1.5

Execution

Execution modeoff, dry_run (orders built and simulated, nothing sent) or live (real orders; also needs the API key and Arm).default off
you changed this
Execution venueccxt id with an API key saved under Keys. Only coins listed there are traded.default kraken
Risk per trade (£)A stop-out loses about this much. Size follows from the stop distance.default 10.0
Max per position (£)Hard cap on one position's size.default 50.0
you changed this
Max open tradesdefault 2
you changed this
Daily loss limit (£)Realised losses today beyond this stop new entries until tomorrow. Open trades keep their stops.default 30.0
Entry good for (min)A market or trigger entry not filled by then is cancelled. Pullback bids last the call's horizon.default 30
Entry buffer (%)Limit buys sit this far through the current price so they fill at once.default 0.3
Max chase above entry (%)If price has already run further than this above the planned entry, the trade is skipped.default 2.0
Manage positionsOn: part off at the R below, stop to break-even, the rest trails under the high and comes off at target 2. Off: all out at target 1, stop fixed.default True
Scale out at (R)Profit in R at which part of the position is sold and the stop moves to break-even.default 1.0
Scale out fractionShare of the position sold then, 0 to 0.9. 0 keeps the whole position and only moves the stop. Positions too small to split just move the stop.default 0.5
Trail (R)After scaling out, the stop follows this many R under the highest price seen. It is replaced on the exchange each time it moves.default 1.0
Time stopSell what is left at market when the call's horizon runs out.default True
Venue check every (min)Compare open trades with the venue's balances and open orders this often. A position gone from the venue is booked closed; one smaller than recorded is resized.default 15
Re-place a missing stopA position found without a resting stop order gets one placed again at the recorded stop. Off: only reported.default True

Themes

Track theme rotationPulls CoinGecko category membership daily and scores each theme from the scan.default True
CoinGecko categoriesComma-separated category ids (as in coingecko.com/en/categories/<id>). Unknown ids are skipped.default artificial-intelligence, ai-agents, meme-token, dog-themed-coins, cat-themed-coins, politifi, layer-1, layer-2, decentralized-finance-defi, decentralized-exchange, decentralized-perpetuals, lending-borrowing, liquid-staking-governance-tokens, restaking, real-world-assets-rwa, depin, oracle, privacy-coins, zero-knowledge-zk, modular-blockchain, data-availability, interoperability, storage, payment-solutions, exchange-based-tokens, gaming, metaverse, non-fungible-tokens-nft, socialfi, prediction-markets, launchpad, bitcoin-ecosystem, solana-ecosystem, base-ecosystem, sui-ecosystem, ton-ecosystem, hyperliquid-ecosystem, cosmos-ecosystem, bittensor-subnets, infrastructure
Awake: min volume ratioA member counts as awake at or above this effective volume ratio, if it is also up on the day.default 1.5
Waking: members awakeHow many members must be awake before a theme is flagged.default 3
Min tradeable membersSmaller themes are listed but never flagged.default 4
Changes apply to the next scan. Items marked 'restart to apply' need the restart button.