PatternForge AI is a chart-pattern trading signals and analysis extension. It compares the current price pattern with historical market data, replays those historical analogues bar-by-bar against a fixed stop and target, and shows what actually happened next — as a BUY, SELL, HOLD or NO SIGNAL result with measured levels. A direction only appears when the replay backs it. If it can't, the card returns HOLD or NO SIGNAL rather than inventing a level.
DISCLAIMER:
Educational analysis software only. Not investment advice and not a broker. Trading involves substantial risk of loss. Historical comparisons do not guarantee future results. You are responsible for every trading decision.
PatternForge AI — a non-custodial, client-side extension. Your data stays on your device.
For privacy questions, see the separate privacy policy.
PatternForge AI in One Sentence
PatternForge AI is a historical chart-pattern analysis engine that identifies the current market structure, finds comparable historical formations on the same instrument and timeframe, replays what happened after those formations appeared, and converts that evidence into a BUY, SELL, HOLD, or NO SIGNAL result with risk levels — labelled by how many resolved analogue trades back the result.
Who This Is For (and Who It Isn't)
- Traders on web charts (TradingView, FXCM, MT5 web, OANDA, IG, Binance, cTrader, etc.)
- Anyone with a repeatable process who wants a measurable second opinion, not a call to follow blindly
- Traders who care about expectancy, drawdown and session stats over win-rate theatre
- Anyone willing to spend five minutes once on API keys — or to use the keyless Yahoo / Binance sources
- Anyone wanting auto-execution — the extension is deliberately read-only and blocks order-shaped requests
- Anyone wanting a directional call on every candle (HOLD / NO SIGNAL is a designed outcome)
- M1 scalpers with no history provider — the engine needs at least 120 bars, 5,000 preferred
- Traders who won't confirm a lot size against their broker's own calculator
Plans — Free · Pro · Pro+
Free does not expire. Pro is the daily workspace for a serious individual trader. Pro+ is infrastructure (broker sync, trade-log API, multi-account). Activate a license in Command Center → Settings via Gumroad.
| Feature | Free | Pro | Pro+ |
|---|---|---|---|
| Price | $0 | $19/mo · $149/yr | $39/mo · $299/yr |
| Charts | 2 symbols · any TF on each | Unlimited | Unlimited |
| Pattern detection | ✅ | ✅ | ✅ |
| BUY / SELL / HOLD | ✅ | ✅ | ✅ |
| Risk calculator | ✅ | ✅ | ✅ |
| Replay engine | ✅ | ✅ | ✅ |
| Basic journal | ✅ | ✅ | ✅ |
| AI analyses / day | 3 | 30 | 100 |
| Saved signals | 25 | 1,000 | 5,000 |
| Watchlist | 5 | 25 | 100 |
| Alerts | 3 | 25 | 100 |
| Accounts | 1 | 5 | 25 |
| Journal entries | 50 | 5,000 | 50,000 |
| Remarks panel | ✅ | ✅ | ✅ |
| Economic calendar | ✅ | ✅ | ✅ |
| Session clock | ✅ | ✅ | ✅ |
| MTF confluence bars | ❌ | ✅ | ✅ |
| Candlestick pattern name | ❌ | ✅ | ✅ |
| Strategy finder | ❌ | ✅ | ✅ |
| Journal analytics | ❌ | ✅ | ✅ |
| Trading profiles | ❌ | ✅ | ✅ |
| Auto-AI | ❌ | ✅ | ✅ |
| CSV import | ❌ | ✅ | ✅ |
| Backup import | ❌ | ✅ | ✅ |
| Extended history | ❌ | ✅ | ✅ |
| Broker sync | ❌ | ❌ | ✅ |
| Trade-log API | ❌ | ❌ | ✅ |
| Multi-account analytics | ❌ | ❌ | ✅ |
Use up to two symbols (switch M15 / H1 / H4 / D1 freely on each), up to 3 AI uses/day, and the core signal card with no expiry. A third symbol is locked: the card offers to replace one of your two free slots, or you can unlock Pro. Slot changes have a 5-minute cooldown so they cannot be toggled every few seconds. Timeframe is not gated. Free is not a trial and does not expire.
Free Forever — How it Works
PatternForge's Free plan is not a trial. It does not expire. Users can keep using it indefinitely without paying, as long as they stay within the Free limits.
What Forever ($0)
| Included | Limit |
|---|---|
| Charts | 2 symbols (any timeframe on each) |
| Pattern detection | Yes |
| BUY / SELL / HOLD (from real matches) | Yes |
| Entry / SL / TP when a real signal exists | Yes |
| Basic risk/replay | Yes |
| Remarks panel, economic calendar, session clock | Yes |
| Basic journal | Up to 50 entries |
| AI | 3 uses per UTC day |
| Saved signals | 25 |
| Watchlist | 5 symbols |
| Alerts | 3 |
| Accounts | 1 |
They do not need a license key for Free.
Practical "free forever" workflow
- Install from the Chrome Web Store.
- Open the one or two symbols you care about (e.g., EURUSD and XAUUSD).
- Switch M15 / H1 / H4 / D1 freely on those symbols.
- Use the signal card, remarks, basic journal, and up to 3 AI uses/day.
- Optional: replace a free symbol slot with another pair (5-minute cooldown applies).
No subscription, no trial end date, no forced upgrade — only feature and volume caps.
What stays locked until Pro / Pro+
- A third symbol and beyond (Free includes two)
- MTF confluence, candlestick pattern names, strategy finder, journal analytics, trading profiles, auto-AI, CSV and backup import
- Higher AI / signal / journal / alert / watchlist caps
- Pro+: broker sync, trade-log API, multi-account analytics
Pro plan status, trading profiles (Scalp/Day/Swing — Pro), signal settings, risk settings, notifications, chart overlay, appearance, workflow, accounts/tags, data & privacy, and keyboard shortcuts are all managed in Command Center → Settings.
Upgrade is only if they want more symbols, higher limits, or Pro/Pro+ tools — via Gumroad license, not required to keep using Free.
PatternForge AI — Complete User & Information Guide
v2.1.35. PatternForge exists to answer one question: when this shape appeared before, what happened next? Every BUY, SELL, or HOLD on the card comes from replaying the current price pattern against years of history and measuring what actually followed — not from a model's opinion, and not from a guess.
What surrounds that engine is the part that keeps you honest: a position sizer that withholds a lot size rather than guess a contract size it doesn't have, risk limits you set once and get warned against at trade-log time, and a journal that closes its own trades and tells you which setups actually pay you. The overlay will tell you HOLD or NO SIGNAL rather than invent a level — that's deliberate, and it's the thing to expect.
If a card looks empty, that's the engine telling you it has nothing worth acting on — not the extension failing. Brought to you by AlamToolKit.com.
V2.1.35 Free forever (limited) Analysis only No automatic order execution Non-custodial
What Is PatternForge AI?
Part 1 — What PatternForge AI Does
PatternForge AI is a browser extension that overlays a floating signal card on supported trading chart websites. It:
- Detects the symbol and timeframe of the chart you're viewing.
- Fetches historical price bars from a market-data source you set up.
- Matches the current price shape against thousands of bars of history to find similar-looking moments in the past.
- Replays a trade step-by-step on each matching historical moment (a stop at one unit of risk, a target at two units of risk) to see what actually happened next.
- Displays a BUY / SELL / HOLD / NO SIGNAL card with entry, stop-loss, take-profit, a confidence score, a similarity score, a historical win rate, and the resolved-trade count behind it.
- Provides a full command center for reviewing past signals, an optional written explanation, a trade journal, a multi-symbol scanner, price alerts, a risk calculator, provider setup, and general settings.
- Chart pattern research
- Shows HOLD or NO SIGNAL when the evidence is thin
- Risk and position-size helpers
- A journal, measured in risk units
- Place or close broker orders
- Guarantee profit
- Force a call every candle
It is analysis only — it never places orders and never executes trades. (The optional Pro+ broker sync only reads your closed-trade history from a broker you connect.)
Related reading:
- Key Trader Pain Points & How to Solve Them
- PatternForge AI vs Other Chrome Trading Extensions
- Multi-Broker Chart Patterns vs TradingView-Only AI Overlays
Part 2 — First-Time Setup
Follow this order the first time — no setup is required to see the card work, because Yahoo Finance supplies live quotes for indices, commodities and equities with no key.
- Install the extension from the browser's extension store.
- On install you get a welcome notification and starting settings are saved privately on your device. Any key you later add is automatically kept apart from your everyday settings, so a saved key never sits in the same place as your regular preferences.
- Open any supported chart (TradingView, FXCM, MT5 web, OANDA, IG, Binance, and others).
- A floating card appears in the top-right corner of the chart.
- Click the toolbar icon to open the popup, or use the "Open Command Center" button to open the full panel.
The first time you visit a site, the popup may show an "Enable on this site" button — click it to grant access if the page isn't already on the built-in list. The extension remembers that permission for that website from then on.
Part 3 — The Floating Signal Card (on the chart)
This is the main interface. It updates automatically every few seconds (the exact timing is adjustable, from 2 to 30 seconds).
3.1 Card Header
- Direction label — BUY, SELL, HOLD, NO SIGNAL, MARKET CLOSED or NO DATA. See §3.7 for the exact meaning of each.
- PROVISIONAL pill — appears next to a BUY/SELL whose win rate rests on only 8–14 resolved analogues. Treat with extra caution. See §10A.5.
- Symbol · Timeframe — for example EURUSD · H1. The timeframe is a green-bordered dropdown next to the symbol. In v2.1.35, a pick you make in the dropdown is an analysis timeframe: it stays until you choose Auto, pick another, click a timeframe on the chart, or the chart moves to a different symbol.
- LIVE / SIM badge — LIVE means a real quote was fetched; SIM means only an estimated price was available.
- Lock icon — shown when the card is locked in place (press Shift+L to toggle).
- Countdown — time left until the current candle closes; turns amber in the final minute.
- Options button — opens the options and risk-limits panel.
- Minimize / Expand — collapses the card to just its header row, or restores it.
Related: Signals, Timeframes & How Long a Trade Lasts
3.1A Plan Boxes (Free · Pro · Pro+)
Directly under the card header, three small boxes sit side by side: Free (with the note "2 Symbols (any TF on each)"), Pro, and Pro+. They are pinned — they stay in place while the rest of the card scrolls.
- The box for your current plan glows and shows a blinking Active. When you activate a Pro or Pro+ license, the highlight moves to that plan's box.
- Plans above yours read Upgrade — click one to open the plan page. Plans below read Included.
- The same three boxes appear on the minimized card (in a compact form), on the locked "third symbol" card, at the top of the toolbar popup, and in the Command Center sidebar.
- If your system is set to reduce motion, the blinking and glow are turned off.
3.1B The Timeframe Dropdown (v2.1.35)
The dropdown next to the symbol is now a sticky analysis timeframe, not a mirror of the chart's TF. Concretely:
| You do this | The dropdown does this |
|---|---|
| Pick M15 while the chart is on H1 | Stays on M15. Card levels are calculated on M15 history. It does not revert. |
| Change the chart to a different symbol (EURUSD → GBPUSD) | Hands the timeframe back to the chart (M15 → H1). Your M15 pick belonged to the old symbol. |
| Click a timeframe button on the chart itself (e.g. TradingView's "4h") | Adopts the chart's TF immediately, cancels the sticky pick. |
| Pick Auto in the dropdown | Follows the chart's TF again. |
| Pick another TF in the dropdown | Replaces the sticky pick; the old analysis is superseded immediately. |
This lets you keep a chart on H1 for structure while asking the card to run its replay on D1 for swing context, without the card fighting you on every poll.
3.2 Body — Trade Quality Strip
- Trade OK / CAUTION badge — green when trading conditions look acceptable and there's no news warning; red otherwise.
- Session label — for example Peak (London + New York), London, Asia, or Thin liquidity.
- News status — either News clear or a warning about an upcoming high-impact event. The news check runs on a keyless weekly feed; no API key is required for it. Finnhub is used only as a fallback when the weekly feed is unreachable.
3.3 Body — Daily Strip
- Today's result — running profit/loss for the day, measured in risk units (shown in green if positive).
- Trades left — how many more trades you're allowed today under your own limits.
- Open trades — how many trades are currently open in the journal.
- Session name and color.
- News status.
- Day stopped — shown once your daily loss limit has been reached.
Related: Daily Risk Gate (Overtrading Brake)
3.4 Body — Session Timeline
A 24-hour drawing showing when the Sydney, Tokyo, London, and New York markets are active (UTC hours: Sydney 21–06, Tokyo 00–09, London 07–16, New York 12–21 — the same table is used by the card, popup, Command Center and the Pair Score, and shifts by an hour with daylight saving), with a highlighted band for when London and New York overlap, and a moving marker showing the current time. The marker updates every second. On weekends it is marked market closed.
3.5 Body — Recent Price Line
A small line drawing of the last 40 closing prices, colored by direction (green for rising, red for falling, blue for HOLD). It comes from the same history the matching engine already looked at. This is a visualisation, not a forecast.
3.6 Body — Timeframe Agreement Bars and Score
A small set of bars comparing the hourly, four-hour, and daily timeframes (plus whichever one the chart is on). Taller bars mean stronger confidence on that timeframe, and the color shows whether that timeframe currently leans BUY, SELL, or HOLD. On the Free plan this area shows a locked "Multi-timeframe confluence — Pro" line instead, and the extra timeframes are not downloaded, which keeps the card fast.
The percentage next to the bars is the share of the checked timeframes that agree with the card's direction. If the card says BUY but most higher timeframes say SELL, confidence is reduced by up to 10 points — visible on the card, not hidden.
3.7 Body — "Why HOLD / No Trade" Box, and the Header States
When the direction is not a tradeable BUY or SELL, the header reflects the reason. Six distinct states exist, in order of how much evidence backs them:
| Header | Meaning |
|---|---|
| BUY / SELL | At least 15 resolved analogue trades back the chosen side (normal signal). |
| BUY / SELL + PROVISIONAL pill | 8–14 resolved analogues back the chosen side. Labelled prominently on the card, in notifications, in the popup, in the Command Center, and in webhook payloads. |
| HOLD — limited evidence | 3–7 resolved analogues favour one side, but not enough to call it. Reference levels shown, tagged "not a trade". |
| HOLD — no edge | Both sides replayed; neither paid after the stop was respected. |
| NO SIGNAL | 0–2 resolved analogues. Nothing can be judged. Header shows NO SIGNAL; no replayed call exists. |
| MARKET CLOSED | Weekend or Friday-after-close / Sunday-before-open. Every numeric field is blanked so frozen prices cannot be read as a live call. |
| NO DATA | No live quote retrieved. No price levels are shown. The card offers the manual pin form. |
The "Why" box under the header explains the specific reason for a HOLD or NO SIGNAL: sample size, threshold used, expected outcome, resolved count, 95% confidence interval. When there is no real signal, the Entry / SL / TP1 / TP2 / TP fields show —: the card never invents levels.
If the box says "Market-data provider is slow or unreachable", the history download did not arrive in time. The card retries on every refresh. For FX, add a free Twelve Data or Finnhub key under API Keys.
3.8 Body — Level Grid
| Field | Meaning |
|---|---|
| Entry | The current live price. |
| Score (card label) | A composite signal score from 0–100% (similarity 40% + win rate 40% + resolved-sample size 20%). This is not a calibrated win probability and is labelled "Score" on the card for that reason. The confidence type is carried as composite_signal_score_not_probability. |
| Stop-Loss | Shown in red. |
| Similarity | Average closeness of the matched historical moments to the current shape. |
| First Target (TP1) | Exactly one risk unit in the trade's direction. On a BUY it sits above entry; on a SELL it sits below entry. It is not the stop distance below entry. |
| Second Target (TP2) | The configured R multiple (default 2R) in the same direction as the trade. |
| Take-Profit | The full take-profit level (usually the same as TP2). |
| Historical Win Rate | The share of matched historical moments where the target was reached before the stop. Timeouts are excluded from the percentage but reported. The count of resolved analogues is shown next to it (n=), along with the 95% Wilson interval on hover. |
| Pair Score | An optional score describing how favorable current conditions are for research on this instrument. The spread component is estimated unless a bid/ask is available on the page — this is labelled with a small "spread est." note where it applies. |
3.9 Body — Position Size Line
Once you've saved a balance, a risk percentage and your account currency in the position sizer (Shift+P), this line shows something like: 0.42 lots, risking 1% ($100), 18 pips.
The size is converted into your account currency whenever the pair's quote currency or base currency is your account currency — for example EURUSD or USDJPY on a USD account. For any other pair (EURGBP on a USD account, GER30 on a USD account) the extension does not have an exchange rate, so the line says "Lot size withheld: needs a GBP→USD rate" instead of guessing. Use your broker's own calculator for those.
3.10 Body — Historical Match List
Up to five past examples that matched the current pattern: the date, a similarity percentage, and the outcome. Below the list you'll see the sample size, the similarity threshold used, how many bars were involved, and which data source supplied the history.
3.11 Body — Action Row (top)
| Button | Action |
|---|---|
| Command Center | Opens the full panel (reuses an already-open window if there is one). |
| Guide | Opens the online guide page. |
| Unlock Pro | Opens the purchase page. |
| Share Extension | Opens the share options for the extension itself. |
| Copy Latest | Copies the current signal as text. |
| AlamToolKit | Opens the AlamToolKit window (reuses an existing one if already open). |
3.12 Body — Action Row (bottom)
| Button | Action |
|---|---|
| Size | Opens the position sizer. |
| Remarks | Shows a written summary of the setup, with no AI involved. |
| Tools | Opens the tools menu. |
| Chat | Opens the chat window, pre-loaded with the current signal. |
3.13 Moving the Card
Click and drag the card anywhere except on a button or input box to move it. Its position is remembered for that page and restored the next time you visit. Lock it with Shift+L to stop it from moving by accident.
3.14 Named Candlestick Formations (Pro)
On Pro and Pro+, the card also names the last bar's formation when it recognises one — Engulfing, Hammer / Hanging Man, Morning / Evening Star, Three White Soldiers / Black Crows, Doji variants, Marubozu, Inside / Outside bars, and others — from the last three bars, computed deterministically.
If the formation points the other way, it appears in the warnings. The quant direction is not overridden by a candle name; the disagreement is just shown to you.
3.15 Keyboard Shortcuts (on the chart)
Letter shortcuts need the Shift key (for example Shift+R), so they never collide with typing on TradingView and similar sites. They are ignored while a text box has focus.
| Key | Action |
|---|---|
| Shift+M | Minimize / expand. |
| Shift+C | Copy signal. |
| Shift+R | Remarks. |
| Shift+S | Share. |
| Shift+P | Position sizer. |
| Shift+L | Lock / unlock card. |
| Shift+A | Written analysis. |
| Shift+E | Economic calendar. |
| Shift+O | Strategy finder (walk-forward optimizer) — Pro. |
| Shift+N | Order ticket & alert helper. |
| Shift+T | Market sessions. |
| Shift+D | Performance stats — Pro. |
| Shift+W | Watchlist scanner — Pro. |
| ? (Shift+/) | Help. |
| Esc | Close the top panel. |
| Ctrl+Shift+H | Toggle the overlay. |
| Ctrl+Shift+K | Copy signal. |
| Ctrl+Shift+X | Emergency pause. |
Chrome also registers these browser-level shortcuts (you can change them at chrome://extensions/shortcuts): Ctrl+Shift+F opens the popup, Ctrl+Shift+H toggles the overlay, Ctrl+Shift+S checks the current signal, and Ctrl+Shift+X is the emergency pause. On a Mac, use Cmd in place of Ctrl for these.
Part 4 — The Toolbar Popup
The popup is a compact status window.
- Header — shows Active, Paused, or Ready.
- Quick stats — today's signal count (local day), journal win rate, and open trades.
- Session strip — the current time and which markets are active.
- Recent alerts — the last five BUY/SELL rows, with how long ago each fired, whether it was PROVISIONAL, whether it came from a background scan, and what the chart currently shows for that symbol+timeframe (e.g. "now HOLD").
- Current signal — the latest signal from the active chart, or a placeholder if there isn't one yet.
- Open Command Center — opens the full panel.
- Settings — opens the Command Center's Settings screen.
- Pause / Resume — stops or restarts signal generation everywhere.
- Journal — opens the Command Center's Journal screen.
- API Keys — opens the Command Center's provider setup screen.
- Plan boxes — Free / Pro / Pro+ at the top, with your current plan blinking Active.
- Pro banner — on the Free plan, shows the Pro / Pro+ prices and a box to paste your Gumroad license key; once unlocked, it shows your plan.
- Footer links — Guide, Unlock Pro, Share Extension, Copy Latest, AlamToolKit.
The popup also checks whether the extension has permission on the current site, and offers an "Enable on this site" button when it doesn't.
Part 5 — The Command Center
The Command Center is the full management screen, with a sidebar containing 8 sections.
5.1 Sidebar
- Emergency Pause button — pauses or resumes signal generation. The button does not reflect a pause set from elsewhere until you click it once; the pause state itself is shared with the popup and the chart keyboard shortcut.
- Section list — Signals, Written Analysis, Journal, Scanner, Alerts, Risk Calculator, API Keys, Settings.
- Badges — counts for signals, journal entries, and alerts; a warning mark on API Keys when nothing is set up yet.
- Plan boxes — the same Free / Pro / Pro+ boxes sit under the logo.
- Footer — connection status and the installed version number.
5.2 Signals Section
Lists every signal the extension has generated, newest first — with filters, an agreement meter, Win/Loss buttons, and a summary strip. The Free plan keeps the latest 25; Pro keeps 1,000; Pro+ keeps 5,000.
5.3 Written Analysis Section
Send the current signal to a language model provider you've configured for a second opinion, in plain written form.
Free allows 3 AI uses per UTC day (resets 00:00 UTC). Pro allows 30 per day, Pro+ 100. Written Analysis and Chat share this one counter, and a use is refunded automatically if the provider call fails.
5.4 Journal Section
Your trade record and performance overview. The journal is built to answer "which of my setups actually pays me", not "how often am I right". Expectancy, drawdown and session breakdown are the numbers that change behaviour. Free keeps up to 50 entries; Pro 5,000; Pro+ 50,000. The full analytics below are a Pro feature.
It computes and displays:
- Expectancy per trade — the average R returned by one trade. Anything above zero compounds; anything below it does not, whatever the win rate says.
- Profit factor — gross wins divided by gross losses.
- Max drawdown in R — the worst peak-to-trough run of your equity curve, measured in risk units.
- Best win streak and worst loss streak — the number that breaks discipline is the losing run, not the win rate.
- Six breakdown dimensions — by symbol, by session, by weekday, by direction, by timeframe, and an equity curve in R with a live marker.
- Performance heat-map — last 12 weeks, one cell per day, colour-graded by net wins vs losses and tinted red on net-loss days.
Actions available: Export CSV, Import CSV (Pro), Export playbook (JSON snapshot of settings + risk rules + journal template), Weekly report (opens a printable summary of the last 7 days by session and timeframe in a new tab, with a Print / Save PDF button), Clear.
5.4A Imported Trades Are Not Wins
A broker order is not a closed win. Trades imported from Alpaca, from the IBKR Client Portal Gateway, or from a CSV row with no outcome and no result figure are saved with outcome IMPORTED, not WIN. They stay in the journal and the entry count, but they are excluded from the win rate, expectancy, profit factor and max drawdown until you mark them Win or Loss yourself.
Earlier builds (before 2.1.35) saved those imports as WIN with no result figure, which inflated the win rate. v2.1.35 re-labels exactly those untouched imports once at startup. A WIN you marked yourself carries an R multiple and is never touched.
5.5 Scanner Section
Scan your watchlist for live quotes: choose a Min Move Score and press Run Scan. Results are ranked by the symbol's session move. The default, All symbols, lists everything; the other options keep only bigger moves (25% ≈ a 1% move, 50% ≈ 2%, 70% ≈ 2.8%, 90% ≈ 3.6%). Quotes are fetched three at a time, each with a 20-second limit. Full pair-quality scoring (L/S/H/V) and barrier replay run on the chart overlay scanner (Shift+W), not in this quote strip. Watchlist size: 5 symbols on Free, 25 on Pro, 100 on Pro+.
If the scanner says "No quotes retrieved", it lists the reason for each symbol and offers a Test the Yahoo connection link. If it instead says "N quotes retrieved — none reached Min Move Score", the quotes arrived but your filter hid them: choose All symbols.
5.6 Alerts Section
Price alerts that trigger a browser notification. Free plan: 3 active alerts. Pro: 25. Pro+: 100.
5.7 Risk Calculator Section
A standalone position-size calculator: Account Balance, Risk Per Trade, Entry Price, Stop-Loss, Take-Profit, Pip/Point Value.
5.8 API Keys Section
The most important setup screen. Everything the extension fetches comes from a provider you enable here.
Providers with a live endpoint in this build: Finnhub, Twelve Data, Alpha Vantage, EODHD, Massive (Polygon), FMP, Marketstack, Tiingo, Alpaca, CoinGecko, Binance, Yahoo (keyless), Custom. Databento is listed for reference but has no live endpoint in this build.
Part 6 — The Chat Window
Opened from the card's Chat button or the Tools menu. Uses the same key as Written Analysis and the same daily limit (3 on Free, 30 on Pro, 100 on Pro+). Messages sent to the provider are trimmed to a reasonable length; the full conversation is still shown and saved on your side.
The model receives the latest 6 messages, each capped at 2,000 characters when the prompt is built. Your own conversation is stored and displayed in full; only what is sent to the provider is trimmed.
The chat window includes a "People also ask" section with pre-made analysis prompts: complete chart analysis, support & resistance mapping, FVG identification, Order Blocks, full SMC readout, multi-timeframe bias, M15 setup checks, signal explanation, and a card-vs-chart price discrepancy checklist.
Part 7 — The AlamToolKit Window
Opened from the card's AlamToolKit button or the popup's footer link. It lists every published AlamToolKit page, grouped by category, with search and caching.
The last saved list is shown immediately, and the window then syncs live from https://www.alamtoolkit.com/sitemap-pages.xml every time it opens, so newly published pages appear automatically. Pages are classified into four categories, always shown in this order:
- Trading Calculator (listed first) — risk, drawdown, expectancy, position size, session, and similar tools.
- Digital Tools — general-purpose utilities.
- Extension — PatternForge and related browser-extension pages.
- Games — small browser games.
Informational and legal pages (about, contact, privacy policy, terms, affiliate, FAQ, sitemap, and similar) are filtered out automatically. A Sync Now button forces a refresh; the tool count and last-synced time are shown.
Part 8 — The Tools Menu (on the chart)
| Tool | Shortcut | What it does |
|---|---|---|
| Scan watchlist | Shift+W | Runs the full historical replay across your watchlist and ranks by expected outcome (R per trade), with an optional pair-score ≥ 60 filter. Click any row to pin that symbol on the chart. Shortcut is Pro; from Tools the scan covers your plan's watchlist size (5 on Free). |
| My performance | Shift+D | Pro. Expectancy, profit factor, drawdown, win/loss streaks, breakdowns by symbol, session, weekday, direction, timeframe. |
| Strategy finder | Shift+O | Pro. Walk-forward parameter sweep. Each test matches using only bars available at that point in time, then replays the trade forward under the card's own stop/target rules — no lookahead. Reports the number of combinations tested. |
| Economic calendar | Shift+E | This week's events, filterable by importance and by your symbol. Free on every plan. |
| Market sessions | Shift+T | A live session clock with upcoming opens and closes. Free on every plan. |
| Order ticket & alerts | Shift+N | Copy-paste ticket text (terminal ticket, MQL4 snippet, webhook JSON) and push to your notification channels. Nothing is sent to a broker. |
| Chat window | — | Opens the chat window pre-loaded with the current signal. Uses the shared AI quota (see §5.3). |
Part 9 — Options & Risk Limits
Opened with ? or the options button on the card. Kept separate from your general settings so the Command Center's settings can never accidentally erase them.
- Card opacity and hide-signals-under floor.
- Bar-close countdown and beep on direction change.
- Stop size (1R) — range factor (× session range) and minimum stop (% of price). Smaller = tighter SL, easier to size.
- Lock the card in place.
- Risk limits — stop for the day at N R, max open trades, max trades/day, news warning window.
- Prop-firm presets — FTMO-style, Funded (strict), Day trader.
- Hard filters — max spread, thin-hours block, London–NY overlap only.
- Trade plan format — MT5-style, OANDA-style, IBKR-style, or plain.
- Broker deep link — auto (this site), TradingView, OANDA, IBKR, or off.
- OPEN trade pattern-drop alert — notify if the pattern match % drops by N while a trade is still open.
9.1 Daily Risk Gate and Currency Exposure
Before a trade is logged, the extension checks:
- Daily loss cap in R (default 3R) — blocks logging once hit.
- Max open trades and max trades per day.
- Directional exposure across pairs — three longs across USD-quote pairs is flagged as one bet, not three.
- News window — a high-impact event inside the blackout window is surfaced before logging.
You can override any of these. The override is written into the journal entry's note (· overrode N risk rules) so it is visible later.
9.2 Pre-Trade Checklist and Post-Trade Review
Clicking Log opens a five-item pre-trade checklist (direction, SL/TP1/TP2, size, session/news, daily limits). Tick every box to continue — the checklist exists to make each decision conscious rather than automatic.
When a trade closes, a small review prompt appears with tags: Plan followed / FOMO / Impulse / News spike / Wrong size / Good process. The tag is appended to the journal entry's note, so you build a record of why outcomes happened, not just what they were.
Part 10 — How Signals Are Produced
You don't configure this directly, but here's what every number on the card actually means, at v2.1.35.
- Gather history. Up to 5,000 bars from the first working provider for that kind of instrument. At least 120 bars are required before continuing.
- Describe the shape. The most recent 30-bar window, z-normalized so the shape can be compared regardless of price level or scale.
- Find matches. Compare that shape against every earlier, non-overlapping window in history.
- Relax if needed. The similarity threshold loosens in steps (80% → 75% → 70% → 65% → 60%) until at least 5 matches exist. The threshold actually used is reported on the card.
- Replay each match — both sides. Every match is replayed as BUY and as SELL against the same 1R stop and 2R target the card shows. A bar that spans both levels counts as a LOSS. Timeouts are recorded but excluded from the win rate.
- Decide the direction. Eligible sides are positive-expectancy sides with at least 8 resolved analogues. The best eligible side wins. If neither side is eligible, HOLD or NO SIGNAL (see §10A.5).
- Confidence. v2.1.35 counts resolved trades, not matched shapes. Average similarity (40%) + win rate (40%) + resolved-trade count (20%). A relaxed threshold reduces confidence proportionally.
- Historical win rate. The share of resolved analogues that reached the target first. Timeouts are excluded from the percentage but reported separately. The card shows
n=(how many resolved) and the 95% Wilson interval on hover. - Classify recent candles. The last three bars are checked against classical formations (Engulfing, Hammer, Morning/Evening Star, Three White Soldiers/Black Crows, Doji variants, Marubozu, Inside/Outside bars). On Pro, this name is shown on the card; if it points against the replay direction it appears in warnings, never as a direction override.
- Levels and sanity checks. Entry = current live price. Stop = max(range × stopFactor, price × minStopPct). Target = stop + rMultiple × risk. A level validator then re-checks the geometry (stop on the correct side, R:R between 0.5 and 20, stop ≤ 50% of price). If any check fails, the card downgrades to HOLD with the reason on the card.
Part 10A — The Core Engine: What Is the Base of BUY / SELL / HOLD?
PatternForge AI's core job is not simply to look at a chart and guess whether price will go up or down. The foundation is historical price-pattern analysis: the extension identifies the current chart structure, confirms the symbol and timeframe, finds comparable historical formations on the same instrument and timeframe, and measures what happened after those historical patterns appeared.
10A.1 The Core Formula
The simplest way to understand the engine is:
The historical behavior of comparable price patterns is the base of the signal. The extension is asking a measurable question: when a similar price shape appeared before on this instrument and timeframe, what happened next?
10A.2 What Happens From Chart to Signal?
- Read the live chart. PatternForge identifies the instrument/symbol and attempts to confirm the chart timeframe.
- Confirm the timeframe. The historical comparison must use the same timeframe as the current chart. A timeframe that has not actually been detected should not silently be treated as confirmed.
- Fetch historical OHLCV data. The engine obtains the historical price bars needed for comparison from the configured market-data source.
- Build the current pattern. The recent price structure is represented as a comparable shape. The current implementation uses a 30-bar comparison window.
- Search historical data for similar shapes. Earlier, non-overlapping windows are compared with the current pattern to find historical analogues.
- Replay what happened next. Each comparable historical pattern is followed forward bar by bar. The engine measures whether the defined stop or target was reached and records the resulting outcome.
- Compare BUY and SELL outcomes. Historical matches are evaluated in both directions. A directional result is used only when the replay evidence supports it.
- Produce BUY, SELL, or HOLD. If one side has stronger historical evidence, the corresponding direction can be shown. If neither side has sufficient evidence, PatternForge returns HOLD or NO SIGNAL rather than inventing a direction.
- Calculate the levels. Entry, stop-loss, targets, similarity, historical win rate, confidence, and position-size information are then presented around the historical result.
10A.3 Why the Timeframe Is Part of the Core
The timeframe is not just a label displayed on the signal card. It determines what each price bar represents and therefore changes the meaning of the pattern being compared.
| Current Chart | What the Engine Must Compare |
|---|---|
| M15 | Historical M15 price patterns |
| H1 | Historical H1 price patterns |
| H4 | Historical H4 price patterns |
| D1 | Historical daily price patterns |
For example, an H1 pattern and an H4 pattern may contain a visually similar sequence of candles, but each candle represents a different amount of market time. Mixing them would make the historical comparison less meaningful. Therefore, symbol · timeframe + price pattern form the basic identity of a historical comparison.
TF rather than an assumed value, and you should set it before treating the levels as meaningful.
10A.4 What the Engine Is Actually Learning From History
PatternForge is not learning a universal rule such as "this candle means BUY." It is measuring the behavior of comparable historical formations. The useful evidence comes from the collection of historical matches and their forward outcomes.
- Pattern similarity: how closely the historical price shape resembles the current shape.
- Historical outcomes: what happened after each comparable formation.
- Direction: whether BUY or SELL produced the stronger replay result.
- Sample size: how many completed historical examples support the result.
- Risk/reward structure: how the historical matches behaved against the defined stop and target.
- Current market context: live price, session, news, and other context can help qualify the setup, but they do not replace the historical replay evidence.
10A.5 The Evidence Ladder — why some BUY/SELL are labelled PROVISIONAL
The strength of a BUY/SELL depends on how many resolved analogue trades back it. v2.1.35 makes this explicit:
| Resolved analogues | Card result | Why |
|---|---|---|
| 0–2 | NO SIGNAL | Too few analogues reached a stop or target. Nothing can be judged. |
| 3–7 | HOLD — limited evidence | The replay leans one way, but the win rate is too uncertain to act on. Reference levels are shown, tagged not a trade. |
| 8–14 | PROVISIONAL BUY/SELL | A tradeable call, but with a prominent warning: the win rate rests on 8–14 resolved analogues. Passed to notifications, webhook payloads, and the alert log with a PROVISIONAL label. |
| 15+ | Normal BUY/SELL | Enough resolved analogues to sit above the provisional bar. Still not a guarantee — see the R:R math in §10. |
This ladder exists so a BUY with 9 resolved trades cannot quietly look like a BUY with 200.
status is operational — CONFIRMED simply means a replayed trade backed the call. evidence is the statistical grade: provisional (8–14 resolved) or normal (15+). A CONFIRMED signal with evidence: provisional is exactly the PROVISIONAL case above. The two must not be conflated in the UI or in webhook payloads.
Why is the threshold the same for Forex, Crypto, Indices, and Equities?
The evidence ladder is instrument-agnostic because it measures the engine's replay results, not the asset class. A 15-trade threshold means "we have 15 completed historical trades to measure the win rate." This operational bar applies equally to all assets.
Because crypto and indices often have shorter intraday history limits than forex, and because their shape structures can change more rapidly, they will naturally show the PROVISIONAL tag more often on lower timeframes (like M15) compared to major Forex pairs. This is by design. It is the engine honestly telling you that there is not enough historical data to give a "Normal" verdict on that specific chart. When deeper history is available, they will correctly upgrade to Normal.
10A.6 Why HOLD Is a Core Result
HOLD is not a failed signal. It is the engine's way of saying that the historical evidence does not justify a directional call at the current levels.
This can happen when there are too few completed comparable patterns, when similarity is too weak, or when BUY and SELL replay results do not provide a sufficient edge. In those situations, PatternForge should prefer HOLD or NO SIGNAL over a fabricated BUY or SELL.
10A.7 Where AI Fits
The optional AI layer is not the foundation of the signal. It can explain the setup in plain language, but it does not replace the quantitative historical engine. Entry, stop-loss, take-profit, and the core directional result come from the calculated/replayed evidence, not from an AI opinion.
In simple terms:
- Historical engine: determines the measurable evidence.
- Signal logic: converts that evidence into BUY, SELL, or HOLD when the evidence is sufficient.
- Risk layer: turns the setup into defined entry, stop, target, and position-size information.
- AI explanation: explains the result in natural language but does not override the calculated levels.
Part 11 — Finding the Symbol & Pinning It Manually
The extension tries, in order: (1) any symbol you've manually pinned for that website, (2) a dedicated method for well-known platforms, (3) a general-purpose search of the page. If all of that fails, the card shows a pin prompt — type the broker's own symbol, choose the timeframe, and click Pin & analyze.
11.1 MetaTrader Web Canvas Terminals
On the MetaTrader web terminal (including the newer metatraderweb.app and metatrader.app), the chart is a single canvas — no DOM node holds the symbol or timeframe. The extension detects this and shows a dedicated pin prompt instead of scanning the page.
The pin is saved per terminal. Once pinned, everything downstream works exactly as it does on any other platform, because quotes and history come from the data providers, not from the page.
Part 12 — The Journal & Automatic Trade Closing
Journaling happens two ways. (1) Mark a signal Win/Loss on the Signals tab of the Command Center. (2) Turn on Auto-log BUY/SELL signals to Journal under Settings → Chart Overlay; each new BUY/SELL from the card writes an OPEN row. Once a trade is logged, the background process checks open trades every 5 minutes (price alerts are checked every minute) and closes them when price reaches the stop or target, recording the outcome. The stop is checked first, then the target — if a single move could plausibly have touched both, the worse outcome is recorded.
This work happens in the background service worker, not in the chart tab, so a trade can close while you're on a different page, in a different tab, or with the browser minimised.
Auto-log identifies a setup by symbol + direction + timeframe only, so a one-pip tick does not re-log the same setup. If a journal row for that combination is already OPEN, nothing is written.
Broker sync (Pro+) is a read-only import of your closed-trade history and supports three brokers:
- OANDA — pull closed trades from the REST v3 API. Practice and live endpoints supported.
- Alpaca — pull closed orders. Paper and live endpoints supported.
- Interactive Brokers — pull fills from the local Client Portal Gateway. You'll need to run the gateway and may need to trust
https://localhost:5000once. IBKR fills are imported as journal rows; SL/TP may be blank because the gateway does not always return them.
Broker IDs are used to deduplicate on import, so repeated syncs do not create duplicate rows. Auto-sync runs every 15 minutes when enabled in Settings.
Imported rows are also written with outcome IMPORTED (see §5.4A) — they never count as wins until you mark them. IBKR fills are imported as IMPORTED rows; SL/TP are often blank because the gateway does not always return them, so the trade is not auto-resolved and must be marked by hand.
The trade-log API (Pro+) can POST your closed journal entries to a URL you set; it sends only your own journal data and nothing is sent to a broker.
12.1 Pre-Trade Checklist and Post-Trade Review
Clicking Log from a signal's Win/Loss buttons opens a five-item checklist. When a trade closes, a review prompt appears with tags. Both mechanisms exist for the same reason — they make the process visible, so your journal becomes a record of how you trade, not only what you traded.
Part 13 — Sharing a Setup
Press Shift+S or click Share. By default, the shared text does not include your direction or price levels — only the general product description and a link. Posting entry/stop/target publicly is effectively broadcasting a live signal to strangers, which is a different product with different liability, so it's off by design.
The "Save image card" option is different: it saves a PNG locally that does include your levels, because you chose to save it. The image is not uploaded anywhere.
Share targets include X / Twitter, Telegram, WhatsApp, LinkedIn, Reddit, Facebook, and the operating system's own share sheet on supported platforms. Copy text is also available if you'd rather paste into your own tooling.
Part 14 — Data, Privacy & Security
- All keys, settings, signals, journal entries, and cached history are stored privately on your own device.
- Keeping keys separate: any key you paste in is moved into its own private storage area (
pfSecrets), apart from your everyday settings (pfApiConfig), every time you save it. Reads merge them transparently; writes split them. A one-time sweep at startup migrates keys saved before this boundary existed. Your general settings never contain a saved key, even at rest. - Network safety: every outgoing request requires a secure connection (loopback exempt), enforces a timeout, retries safely a limited number of times, and caps how much data can come back at once. Market-data calls are serialised per provider so signal polling, the scanner, price alerts, and open-trade monitoring cannot collide into a burst of requests.
- Safe display: everything the extension draws — on the chart card, in the popup, the Command Center, chat, the report and the AlamToolKit window — is escaped and then cleaned, removing embedded scripts, frames, event handlers, and dangerous URL schemes. Symbols read from a web page are restricted to ticker characters.
- Order protection: the extension actively blocks any outgoing request that looks like it's trying to place, modify, or cancel an order — even through a custom address.
- No company backend. None of your trades, keys, signals or journal is ever sent to the publisher. The only request that goes to the publisher's website is the AlamToolKit window downloading the public page list from alamtoolkit.com — a plain request that carries no personal data.
- Site access is per site and optional. On sites that are not on the built-in list, the extension does nothing until you click "Enable on this site". Chrome then asks for access to that one site only, and you can revoke it at any time in Chrome's extension settings.
14.1 Backups — What They Do and Do Not Contain
Exports contain user data only (signals, journal, settings, alerts, accounts, symbol map, card preferences). API credentials are never included. There is no "credentials mode" — a file of live keys is not something the extension offers. The license key is also never included. Importing a backup is a Pro feature; imported content is validated and cleaned before it reaches storage.
14.2 Support Diagnostics
A diagnostics report can be generated from the extension that you can paste into a support message. It includes: schema version, extension version, enabled providers, credential-boundary status, license tier, recent provider errors (with failure class), current risk-day boundary, and read-only confirmation. No API keys are included.
Part 15 — How Position Sizing Works Per Instrument
| Instrument | Standard Position Size | Smallest Price Step | Notes |
|---|---|---|---|
| Major currency pairs | 100,000 units | 0.0001 | Standard currency lot. |
| Yen crosses | 100,000 units | 0.01 | Yen pairs use a different step size. |
| Gold (XAUUSD) | 100 ounces | 0.01 | Per standard CFD lot. Futures (GC) use 100 oz with $10/tick. |
| Silver (XAGUSD) | 5,000 ounces | 0.001 | Per standard lot. |
| US30 / NAS100 / SPX500 / GER30 / UK100 | 1 per point | 1 | Cash index contract. Futures use different multipliers. |
| Bitcoin (BTCUSD) | 1 per unit | 1 | Crypto. |
| Ethereum (ETHUSD) | 1 per unit | 0.1 | Crypto. |
Currency conversion: the chart-card sizer converts to your account currency when your account currency is the pair's quote or base currency, and otherwise withholds the lot size rather than silently assuming a one-to-one rate. If the instrument is unknown, sizing is withheld rather than computed on a guessed contract size.
Part 16 — Troubleshooting
| Symptom | Fix |
|---|---|
| Card shows a yellow PROVISIONAL pill | The BUY/SELL is real but rests on 8–14 resolved analogues (see §10A.5). Act on it with reduced size and extra caution. The card, popup, Command Center and any webhook payload will all say PROVISIONAL. |
| Card says NO SIGNAL (not HOLD) | Fewer than 3 resolved analogues at the current stop distance. Try a higher timeframe, a wider stop (Options → stop range factor), or a symbol with more history at that granularity. |
| Card says MARKET CLOSED | Forex, metals, indices and stocks are shut from Friday close to Sunday open (21:00 UTC during US DST, 22:00 otherwise). Crypto trades through the weekend. |
| Dropdown shows TF instead of a value | The chart's timeframe could not be confirmed from the page. Pick one from the dropdown; the choice is saved for this host. |
| Dropdown kept | Fixed in v2.1.35. The dropdown is a sticky analysis timeframe. See §3.1B. |
| Card shows "No symbol detected" | Use the manual pin (type the symbol, choose the timeframe, click Pin & analyze). On MT5 web the card shows a dedicated pin prompt. |
| Card says "Free tier" and shows a lock | You're on a third symbol. Free includes two symbols (any timeframe on each). Use the "Replace" button to swap one of your two free slots (5-minute cooldown), or unlock Pro for unlimited symbols. |
| Scanner says "No quotes retrieved" | Read the reason listed under each symbol. If it mentions Yahoo being rate-limited, paused or not answering, click "Test the Yahoo connection" and add a free Twelve Data or Finnhub key under API Keys. If it says "quotes retrieved — none reached Min Move Score", pick "All symbols". |
| Card says "Yahoo Finance is rate-limiting or unreachable… Paused" | Yahoo is not answering from your network. The extension pauses it for about 5 minutes and retries on its own. For a lasting fix add a free Twelve Data or Finnhub key under API Keys. |
| Card shows HOLD with "—" for Entry / SL / TP | Designed result when no replayed pattern backs a call. If the box says the market-data provider is slow or unreachable, reload the tab and wait a minute; for FX also add a free Twelve Data or Finnhub key. |
| "No market-data source enabled" | Open API Keys, add a key, turn the provider on. Yahoo / Binance / CoinGecko need no key. |
| Wrong price / wrong instrument | The provider matched a different instrument (a US ETF with the same ticker as an index, for example). Clear the symbol cache in API Keys. |
| "No key found" for written analysis | Go to API Keys, paste a key, save. |
| Signals stop updating | Check whether Pause is on. Pause is shared across the popup, Command Center and the chart keyboard shortcut. |
| Keyboard shortcut does nothing | Letter shortcuts need Shift (e.g. Shift+R) and are ignored while a text box has focus. Strategy finder, performance stats and the watchlist hotkey are Pro features. |
| Card disappeared | You may have muted that symbol, or the confidence is under your floor. Unmute / lower the floor in Options. |
| "Order blocked" message | The extension is read-only and refuses anything resembling an order, including via a custom address. |
| HOLD for a long time | That is a finding, not a failure. Try a different timeframe, or a symbol with more history at that granularity. |
| Optimizer says "not enough data" | Walk-forward requires a meaningful number of bars. Use a higher timeframe or enable a provider that supplies more history. |
| Spread looks optimistic on Pair Score | Estimated unless a bid/ask is available on the page. The card marks it "spread est." in that case. |
| AlamToolKit window says "Could not sync" | Check your connection and click Sync Now. The list comes from alamtoolkit.com/sitemap-pages.xml. |
| Journal shows trades as IMPORTED | Expected for Alpaca/IBKR/CSV imports with no result figure. Mark Win/Loss yourself on the Signals tab (or here) to bring them into the win rate. This is deliberate: a broker order is not a win. |
| Win rate dropped after updating to 2.1.35 | Old builds saved untouched imports as WIN. 2.1.35 re-labels them once to IMPORTED, which corrects an inflated number. |
Part 17 — Quick Reference
- Install, then open a chart.
- Go to API Keys and add a data provider, or rely on the free option that needs no key.
- The card appears with a BUY / SELL / HOLD call.
- Press Shift+R for Remarks, Shift+P to size the position, then journal the trade via the Signals tab (or turn on Auto-log).
- Press Shift+D weekly (Pro) to review your expected outcome and best sessions.
- Press Shift+E before logging, to check for high-impact news.
Most useful keys: Shift+R (Remarks), Shift+P (Sizer), Shift+D (Stats, Pro), Shift+W (Scanner, Pro), ? (Options), Esc (close).
17.1 Where Your Data Lives, in One Paragraph
API keys are stored in a separate area (pfSecrets) from your settings (pfApiConfig), every time you save. Reads merge them transparently; writes split them. A startup sweep migrates keys saved before this boundary existed. Backups contain no keys and no license. None of your trading data, keys or journal is sent to the publisher. The extension will refuse any outbound request that resembles order placement, including via a custom endpoint.
17.2 What Is Estimated vs Measured
- Measured: direction, similarity, historical win rate, expectancy, replay outcomes, R multiples, resolved count, 95% confidence interval, session clock, daily risk figures.
- Measured but thin (labelled PROVISIONAL or "limited evidence"): any win rate resting on 8–14 resolved analogues, or any reference lean on 3–7.
- Estimated (and labelled as such): the spread component of the Pair Score, when no bid/ask is available on the page. Marked with a small "spread est." note.
- Derived, not measured: the composite Score is a weighted blend of three measured inputs (similarity 40% + win rate 40% + resolved-sample size 20%) and must not be read as a probability.
- Visualisation only (not a forecast): the recent-close sparkline, the session timeline, the multi-TF bars.