Telegram bot
The PIN-gated cockpit. Same engine as the dashboard, served via @-mentions.
Link your Telegram account from the dashboard profile page; the bot does a one-time handshake to bind your chat ID. After that, every command runs scoped to your account.
Read-only
| Command | Usage | Description |
|---|---|---|
| /strategies | /strategies | List your saved rule sets. |
| /templates | /templates | List bundled rule-set templates. |
| /show | /show <strategy> [--raw] | Pretty-print or raw-YAML dump a strategy. |
| /backtest | /backtest <strategy> [symbol] [tf] [days] | Run a backtest and reply with the PDF report. |
| /tradechart | /tradechart <strategy> [symbol] [tf] [days] [padding] | One chart per trade with TP/SL boxes overlaid. |
| /swings | /swings [symbol] [tf] [bars] [lookback] | List confirmed swing pivots over a window. |
| /breaks | /breaks [symbol] [tf] [bars] [lookback] | First close that breaks each swing. |
| /validbreaks | /validbreaks [symbol] [tf] [bars] [lookback] | Breakouts confirmed by the next close. |
| /trends | /trends [symbol] [tf] [bars] [lookback] [padding] | SMC BOS / CHoCH trend regions on a chart. |
| /validtrends | /validtrends [symbol] [tf] [bars] [lookback] [padding] | Same as /trends but two-close confirmed. |
| /runs | /runs | List recent backtest / paper / live runs. |
| /run | /run <id> | Full details for one run. |
| /equity | /equity | Current live or paper equity. |
| /positions | /positions | Open positions across active runs. |
| /pulse | /pulse | BTC ticker + funding. Sanity check. |
| /status | /status | Engine health, uptime, last error. |
Compute (no PIN)
| Command | Usage | Description |
|---|---|---|
| /optimize | /optimize <strategy> [sym] [tf] [days] [trials] | Re-optimize parameters on a window. |
| /montecarlo | /montecarlo <strategy> [sym] [tf] [days] [reps] | Monte-Carlo stress test on the trade ledger. |
Control (PIN-gated)
| Command | Usage | Description |
|---|---|---|
| /start_paper | /start_paper <strategy> [sym] [tf] [cash] <pin> | Start a paper-trading run. |
| /stop | /stop <run_id> <pin> | Stop a running paper / live run. |
| /kill | /kill <pin> | Hard-kill the engine. Use as last resort. |
| /flatten | /flatten <pin> | Flatten all open positions immediately. |
About the PIN
Control commands take an extra last argument — a 4-to-8 digit PIN you set from the dashboard profile page. The PIN is never logged; it's the bot's only authorisation step for actions that move money.
Backtest-complete notifications
When a backtest finishes, the bot sends you a summary with the headline metrics (PnL, Sharpe, Sortino, drawdown, win rate, profit factor) and the strategy's own conditions written out in English — for example, `(Long - EMA20 greater than 30) AND (Long - rsi14 greater than 15)`. Tap the Trade-Chart PDF button on the message to receive the per-trade chart report as a Telegram document.
Sample message
📊 Backtest complete
Strategy: custom:ema_breakout
Market: BTC/USDT · 1h · 60 days
— Performance —
PnL %: +4.21 %
Sharpe: 1.180
Sortino: 1.610
Max drawdown: 3.40 %
Trades: 12
Win rate: 66.67 %
Profit factor: 2.10
— Strategy config —
Indicators: EMA20, rsi14
Entry rules:
(Long - EMA20 greater than 30) AND (Long - rsi14 greater than 15)
Exit rules:
(close crosses below EMA20) OR (Long - take profit at 5.00%) OR (stop loss at 2.00%)
[ 📄 Trade-Chart PDF ]Backtest-complete is enabled by default on the Notifications page. To turn it off, uncheck `backtest_complete` in the enabled-events list.