Documentation Index
Fetch the complete documentation index at: https://uncoded.ch/docs/llms.txt
Use this file to discover all available pages before exploring further.
What to monitor — the priority list
1. Connection state
2. Kill switch state
3. Trade frequency vs expectation
4. Win rate trend
5. Drawdown character
6. Per-pair P&L
7. Log error rate
8. API key audit log
Where to watch — the surfaces
Dashboard — the primary surface
Dashboard — the primary surface
2–5 minutes; weekly for 30 minutes structured review.Telegram chat — the firehose
Telegram chat — the firehose
Logs panel (in Dashboard)
Logs panel (in Dashboard)
- First hour after any change (new pair, mode, key rotation).
- Investigations (why did this trade not fire?).
- Confidence checks (is the bot actually doing anything?).
Venue's API audit log
Venue's API audit log
VPS-level monitoring
VPS-level monitoring
top, df, free commands.External monitoring (optional)
External monitoring (optional)
dashboard and (if applicable) signals.yourdomain.com.What “normal” looks like — building intuition
BasicMode on BTCUSDT — typical day
BasicMode on BTCUSDT — typical day
$20,000 capital:2-6round-trips per day on average.- Per-trade P&L ranging
$5-$200(most clustered around$10-$50). - Average hold time: hours.
- Win rate:
~75-85%. - Drawdown character: small dips into
-2% to -5%, recovering within hours.
When that pattern becomes abnormal
When that pattern becomes abnormal
- Zero trades for
24+hours when typically5+per day. (Buy conditions not triggering, or kill switch on.) 50+trades in a single day when typically5. (Overtrading; check trigger configuration.)- Drawdown reaching
-15%when typical max is-5%. (Regime shift; consider kill switch.) - Sudden win-rate drop to
<50%. (Regime mismatch.)
Multi-pair operations — typical
Multi-pair operations — typical
BTCUSDT, ETHUSDT, SOLUSDT on BasicMode:5-15trades per day combined.- One pair often leads daily; rotation across the week.
- Aggregate drawdown character similar to single-pair.
Per-mode behaviors differ
Per-mode behaviors differ
- BasicMode: high-frequency, small per-trade.
- FullBullMarket: medium-frequency, medium per-trade, longer hold times.
- LongTimeLong: low-frequency, large per-trade, multi-day holds.
- Tsl2Sell: variable based on trends.
Anomaly response — the decision tree
Anomaly observed
Step 1: is it within historical range?
Step 2: is the connection healthy?
Step 3: is the configuration as expected?
Step 4: is the regime shift the cause?
Step 5: kill switch off if uncertain
Common anomalies and what they mean
Bot stopped trading suddenly
Bot stopped trading suddenly
- Kill switch ON (most common).
- Exchange-side outage.
- Rate limit being hit.
- Min-notional rejections (capital too small for splits).
- Insufficient balance.
- API key revoked at venue.
Bot trading much more than usual
Bot trading much more than usual
- SignalEditor strategy with wrong trigger mode (
once_per_minuteinstead ofonce_per_bar_close). - New volatility regime triggering more buy signals.
- Symbol added without recognizing its characteristics.
Win rate dropped substantially
Win rate dropped substantially
- Regime shift — mode is now mismatched.
- New symbol added that doesn’t fit the mode.
- Stop-loss triggering more frequently due to volatility.
Drawdown beyond historical range
Drawdown beyond historical range
- Black-swan-style market event.
- Regime mismatch with mode.
- Concentration on a struggling pair.
- Kill switch ON to halt new buying.
- Hold existing positions through (if drawdown is recovery-likely).
- Manually close (if you’ve lost confidence).
Connection state intermittent
Connection state intermittent
- VPS network issues.
- Exchange-side instability.
- DNS issues.
Telegram running total disagrees with Dashboard
Telegram running total disagrees with Dashboard
- Bot was offline during a trade (Telegram missed).
- Database restored from backup, resetting the running total.
- Manual close not reflected in one of the surfaces.
Setting up external alerting
Why external alerting
Why external alerting
- Dashboard down (TLS expired? Container crashed?).
- SignalsBot down (webhooks failing).
- VPS down (provider issue).
UptimeRobot — free tier, simple setup
UptimeRobot — free tier, simple setup
https://dashboard.yourdomain.com/api/health(or appropriate health endpoint).https://signals.yourdomain.com/health.
Better Uptime — paid, more features
Better Uptime — paid, more features
Custom Telegram alerts
Custom Telegram alerts