Scanning…
Loading…
Checking…
Loading…
Waiting for WebSocket events…
Place Real Order
⚠️ This places a LIVE order with real capital via AngelOne SmartAPI.
Account Overview
Loading…
Total Return %
(realised P&L + invested + unrealised P&L) ÷ invested — the full realised+unrealised performance picture, one point per day, still anchored to currently-deployed capital rather than the Capital setting above (which drifts from reality as new per-call pools get auto-provisioned over time). Above 100% = net profit overall, below = net loss.
Deployed Value %
Current value of the open book as a % of what was actually deployed into it — one point per day, independent of the Capital setting above (which drifts from reality as new per-call pools get auto-provisioned over time). Above 100% = open book is up, below = down.
Capital Utilization %
Invested ÷ Equity — what % of your total current capital (cash + open positions, across every pool) is tied up in open positions right now. No P&L in this formula at all — it's about how much capital is at work, not how well it's performing. Updates the instant a trade opens or closes, not once per day. 100% = fully deployed, 0% = fully in cash.
| Symbol | Source | Trades | Net P&L |
|---|---|---|---|
| Loading… | |||
🟢 Live Trades
Every currently-open call — paper or real, whichever executed — with real entry/SL/target where available.
Loading…
📋 Closed Calls
Loading…
Loading…
📊 News Impact Learning
Real price outcomes, not predictions — split fresh (news that arrived before the market had already moved) vs stale (already priced in by the time we saw it).
Loading…
📋 Corporate Actions splits, bonuses, rights — tracked equity universe, last 30 days
Scanned directly from NSE announcements every 30 minutes. Prices are NOT auto-adjusted in this raw list — for adjusted prices on your own open positions, see Positions → Corporate Actions on Your Positions.
Loading…
Symbol Activity Today
Loading…
Feed Health
Loading…
Active Events & Learning Log
Market-moving events tracked against realised price moves at fixed checkpoints (T+15m through T+1w).
Loading…
Loading…
Needs Your Attention
Loading…
📋 Strategies
Pillar ALoading…
📡 Data Analysis
Pillar BLoading…
🧠 Trained Models
Pillar CLoading…
Live Cycle Activity
The orchestrator's own running log — data collection, generation, backtesting, and promotion decisions as they happen, cycle by cycle.
Loading…
Stock Screener
Set filters and run, or switch on live mode.
Import all required market data, export whatever's needed for analysis or backup, and review past results — one module.
Auto-Import until fully synced, or 24h
IdleRuns continuously on the server — keeps going even if you close this tab — repeating gap-detection passes until nothing new is left to fetch, or 24 hours pass.
Not running.
Uses the sources/groups/years picker on the Manual Import tab — set scope there before starting.
Continuous OHLCV Engine NIFTY options + stock options + equities + top indices
Starting…Builds 1-min bars from the live tick feed (not REST polling) and keeps only OHLCV long-term — raw ticks auto-clean after 7 days. Auto-starts on boot once AngelOne logs in; survives reboots.
Loading…
Tracked Expiries
Loading…
Fyers Live Feed failover (AngelOne down) + overflow (past AngelOne's connection budget)
IdleNever used for order execution — market data only. All-zero here is the normal, expected state: this only engages when AngelOne's own feed is confirmed dead (failover) or its 3-connection budget is already full (overflow). See the toggles under Data Import → Fyers to enable either.
Upstox Live Feed overflow — whatever's left after AngelOne + Fyers are both full
IdleNever used for order execution — market data only. All-zero here is the normal, expected state: this only engages once both AngelOne's connection budget and Fyers' own overflow cap are exhausted. See the toggle under Data Import → Upstox to enable it.
F&O Stock Live-Feed Selection curate which stocks' option chains get proactive WS coverage
—The full F&O stock list expands to 11,000+ option contracts once every strike/expiry is enumerated — several times more than AngelOne + Fyers + Upstox's combined live-tick capacity, so spreading it across all stocks means most fall back to bulk-import/polling. Selecting fewer stocks here means the ones you pick get full, reliable live-tick coverage. Deselecting a stock doesn't remove it from the app — it's still available on-demand (an open position or active recommendation still gets picked up live) and via bulk-import/polling; this only trims what's tracked proactively before anything asks for it.
Loading…
Live Feed spot-check, powered by the Continuous OHLCV Engine
—Read-only — no separate connection. Shows the latest bar the Continuous OHLCV Engine above has written for each index, straight from its Recent Bars Cache.
Loading…
Instrument List Auto-Update
Nifty 500 + F&O stock lists are re-checked daily against NSE; any addition/removal auto-refreshes the OHLCV engine's universe the same day.
Loading…
Corporate Actions
Splits, bonuses, rights issues detected across the tracked equity universe — background scan every 30 min. The full browsable list now lives under News Analysis; this card just confirms the scan engine itself is healthy.
Loading…
Tick Retention
Raw tick files auto-delete after the configured retention window below — only OHLCV bars are kept beyond that.
Loading…
Recent Bars Cache
Rolling per-symbol cache other engines read from for "recent bars" instead of hitting the long-term store — window configurable below.
Loading…
📈 Advance / Decline
🔄 Sector Rotation
Sectors ranked by composite trend/momentum score — accumulation at the top, distribution at the bottom.
Loading…
📐 % Stocks Above Key Moving Averages
🏔 New 52-Week Highs / Lows
⚡ Momentum Indicators
Bot Connection
DisconnectedSecurity alerts (new-device admin logins) go here as a Telegram bot message, kept deliberately separate from the trade-call broadcast above — they will never be posted to the Chat ID(s) channel, even if this is left blank. Leave blank to receive no Telegram alert for logins (still logged server-side).
Trading Kill Switch
RunningAlso toggleable from Telegram itself via /pause and /resume.
Compose / Broadcast
Leave Chat ID blank to send to every saved chat ID at once.
Alert Event Rules
Loading…
Daily Summary Time
Sends the Daily Summary template once per day at this time (requires "Daily PnL Summary" enabled above).
Call Recognition Reconciliation
Daily report (IST) comparing yesterday's messages vs. what got recognized as calls per monitored chat — flags a chat that's gone quiet, a spike in unrecognized messages, or a busy chat that isn't monitored.
Alert Message Templates
Use {symbol}, {price}, {pnl}, {time} as placeholders.
Message Log
Loading…
Message Audit every message a monitored chat sent, and what happened to it
Text messages, image cards (OCR'd locally), and messages from chats outside your monitored list — with the classifier's outcome and reason for each. Use this to find real gaps: a channel not being watched, an image OCR keeps missing, or a text pattern the classifier doesn't recognize.
Loading…
Telegram User API (MTProto)
Log in as your personal account to read any chat, group, or channel. Get API ID / Hash from my.telegram.org → API Development Tools.
Not logged in Connection healthy
Recent connection incidents
Loading…
Chats
Log in, then refresh.
Monitoring (instant — pushed the moment a message arrives)
Chat Reader
No messages loaded.
Channel Boilerplate
Fixed text a channel always appends (e.g. a disclaimer link) — stripped before a message reaches the classifier, so formatting drift can't create a false "new" call out of an identical repost. Uses the chat ID from Chat Reader above.
Call Relay
Posts every new call to your configured Telegram channel(s) above — incoming calls classified from Telegram, AI/ML-generated calls, and strategy trades (paper and real) all go through this same relay. Off by default; turn on once your channel is set up the way you want.
Available fields: {symbol} {action} {confidence} {source} {instrument_type} {price} {sl_price} {tgt_price} {holding_period} {time} — a field with no value for a given call shows as "-" rather than breaking the message.
Session Status
Loading…
Google Self Sign-Up
Off (default): only accounts an admin has explicitly linked to a Google email can sign in with Google — everyone else sees "not linked". On: anyone who signs in with a Google account not yet linked to a Zinsu user gets a new account created automatically, always as Viewer — there's no path from Google sign-in to Admin, regardless of this setting. Promote someone to Admin from Accounts below, same as always.
Session Timeout
A session is logged out automatically after this many minutes of no activity (any request refreshes the countdown) — separate from the 7-day absolute session limit, which still applies regardless of activity.
My Two-Factor Authentication
Adds a 6-digit code from an authenticator app (Google Authenticator, Authy, 1Password, etc.) as a second step at login, for whichever account you're currently logged in as. Recommended for admin accounts especially — they can restart the backend and touch live trading.
Scan or manually enter this secret into your authenticator app, then enter the 6-digit code it shows to confirm:
Account Lockout
Locks an account out for a set duration after too many consecutive failed login attempts — protects against password guessing. 0 attempts disables lockout entirely.
Concurrent Session Limits
How many devices/browsers can be logged into the same account at once. Logging in beyond the limit signs out that account's oldest session automatically — 0 means unlimited.
Password Policy
Applies to new passwords going forward — existing passwords aren't affected until changed.
Admin Login Alerts
Sends a Telegram alert (via your configured bot, under the Telegram tab) whenever an admin account logs in from an IP address that hasn't succeeded for that account before. Requires a connected Telegram bot to actually deliver — the setting itself works either way, it just won't have anywhere to send to without one.
Add User
Accounts
Loading…
Active Sessions
Who's currently logged in, from where, and how recently active. "Log out" revokes every session for that user immediately. "Trust IP" whitelists that IP for that account (max 3 per account) — a session from a trusted IP gets a flat 24h lifetime with no idle-timeout logout, regardless of the global Session Timeout setting above.
Loading…
Login Attempts
Every login attempt, successful or not, with source IP where available — watch for repeated failures from one address or against one username.
Loading…
AngelOne
IncompleteAuto-login: checking… — a background monitor keeps this session alive and re-logs in automatically on failure; "Force Login Now" tests newly-saved credentials immediately instead of waiting for the next health check.
Dhan
IncompleteA background session monitor keeps this token refreshed automatically when TOTP automation below is enabled — see live status further down.
Unlike Fyers' TOTP option (built on undocumented internal endpoints), this is an officially documented part of DhanHQ API v2 — fully automates daily token renewal, the same way AngelOne's own login already works. Requires TOTP enabled on your Dhan account (scan a QR code on Dhan's own web portal, one-time) and this server's static IP whitelisted with Dhan.
Session monitor: unknown
Off by default. When on, NEW real-trading entries for the symbols/strategies listed below route to Dhan instead of AngelOne — genuine load-sharing, not a cold standby. If AngelOne or Dhan goes down, real trading automatically fails over to whichever broker is still reachable regardless of this setting; this switch only controls normal-operation splitting.
Force ALL new real-trading entries onto one broker right now, without waiting for the automatic failover watchdog — e.g. AngelOne is acting up, force everything to Dhan until you clear this. Wins over both the routing settings above and automatic failover; existing open positions are unaffected and still close on whichever broker they're actually on.
Live status: unknown
Fyers — Live Feed Failover
Not configuredA backup market-data source, used only when AngelOne's own live feed is confirmed dead — never for order execution. See the toggle at the bottom to actually enable failover once configured.
Set this to the value below AND register the same URL as the redirect URI in Fyers' own developer console (myapi.fyers.in/dashboard) — logging in then completes automatically instead of needing the manual paste-back step further down.
Daily re-authentication — Fyers has no fully-supported headless login, so this needs a quick manual step once a day (or use the TOTP automation below, opt-in).
Token status: unknown
⚠️ Fully automates the daily re-auth above, but it's built on Fyers' undocumented internal login endpoints, not their supported API — confirmed by multiple developers to break without warning when Fyers changes those endpoints. Off is the safer default; on trades reliability for convenience.
Activates only when AngelOne's own feed is confirmed dead.
Runs concurrently alongside a healthy AngelOne, covering symbols that don't fit AngelOne's own 3-connection budget (capped at Fyers' own 200-symbol-per-connection limit).
Upstox — Overflow Feed (3rd Tier)
Not configuredA third market-data source, equity/index only — covers whatever doesn't fit AngelOne's connection budget AND exceeds Fyers' own 200-symbol overflow cap. Never used for order execution. Note: Upstox's market-data API is currently free via a promotional offer Upstox's own site states is valid through 30 Sept 2026 — worth re-checking after that date.
Set this to the value below AND register the same URL as the redirect URI in Upstox's own developer console (account.upstox.com/developer/apps) — logging in then completes automatically instead of needing the manual paste-back step further down.
Daily re-authentication — Upstox has no automated login path at all (unlike Fyers' opt-in TOTP option), so this needs a quick manual step once a day.
Token status: unknown
Runs concurrently alongside a healthy AngelOne, covering whatever's left after AngelOne's connection budget and Fyers' own 200-symbol cap are both exhausted. Equity/index only.
News Services
Optional extra headline source for News Intelligence — the 11 free RSS feeds work without it.
Anthropic (Claude) has moved to Settings > AI Providers, alongside every other AI provider this app can use.
Real Trading — Buy/Sell Controls
Independent kill-switches for opening new real-money positions, per category and per product (Intraday/MIS vs Delivery/CNC). Turning a switch off never blocks closing an existing position — exiting a trade (manual close, stop-loss, or target hit) always works regardless of these switches, so you can never get trapped in a position with no way out.
| Category | Product | Buy | Sell |
|---|---|---|---|
| Equity | Intraday | ||
| Equity | Delivery | ||
| Options | Intraday | ||
| Options | Delivery | ||
| Futures | Intraday | ||
| Futures | Delivery |
Paper Trading — Buy/Sell Controls
Same idea, entirely independent of the real-trading switches above — turning off paper equity intraday sell, for example, has no effect on real trading or on any other category/product. Also never blocks closing an existing paper position.
| Category | Product | Buy | Sell |
|---|---|---|---|
| Equity | Intraday | ||
| Equity | Delivery | ||
| Options | Intraday | ||
| Options | Delivery | ||
| Futures | Intraday | ||
| Futures | Delivery |
System Feed & Generation Switches
Simple on/off controls, distinct from the buy/sell tables above — these gate whether the system generates new stock-options recommendations or maintains a live data connection at all, not which trades it's allowed to place.
Off = stop generating new stock-options calls (~30-175 NSE F&O stocks). Index options (NIFTY/BANKNIFTY) are a separate tick and unaffected; any stock-options position already open keeps trading/closing normally — this only stops new ones.
Off = pause the live tick stream entirely — no real-time price updates anywhere in the app until turned back on. Historical/EOD data, manual imports, and bulk-polling fallback are unaffected.
Lot Size Overrides
NSE revises F&O lot sizes periodically (index lot sizes roughly every 6-12 months, tied to price bands). The live value everywhere in this app auto-updates from the daily instrument master — but there's a real gap between an NSE circular announcing a new lot size and the data catching up, or a contract with lot size simply missing from the master. Set an override here to apply the correct value immediately, without waiting for a code change. Clear it once the live value catches up.
Loading…
AI Providers
Every AI provider the app can call through when generating strategies and calls — tried in priority order, falling through to the next if one fails or isn't configured. Claude uses the same key as the Anthropic field under Broker if you've already set that up there.
Loading…
Yahoo Symbol Status
Symbols the bulk history engine has stopped retrying against Yahoo Finance — either auto-flagged after repeated consecutive "no data" responses, or confirmed here as delisted. Auto-flagged symbols still get one retry occasionally in case Yahoo's coverage changes; confirmed delistings never auto-retry until you clear them.
Loading…
Google Drive
Google Drive is this app's priority storage — every new backup uploads here first and the local copy is freed immediately. If Drive is disconnected or an upload fails, the local copy is simply kept as a fallback, same as before. Connecting also migrates any backups already sitting on local storage over to Drive right away.
Connected as
Files in Drive
Everything this app has archived to your Drive's "MarketPulse Backups" folder — check what's there, and delete anything you no longer need directly from here.
Loading…
Manual Data Cleanup
Nothing on this card runs automatically — every archive or delete here only happens when you pick a source and a date range and click a button. Separate from the automatic Data Retention sweep (Settings → Health → Data Retention), which covers a few tables on its own fixed schedule; this covers those plus the ones that sweep doesn't (backtest run detail, trade decisions, AI learning feed), for a range you choose instead of waiting on the schedule.
Loading…
Archive & Backup Sweep
Moves old backups and log files off primary storage before it runs low on space — to Google Drive first if connected (see the card above), falling back to the local folder below only if Drive is unavailable or upload fails. The most recent backups and logs always stay put.
Loading current usage…
Master switch for this whole sweep — covers both Google Drive and the local fallback path below. Leave this on even if you only use Google Drive and don't need a local path.
Sweep anything older than
Runs on this schedule regardless of current free disk space — the reason logs/backups don't just accumulate unnoticed on a large disk until it's nearly full. Set to 0 to rely on the low-disk-space trigger alone.
Local fallback path (optional)
Only used if Google Drive is disconnected or an upload fails — otherwise everything goes to Drive.
Module Settings
Controls how the background engines and bulk-download tools behave — retention windows, check intervals, timeouts, rate-limit pauses. Spans several modules (Data Import, Fyers/Upstox failover, Telegram, real-trading approval), not just Data Import — moved here from the Data Import screen since it was never actually scoped to that one module. Changes apply immediately to any engine already running and persist across restarts.
Loading…
Scan Cadence & Tuning
Controls how often AutomationEngine polls the market for equities, options, futures, and market breadth, plus a few related tuning knobs. Values are clamped server-side to safe ranges. Changes take effect on the next tick — no restart needed.
Loading…
.env File
Checking…Maintenance
Restart requires a one-time passwordless-sudo rule on the VM — see deploy/marketpulse-sudoers.example. Without it, this fails cleanly with instructions instead of hanging.
System Health
Every SQLite database this app uses — accounting, paper trading, backtesting, AI strategy store, advisor performance, research calls, recommendations, alerts, and more — checked for readability, table count, and row count in one place.
Loading…
Background Loops
Liveness for every critical background loop — the automation engine's main loop, the live tick feed, the Telegram bot's poll loop, and the AI strategy orchestrator's cycle loop. Built after a real incident where the automation engine silently stopped running for an entire trading day with no signal anywhere until a full log download found it. A component that's never beaten at all (blank row) hasn't started this process lifetime; one flagged stale has started but gone quiet longer than its normal cadence allows. Any component going stale (or recovering) now also pushes a Telegram alert automatically — no need to check this page for it to be caught.
Loading…
Data Freshness
Per-category data currency — distinct from Background Loops above. A loop can be alive and beating on schedule while quietly failing to produce fresh data for one specific category (a sector index or options chain going stale for reasons unrelated to the loop's own liveness) — that's invisible up there but shows up here.
Loading…
Data Retention & Storage
How much market data is actually on disk right now, per category, and a real record of what's been deleted — not just an in-memory count that resets on restart. Note: only the Ticks category has any automatic cleanup at all; Stocks/Indices/Options/ Futures OHLCV data has none and grows unbounded.
Current Inventory
Loading…
Disk Capacity Status
Options History Coverage (for backtesting)
Options data has no backfill capability anywhere in this app — historical depth is purely whatever got captured live, day by day, so any outage is a permanent gap. Low coverage here means backtests/simulations for that period are running on sparse data.
Recent Deletions (Tick Data)
Loading…
Symbol Reconciliation
Checks every hardcoded NSE symbol list in the app against AngelOne's live scrip master. Built after a real incident where TATAMOTORS, MCDOWELL-N, and GUJGASLTD sat stale for months (an NSE demerger and two renames) with the only symptom being repeated "possibly delisted" errors nobody was watching. A symbol flagged here likely needs updating to whatever it was renamed to — check the NSE circular for the new symbol before changing it, since a false positive is possible.
Backups
"Run Backup Now" snapshots every database into a dated tarball using SQLite's online backup API (safe to run while the app is live). "Full Backup" additionally includes market data, instrument lists, caches, and settings — literally everything under the app's data directory. Runs in the background since it can take a while and produce a large file; refresh the list below once it finishes. "Error Log Only" is the lightest option — just the ERROR-level lines from every log file, combined into one small text export, for quickly checking what's actually gone wrong without downloading the full data directory. Both DB and Full backups also run automatically on their own configurable schedule (Module Settings → Backup — DB-only / full auto interval) — no external cron setup needed.
Loading…
Log Files
Every log file currently on disk — the active file (still being written to) can't be deleted; its rotated backups and any other log files can. "Download All Logs" gets the full, unfiltered content of everything here, unlike "Error Log Only" above which only includes ERROR-level lines.
Loading…
Data Retention
Prunes old rows from recommendation history, signal track record, research calls, and the AI engine's log tables — each on its own independently configurable retention window (Module Settings → Data Retention). Runs automatically in the background; "Run Sweep Now" triggers an immediate pass instead of waiting for the next scheduled one.
Loading…
Export Everything
One zip with paper trade log, backtest run history, the current recommendations feed, and this financial year's tax summary — each as its own CSV, plus a manifest.
Paper Trade Log
Loading…
Backtest Run History
Loading…
Recommendations History
Loading…
Tax Report
Loading…
Theme
Applies instantly on this device. Stored in your browser, not tied to your account.