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…
Equity Curve
| 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…
🧹 Data Maintenance
Removes historical FAILED AI/ML-sourced calls that never became a real position — these accumulate from retried automation attempts and, left alone, can bury genuinely open or closed calls out of the Ideas page's recent-calls view. Never touches OPEN, CLOSED, PENDING, or SKIPPED calls, and never touches manually-entered or Telegram-sourced calls.
📊 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…
Strategy Leaderboard
Which strategies are actually earning — ranked by realised P&L over the selected window. Exit efficiency shows how much of each move was captured; dominant regime shows which market conditions a strategy really works in, so one that only performs in a trend is not averaged into looking mediocre everywhere.
Loading…
Is It Improving?
Every other performance figure in this app is a LIFETIME total, which makes real improvement invisible once enough history builds up — 500 old trades at 35% barely move when the last 50 run at 55%. This compares the last 30 days against the 30 days before it, and separately compares within each market regime so a rise caused purely by an easier market is not mistaken for the system getting better.
Loading…
Strategy Automation
One row per strategy template, aggregating every symbol and cycle it's run on. Click a template to see every symbol it's used, classified Equity/Options, each with independent on/off controls for generation, paper trading, and real trading.
| Name | Category | Status | Cycles | Last Cycle P&L | Capital Deployed | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Options Strategy Templates
Fixed-leg options strategies, run through the options backtest engine (P&L, max profit/loss, and ideal IV regime are structural — they don't vary by parameter).
Loading…
Signal Strategy Templates
Indicator-driven equity/index strategies with tunable parameters, run through the signal backtest engine.
Loading…
Configure Strategy
Saving stores this configuration so it appears under "Saved" in the Backtesting tab's strategy dropdown — pick it there to actually run it against historical data.
Saved Strategies
Loading…
Live Strategy Trades
Every currently-open multi-leg option structure a deployed strategy is running — these used to show under Foreign Advice's Ideas tab, but that module is for calls from outside this app. This is their real home.
Loading…
Deployment History
Every time a backtest run or saved strategy was deployed to Paper or Real trading, from either this tab or the Backtesting tab.
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…
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 2-Day 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 7 days — only OHLCV bars are kept beyond that window.
Loading…
2-Day Cache
Rolling per-symbol cache other engines read from for "recent bars" instead of hitting the long-term store.
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).
Alert Message Templates
Use {symbol}, {price}, {pnl}, {time} as placeholders.
Message Log
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
Chats
Log in, then refresh.
Monitoring (instant — pushed the moment a message arrives)
Chat Reader
No messages loaded.
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.
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
IncompleteDhan doesn't have a background session monitor yet — credentials are read fresh on the next order/request after saving.
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.
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.
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.
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…
AI Log Analysis
Sends recent ERROR-level log lines to whichever AI provider above is configured, for a plain-language summary of what's actually going wrong — grouped error patterns, severity, and suggested next steps. Requires at least one provider enabled above.
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
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.
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.