OnismAI

IBKR Β· SMA crossover + ATR bracket

Checking that TWS is reachable for the selected mode.

Recent login attempts

None yet.

OnismAI
— Disconnected Budget $ saved P&L —
Net Liquidity — Cash — Buying Power —
Offline
Live Read-Only / IBKR Not Connected
U — —
Language
Timezone UTC
Gateway —
Account —
Dashboard
Intraday Swing Trade
Strategy Trade History Scanner Analytics Health

    Type to search · ↑↓ to move · Enter to open · Esc to close

    β€”

    Holdings API

    Not connected

    Unfilled orders

    Not connected

    One position is tracked at a time. Adopting a naked holding places an ATR stop + target on it. "Ignore" tells the reconcile guard a holding is yours β€” hands off.

    SPY — S&P 500 ETF

    Search any stock above to load it here Already on the Swing Desk Sign in

    Market News EXT

    β€”

    Loading…

    Date & Time Ticker Easy Hinglish Impact
    Loading market news…
    Back to Dashboard

    Strategy & Backtest

    Onism Strategy

    Simple Moving Average crossover strategy with ATR-based stop loss

    Active Current

    Runs the live-configured Onism Strategy against cached historical bars via the same engine research/ uses - real computed results, not a simulation preview.

    Total Return
    β€”
    Win Rate
    β€”
    Max Drawdown
    β€”
    Sharpe Ratio
    β€”

    Back to Dashboard

    Trade History API

    SymbolEntryExit QtyP&LP&L %StatusJournal
    No trades yet

    Execution History LEDGER

    SymbolOpenedClosedHeld QtyEntryExit P&LP&L % ATR ScoreVerdict
    Open this tab to load.
    Back to Dashboard

    Instrument Scanner API

    Pick an instrument type, then scan for AI-ranked candidates with buy / watch / avoid suggestions.

    CoinPrice24h % VolumeSuggestion
    No scan yet
    Back to Dashboard

    System Health API

    Status
    Healthy
    Avg Latency
    β€”
    P95 Latency
    β€”
    Success Rate
    β€”
    Requests/min
    β€”
    Uptime
    β€”
    Connection
    Disconnected

    Audit Log API

    Every state-changing request through this console - connect/disconnect, arm/disarm, settings changes, scans. Read-only polling isn't logged here; login attempts have their own list under Recent login attempts on the login screen.

    TimeMethodPathStatusms
    Loading…

    β€”

    Risk & Portfolio Heat RISK

    πŸ’° Allocated
    β€”
    πŸ”₯ Portfolio heat
    β€”
    πŸ“‰ Daily P&L (realized)
    β€”
    πŸ›‘ Daily kill-switch
    β€”
    Max budget / trade ($) Max daily loss limit ($)

    Account API

    Net Liquidation β€”
    Total P&L: β€”
    πŸ’³ Buying power
    β€”
    βœ… Available funds
    β€”
    πŸ’΅ Cash
    β€”
    DRY RUN β€” no orders will be sent
    SUGGEST MODE β€” signals wait in Trade Suggestions for you to Execute

    Strategy AI

    β€”
    β€”
    🎯 Max candidates
    πŸ”Ž Source
    β€”
    πŸ“₯ Entry
    β€”
    πŸ”§ Filters
    No filters active
    πŸ“Š SMA / bars
    β€”
    πŸ›‘οΈ ATR bracket
    β€”

    Current volume > average volume

    period

    Price > session VWAP

    RSI confirms bullish momentum

    period >

    Trade Suggestions AI

    Signals wait here for manual approval WhatsApp: not configured

    No suggestions right now β€” this card opens automatically when one appears.

    SymbolPriceShares Est. $StopTarget Reason
    No suggestions yet β€” connect and scan

    Strategy Performance MULTI

    STRATEGY
    STATE
    QTY
    PRICE
    UNREALIZED
    REALIZED
    WIN RATE

    Loading…

    Pre-Market Optimize idle

    Scans the top N gainers, then runs hyperopt only on symbols not already optimized in the last 7 days (incremental). Results land in config/best_params_multi.json and are used per-symbol on the next scan cycle. With "Fetch data" on, budget ~2 min per new symbol β€” IBKR paces historical requests, so a first run over many names is slow. Already-cached symbols optimize in seconds.

    
            

    Live log

    
            

    Swing Desk — Master Confluence Signals SWING

    Each score bar is split by evidence: backtested · unproven. Four of the seven factors cannot be backtested — that is 52 of the 100 points, over half the score — so the split matters more than the total.

      Symbol Price Score Swing Engine Status Wall Street Confluence Trend Upside Analysts Earnings Signals Options Master Signal Action
      Open this tab to load.

      A score is a hypothesis, not a recommendation. The analyst, news, institutional and revisions factors cannot be backtested — Yahoo and Finviz serve them as a snapshot of today, so scoring them against past bars would be lookahead bias. Over 5 years of daily data the backtested factors beat buy-and-hold on 35 of 100 symbols. A Master Signal built on the other four is a hypothesis, not a validated edge — the Forward Evaluation Matrix below is the only thing that can ever change that.

      Open Swing Positions

      SymbolQtyEntry LastP&L HeldExit signal
      No open swing positions.

      Forward Evaluation Matrix

      Factor21d42d 63dsamplesEvidence
      Loading…

      Wall Street Desk SNAPSHOT

      –

      Everything on this card is a snapshot of today — current filings and the live analyst feed. None of it can be backtested, so treat it as context, not as proven edge.

      Institutional accumulation

      • No scan yet.

      Insider buying

      • No scan yet.

      Analyst revisions

      • No scan yet.
      Back to Dashboard

      Portfolio Analytics API

      Cumulative realized P&L across every closed trade in the current session. Read-only - this only aggregates what's already logged, no new tracking.

      No closed trades yet - this fills in once your strategy has completed at least one round-trip.
      Total P&L
      β€”
      Win Rate
      β€”
      Max Drawdown
      β€”
      Trades (W / L)
      β€”
      Local control panel Β· binds to 127.0.0.1 Β· orders stay dry-run until armed

      Arm real-money orders?

      Mode is LIVE. Once armed, the strategy can place and cancel real orders on account .

      Type ARM LIVE to confirm:

      MFA is enabled - enter your current 6-digit code:

      Holdings

      Total P&L: β€”

      Trade Journal

      One more thing

      You are signed in as —. To act on your behalf the console needs your IBKR account ID - signing in tells it who you are, not which account to trade.

      At least one. Paper only is fine - you can add the other later under Profile.

      Circuit breaker latched

      Sign in to OnismAI

      Market data, strategy verdicts and news are open to everyone. Signing in unlocks your account, positions and order controls.

      or continue with
      Checking sign-in methods…

      Reset the circuit breaker

      New entries are blocked. Exits and protective orders are not affected and have been working throughout.

      Clearing this does not move today’s baseline. If equity is still past the limit it re-latches immediately, so this cannot be used to trade through an ongoing drawdown.

      Profile & IBKR accounts

      Signing in tells the console who you are. These tell it which account to act as - without one it can only show you research.

      Signed in as
      —
      Method
      —

      Keep at least one. Clearing a field removes that account; leaving it as-is changes nothing.

      Settings

      ⚙️ Console

      Moved here from the top bar to leave room for the account figures. Arm orders deliberately stays in the top bar - it is the switch you reach for mid-session, and a safety control you may need to turn OFF quickly should not be two clicks deep.

      Qualifying signals trade with no per-trade approval. Orders still stay dry-run unless armed.
      Switch between the light and dark palette.
      Drag and resize the dashboard cards.
      The full list. Pressing ? anywhere still opens it without coming here.

      πŸ”‘ Multi-Factor Authentication

      This app has no username/password (it binds to 127.0.0.1 for one operator). MFA instead adds a second factor on top of arming LIVE real-money orders - a standard 6-digit authenticator app code, on top of typing "ARM LIVE". Never required for PAPER mode.

      Checking…

      Scan this into any authenticator app (Google Authenticator, Authy, 1Password…), or add the key manually:

      ⏰ Timezone

      Select your timezone to display all times accurately

      WhatsApp Notifications

      Get a WhatsApp message whenever a new trade suggestion appears. Uses Twilio's WhatsApp API. Trial Twilio accounts reject free-form text, so this sends through an approved Content API template instead - create one at Twilio Console → Messaging → Content Template Builder (WhatsApp channel) with this body and 7 numbered variables, submit it for approval, then paste its Content SID below once approved:

      New trade suggestion: {{1}} Price: {{2}} Shares: {{3}} Est: ${{4}} Stop: {{5}} Target: {{6}} {{7}}

      Not configured

      WhatsApp Web (no Twilio)

      Alternative to the Twilio section above - drives an already-logged-in WhatsApp Web session directly instead of an API, so no template approval is needed. It's an unofficial channel though: keep volume low (one message per new suggestion), and if the linked device gets logged out, just redo step 1 below.

      1. On this machine: pip install selenium, then run python whatsapp_web.py --login once and scan the QR code.
      2. Enter your number below (digits only, international format) and Save.

      Not linked

      πŸ“± SMS Alerts (Twilio)

      Get a plain-text SMS whenever a new trade suggestion appears. Uses the same Twilio account as WhatsApp above, but SMS needs no Content Template approval - a trial account can send immediately to a verified number.

      Not configured

      βœ‰οΈ Email Alerts

      Get an email whenever a new trade suggestion appears, via any standard SMTP account. For Gmail/Outlook with 2FA on, use an app password, not your real account password.

      Not configured

      🎨 Dashboard Customization

      Show or hide dashboard cards to customize your view

      Log in with LIVE mode?

      This opens a session on your REAL money account (). No order can be sent until you separately arm orders and type ARM LIVE - this step only opens the connection.

      Enable LIVE trading?

      This is a one-time switch. It updates .env:

      • IBKR_ALLOW_LIVE=1

      Your LIVE account and port are already staged separately from PAPER's (IBKR_ACCOUNT_LIVE) - switching modes after this needs no further file edits. Orders still can't be sent until you separately arm them and type ARM LIVE - this only unlocks connecting to the real account.

      Type ENABLE LIVE to confirm: