Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
A catalog of rule-based trade-alert pages — published research, general information, the same for every subscriber. No account, no connection, nothing trades.
FinanceHTML · TypeScriptGitHub @ZelouseyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Rule-based stock scans, live market tools and free trading games on real charts.
agentictrading.info · Swing Trader · Breakout Rider · Options Scanner · Chart Replay · Learn
This is the source of the official AgenticTrading.info site. It's public only so it can be hosted on GitHub Pages. All rights reserved: copying, re-hosting or reusing any part of it (code, design, games, text or graphics) is not permitted. See LICENSE. Looking for the product? Head to agentictrading.info.
Static site for Zelos: no build step, no framework, just plain HTML/CSS/JS, hosted with GitHub Pages.
index.html — main marketing siteterms.html — Terms of Servicesetup.html — setup guide (has the terms click-wrap gate)arcade.html — Zelos Arcade hubgames/bull-run.html, games/buy-the-dip.html, games/setup-spotter.html — the three mini-gamesdemo.html — interactive demo alert ticket (safe to click, doesn't write anywhere real)alert.html — the real, live alert ticket. With no ?id= it shows a labeled sample; with ?id=<strategy>-<date> it reads that alert straight out of Firestore and renders it. This is what the Zelos scan skills now publish to (see "Real alert data" below) — it's no longer a static snapshot.dashboard.html, alert-history.html, daily-market.html — also read live from the same Firestore alerts collection.The scan skills (Zelos Swing Trader / Breakout Rider / Options Scanner) write real alerts into
this project's Firestore alerts collection via the publish_alert Cloud Function in
functions/main.py — see docs/data-model.md for the exact document schema and
docs/deploying-functions.md for how to deploy that function and wire the skills up to it. Until
it's deployed and configured, the skills still work exactly as before (notification + a
republished Claude Artifact page) — the Firestore write is additive and self-skipping.
A separate daily job then checks what actually happened to each published alert (hit target?
stopped out? still open?) using real price data, and writes that back via the
update_alert_outcomes Cloud Function — see docs/firestore-alerts-setup.md for the full
runbook and scripts/check_alert_outcomes.py for the decision logic (unit-tested in
scripts/check_alert_outcomes_test.py). This is what makes alert-history.html an honest,
checkable track record instead of a feed of predictions nobody follows up on.
That same daily job also tracks whether a winning alert ran all the way to its second target
(outcome.target2Hit — see the TARGET2 / "RUNNER" TRACKING note in
scripts/check_alert_outcomes.py), and if one just did, can automatically drop a post into your
own Buffer queue announcing it — with a plain market recap instead on a day with nothing to
announce. See docs/buffer-automation.md for the full setup and scripts/buffer_post_content.py
(unit-tested in scripts/buffer_post_content_test.py) for how the post text itself gets composed.
This is entirely optional and off unless you set the BUFFER_API_KEY / BUFFER_CHANNEL_IDS
secrets described there.
games/chart-replay.html (flagship simulator), games/grade-the-setup.html, games/stop-drill.html, games/daily-challenge.htmlgames/zelos-chart-engine.js + games/zelos-games.css. Chart data: about 2 years of real daily bars that the server saves from Marketstack (markets/history_<n>, loaded by zelos-mdata.js).scripts/build_games.py / scripts/page-src/games/*.js, then run python3 scripts/build_games.py.chart-replay, grade-the-setup, stop-drill, daily-YYYY-MM-DD) are registered in leaderboard.js. Matching Realtime Database rules are in database.rules.json (deploy with firebase deploy --only database). Scores need a Firebase user (every visitor gets a guest one) and are limited to one per player every 10 seconds.ref (Chart Replay sends its chart seed) so a leaderboard row opens that exact chart. The rule for ref is in database.rules.json; until it's pasted into the console, leaderboard.js retries the push without ref, so scores still post.chart.box), draggable stop/target handles (chart.handles + onDrag), on-chart prompts (chart.prompt), the "what happened next" banner and bar-by-bar chart.reveal().One account, two modes that never mix: Trade War (practice/, the $10,000 virtual account, PRACTICE) and the Real Trade Journal (real/, trades logged from your own broker, REAL). Modes and tags: zelos-modes.js. Full notes: docs/practice-account.md.
practice/index.html: paper trading on 50 real stocks and ETFs with live prices, a full chart (13 toggleable indicators, SL/TP forecast boxes), market/limit/stop/bracket orders, simulated options (long calls/puts, modeled prices) and agent signals. Built by python3 scripts/build_practice.py; logic in practice/practice.js, chart in practice/practice-chart.js, option pricing in practice/practice-options.js.data/practice-universe.json (single source of truth; the build copies it to functions/practice_universe.json for the price function).refresh_quotes Cloud Function (Marketstack → Firestore markets/quotes, every 15 minutes on the Basic plan). Setup: docs/market-data.md. Without them the page uses the latest daily close.users/{uid}.practice for signed-in users. Signed-in players publish public stats to practiceProfiles/{uid} (leaderboard + practice/profile.html).zelos-dash-hub.js.zelos-progress.js (+ zelos-xp.js, zelos-levels.js). Challenges, squads, friends, referrals, share cards: zelos-social.js, pages practice/challenge.html and practice/squads.html. Practice leaderboards (all-time, weekly, monthly, season, friends): zelos-practice-board.js. Details: docs/practice-account.md.docs/roadmap.md.markets/intraday_<SYM>), D, W. Candle color presets and custom colors are saved as zelosChartColors in localStorage and also used by the Arcade charts. Full Port (all-in sizing plus the green/red glow) is a toggle on the order ticket.scripts/build_home_promo.py needs a local bars file to redraw it (the old data file was retired).zelos-theme.css under :root[data-theme=...], toggle in zelos-theme-toggle.js. Every page runs a one-line inline copy of the stored-theme read at the top of <head> to avoid a flash.zelos-levels.js. zelos-xp.js loads it on demand and celebrates whenever an award crosses a level, on any page.dashboard.html widgets can be added, removed, dragged and resized (zelos-dashboard-layout.js). The layout is saved to localStorage, and to users/{uid}.dashboardLayout for signed-in accounts.learn/ is generated by python3 scripts/build_learn.py from scripts/page-src/learn/articles_*.py.ai-index.html, the resource list in llms.txt and sitemap.xml are generated by python3 scripts/build_ai_index.py.scan/YYYY-MM-DD.html pages are built by scripts/build_scan_pages.py from the public Firestore alerts collection. There is no scheduled workflow for it yet, so run it by hand after a scan day. The optional scanStats field (see docs/data-model.md) fills in the "scanned / rejected" sections.games/setup-spotter.html (scripts/site_shell.py), so nav changes there flow through on the next build.Hovering a country tints it red/green by its country ETF's daily move and shows its trending stock and linked US-listed names; clicking pins the card. Data: data/globe-markets.json (static fallback) and Firestore markets/globe (live). See docs/market-map.md.
zelos-globe.js is a self-contained WebGL globe (no three.js / globe.gl). Styles: realistic, futuristic, blend, set per page with style: in ZelosGlobe.mount. The terminator follows the real sun; exchange markers show regular trading hours (holidays not modelled).
/docs folder — either works, you just tell GitHub which one below).main) and the folder (/root or /docs), then save.https://<username>.github.io/<repo>/ URL within a minute or two — that's your site, live.CNAME (no extension) at the repo root containing just your domain, e.g. agentictrading.com (or www.agentictrading.com).agentictrading.com), add A records pointing to GitHub's IPs: 185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153.www subdomain, add a CNAME record pointing to <username>.github.io.TOKENS in functions/main.py (see docs/tokens.md); the static pages quote them too.claude.ai/artifact/... links (social profiles, email templates, etc.) to point at the new domain instead.