ALGO MONITOR
SIGN IN TO CONTINUE
No account is usable until its password has been set from the server.
ALGO MONITOR
Day Trading Disprover
0/0 DAYS +
OFFLINE
MARKET— SESSION P&L— OPEN0
Stock Universe
Backtest Settings
Patterns to Run
VWAP Reversion
RSI Extremes
MACD Crossover
Bollinger Squeeze
EMA Cross 9/21
Vol Spike Reversal
200-day MA Rule
RSI Divergence
Fibonacci Retracement
Ichimoku TK Cross
Heikin-Ashi Momentum
VWAP Std Dev Bands
Sector Filter
ALL
Fin
Mat
Energy
Health
Tech
Cons
Ind
REITs
Util
Best Win Rate
—
Avg Win Rate
—
Best PF
—
Total Trades
—
SCANNING0%
—
◈ Investment
◎ Demo Trading PAPER
◷ Previous Sessions 0
⚡ Live Trading OFFLINE
◆ IBKR Demo PAPER
Research
⚑ Gambling BETA
Analytics
Sector Analysis
RISK PER TRADE applies to every figure on this page
The Book
PROGRESS TO GOAL —
——
Check a Potential Investment modelled, not promised
1y20y
Default 8.2% is the corrected US_BROAD backtest, measured at 1% risk. It is an estimate, not a rate anyone is offering you.
Returns by Capital at 8.2%/yr
CAPITAL AVG WEEKLY AVG MONTHLY AVG YEARLY P(PROFIT) 1Y P(DOWN) 1Y P(LOSE HALF) P(NEAR ZERO)
Loading…
Gambling BETA — EMPTY

Reserved. Nothing is implemented here yet and nothing on this page is wired to the trading engine, the paper session, or the IBKR execution path.

Connection
Data Farms
Paper Account
Not loaded. Requires a connected gateway.
Data Quality — IBKR vs yfinance the reason this tab exists

Every backtest figure in this project inherits whatever yfinance got wrong, and until now that has been an assumption rather than a measurement. This pulls the same window from both sources and differences them. If they agree, the coverage matrix stands and IBKR buys us only bid/ask and realistic fills. If they diverge, the matrix needs rebuilding on better bars.

What this tab cannot do. It cannot place an order — paper or live. The backend module contains no order-placing code, and refuses to connect to the live-trading ports (7496 / 4001) at all. Connecting, reading the account summary and pulling bars are the only three things it does. Order routing stays in the broker adapter, which is still a dry-run stub.
STRATEGY RESEARCH

Nineteen rounds, one verified edge.

—BACKTESTED TRADES
—COMBINATIONS TESTED
—NET-PROFITABLE
—BEST VERIFIED PF
PROFIT FACTOR ACROSS THE RESEARCH
verified, net of costs claimed, no costs break-even
Findings click any row for the evidence
How It Fits Together signal to fill
MODULE DEPENDENCIES
Hover any module to isolate what it talks to ·circle size = functions and classes inside ·line weight = number of calls between
◍ Open the full node-level graph All 1,621 nodes — every class and function, not just the modules above — with search, type filters and community navigation. Built by graphify from the AST, so it cannot drift from the code. It is a 1.5MB page and takes a moment to settle, which is why the summary above is drawn inline instead. →

The same pattern generators feed both the backtester and the live paper engine — which is what makes the live-vs-backtest comparison above meaningful rather than a comparison of two different systems. The broker layer is a stub: nothing places a real order.

Coverage Matrix

Every pattern against every market, 5 years of daily bars, 8 concurrent positions, $25,000, run twice — once gross and once with the real fee schedule. The gap between the two is the whole story. Cells are coloured by net profit factor against a break-even midpoint; each prints its own number, so the colour only reinforces.

MARKET
SORT
loses break-even profits

Variable Registry ADMIN

Every constant and variable the strategy actually reads, where it lives in the code, and whether its value has ever been checked. Sweeps are one-at-a-time with everything else held at its deployed value — a full grid over eight parameters is about a hundred thousand runs and would surface a "best" combination almost entirely curve-fit to these five years. The narrower question is the useful one: is the deployed value defensible, or did it simply never get looked at?

Live vs Backtest the open question

Live results sit above the backtest in every comparison. Not one is statistically distinguishable from noise — confirming the VWAP gap needs about 264 closed trades and there are 22; the EMA_PB gap needs 96 and there are 3.

Project History
Archived — Superseded Claims
kept, not trusted

These are the figures the page used to lead with. Each is kept beside the reason it no longer stands. Rounds 9–19 also ruled out the approaches below, and those exclusions still hold — a negative result costs the same to earn as a positive one.

RULED OUT, STILL RULED OUT
Leaderboard
Combo Optimizer
Market Heatmap
— results
#TickerSectorBest Pattern Win Rate ↓ Frac W/LProfit Factor Pseudo-Sharpe ⓘ Total PnLTradesMax DD
◉
Run Scanner
Select your universe and click SCAN ALL STOCKS
— —
Ranked by edge score across all scanned stocks. Higher trade count = more statistically significant.
◈
No Data Yet
Run the scanner to score pattern combinations
——
Low → High
⬡
No Data Yet
Avg Win Rate by Sector
Avg Profit Factor by Sector
Best Pattern by Sector
Trade Volume Distribution
Strategy Dashboard TEST v1
not loaded
Start Test Strategies v1 to populate
Shared session · Trades tagged per strategy · SQLite ledger persists across restarts · Auto-refreshes every scan cycle
ⓘ Data source is end-of-day / delayed OHLCV bars (Yahoo Finance), refreshed on each poll — not a real-time tick feed. Signal "entry" prices are the open of the bar following the signal, which is only an observable price once that bar has printed; until then a trade shows as CURRENT TRADE in the feed. A trade only flips to WIN/LOSS once price actually touches its stop or target on a later bar, or its hold window expires — ASX H12 (R16/R21), US H8 (R17), JACOB 96 bars.
Monitor Status
OFFLINE
Scanners
5M · —
1D · —
MODE
LIVE
REPLAY
⚡ IG
Session Duration
—
Signals Fired
0
Paper Trades
0
Open Positions
0
Last Poll
—
Poll Interval
30s
1m
5m
15m
REPLAY PROGRESS0%
—
Session Win Rate
—
Profit Factor
—
Session P&L *
—
Expectancy / Trade
—
Win Streak
—
Strategies
—
Tickers and patterns are derived from the selected strategies — there is nothing to set by hand.
Universe DERIVED
0 tickers
Execution Settings
🔒 PAUSE TO EDIT
Account ($)
Risk Per Trade 1%
Max Trades / Day ∞
Daily Profit Target Off
Min R:R Off
Index Filter ⓘ
Stock SMA ⓘ
Confluence ⓘ
Cap Impact
Bar Data
Daily
5-min
Daily bars — up to years of history, signals resolve over up to 5 trading days.
Paper Trade Mode
Server URL
Using default
Required when accessing the hosted app from outside the server. Reload page after changing.
API Key
Matches the ALGO_API_KEY set on your server. All requests send X-API-Key header.
News API Key
not set
Shows news headlines & sentiment on each signal. Free at finnhub.io/register
IG Markets — API NOT CONFIGURED
Environment
DEMO
LIVE $
API Key
Username
Password
Live Orders
Credentials are saved locally. For persistent server-side storage, fill in backend/live/ig_config.py.
IG DEMO account required — never use LIVE credentials until fully validated.
Research — 19 rounds of backtesting (ASX, NASDAQ, Forex) live in the Research tab. Strategy trial data accumulates in the SQLite ledger and is visible in the Strategy Results panel below.
Live Chart Start the monitor to watch live
Session Equity CurveNo trades yet
Positions & Trade Feed
0 EVENTS
Start monitor to see live signals
◔ FORMING — SETUPS BUILDING ON THE CURRENT BAR
Informational only — no entry/stop/target until the bar closes and the signal passes the filter chain.
Backend Required for Live Data
Live monitor polls GET http://localhost:8000/live/scan?tickers=BHP,CBA&patterns=VWAP,RSI&period=1y every 30s. Make sure uvicorn main:app --reload is running. The backend returns fresh signals; paper trade P&L is calculated client-side and held for the session. Add GET /live/scan to main.py — see README for the route signature.
Archived Sessions
A session is archived automatically when you press STOP, so a run survives CLEAR SESSION. Click any row for the full breakdown.
STARTED DURATION STRATEGIES TRADES W-L WR PF FEES MAX DD NET P&L
Loading…
⚡
LIVE TRADING — REAL MONEY
Orders placed here would use real funds. This page is separate from Demo Trading so the two can never be confused.
STATUS
NO BROKER CONNECTED
Current Setup — First Live Run PROPOSED · NOT YET ARMED
BAR INTERVAL
1 DAY ONLY
no 5-minute
DIRECTION
LONG ONLY
no shorts
RISK : REWARD
3.0 : 1
HOLD WINDOW
8 days
RISK / TRADE
1.0%
MAX CONCURRENT
8 positions
5YR PF
1.16
WIN RATE
47.9%
MAX DD
29.6%
TRADES / YR
246
FEE DRAG
26%
COMPONENT STRATEGIES
STRATEGYPATTERN UNIVERSEEVIDENCE
US_BROAD EMA_PB 190 liquid US equities + ETFs PF 1.16 · 5yr n=1,229
DELIBERATELY EXCLUDED
✕ ASX — it genuinely HAS edge (+$44,560 gross over 5y at $25k), but IBKR’s A$6.60 minimum costs $62,239 across those 2,695 trades — the broker takes ~140% of the edge. Fee/trade: ASX $8.76–14.62 vs US $0.77. Stays in the demo to keep collecting signal data.
✕ LSE & Hong Kong — both liquidated a $2,500 account. Fees were 501% and 385% of gross profit: UK stamp duty is 0.5% on every purchase and this strategy is long-only.
✕ Futures (incl. micro) — untradeable here: one MNQ contract needs USD 3,850 maintenance margin, more than the whole account; MES needs 2,509. COMEX gold is ~$410k notional.
✕ All shorts — 91% of realised losses this session (−$884 of −$970).
✕ All 5-minute strategies — ASX longs on 5m lost −$428 (33% WR, 9 trades) vs +$1,650 for the same longs on 1d.
✕ JACOB / JACOB_POOL — only 2–3 backtest signals each; far too little data to risk real money.
✕ QUANTPEDIA_CAL — time-exit drift harvest, no real stop geometry.
Read the backtest with suspicion: it assumes perfect fills at every stop and target, no slippage and no margin interest, and the 5-year window covers an exceptional run in both megacap tech and gold — a long-only strategy will flatter itself in that period. Modelled ruin risk is ~0% only because fixed-fractional sizing needs ~120 consecutive full-stop losses at 1% risk to bust; the real wipeout mechanism is a correlated overnight gap through 8 long positions at once, which this backtest cannot model. Live evidence remains thin: 1 EMA_PB trade so far.
Broker Connection
Broker Interactive Brokers (AU)
Transport IB Gateway · localhost
Gateway not detected
Account —
Buying power —
Credentials are never stored by this app. You log in to IB Gateway yourself; the backend talks to it over localhost only. No password or API secret is written to disk.
Safety Controlslocked
Disabled until a broker is connected and the pre-flight checklist is complete.
Max daily loss not set
Max open positions not set
Max position size not set
Allowed direction not set
Closes every open position and halts the scanner.
Pre-Flight Checklist3 / 8
Live Positions0 OPEN
⚡
NO LIVE POSITIONS
Connect Interactive Brokers to trade real money. Until then all activity stays on the Demo Trading page.
TRIAL PHASE 1
30-DAY PROFITABILITY RECORD
—
— — — —
PRICE ENTRY STOP LOSS TAKE PROFIT ENTRY dot + time label EXIT dot (green win / red loss)
SETTINGS
ACCOUNTS
A new account has no password and cannot sign in until you set one. Changing a password ends every existing login for that account.
LANGUAGE
Reserved for later — no translation is wired up yet. Your browser's own "Translate this page" feature works today.
TIME ZONE
Used to show market open/close times in your local time — click the market status badge in the header or sidebar.
SESSION
Equity Curve
P&L by Pattern
Trades
TICKERPATTERN DIRENTRY EXITSIZE FEESP&LRESULT