Notion Trading Journal Template: The Fields Behind a +276.5% Range
A Notion trading journal template for small-cap traders: the four databases, formulas and session fields that explain CHOW's +276.5% range and MEGL's red close.
TLDR
- A Notion trading journal template only works for small caps if it records the stock's whole day next to your fills. That means pre-market range, regular-session open, high, low and close, plus the after-hours close. A P&L column can't show what you left on the table.
- Use four linked databases: Trades, Session Snapshots, Catalysts & Filings, and Weekly Reviews. Relations tie them together so each ticker-day carries its full context.
- Three worked examples from last week (Oct 26-Oct 30): CHOW's +276.5% low-to-high range on 69.0M shares the day its private placement closed, ONEG's +136.2% range on 109.7M shares with no identified catalyst, and MEGL's +313.0% range on a day it closed -51.5%.
- The costliest journal mistake is logging the range without the order of events. MEGL's $0.95 high printed in pre-market, and the regular session never traded above its $0.69 open.
- Notion is a strong place to review trades and a weak place to capture them. Typing fills by hand is where most templates die. Pair Notion with an auto-sync journal, or use one journal that does both.
What Is a Notion Trading Journal Template?
A Notion trading journal template is a ready-made set of linked Notion databases (usually trades, daily notes and reviews) with properties and formulas that turn your fills into P&L, setup statistics and review prompts. Most free templates are built for swing trading or forex. For small caps, they leave out the fields that actually explain your results.
The typical template gives you Ticker, Date, Entry, Exit, Shares, P&L, Setup, Screenshot and Notes. That is a ledger. It records what happened to your account, not what happened to the stock, and in small caps the stock's day is the whole story. Take a $2 stock that runs to $7, closes at $4.40 and drifts lower after hours. That is at least three different trades depending on when you held it, and a P&L column can't tell them apart.
I've rebuilt my own journal more times than I'd like to admit. Each rebuild added fields to answer a question the old version couldn't. Why did I lose on a day the stock ran 200%? Why do my pre-market entries beat my entries at the open? Why do I keep buying names that have an active shelf registration? The template below came out of that process, and the worked rows are real ticker-days from last week. For the general version of this framework, see How to Journal Your Trades: A Complete Framework for Small-Cap Traders.
The Concept: Your Journal Has to Record the Stock's Day, Not Just Yours
Every trade row should link to a snapshot of the session it happened in, plus the filings and catalysts behind that session. Without that link, your journal is a list of outcomes with no causes attached.
I organize every small-cap journal into four layers:
- Execution layer: your fills. Side, entry time, entry price, exit time, exit price, size, planned stop.
- Session layer: the stock's day. Pre-market high, regular-session open, high and low with timestamps, regular-session close, after-hours close, volume, RVOL and float.
- Context layer: why the stock was moving. Catalyst (press release, 6-K or 8-K filing, offering supplement), dilution status (shelf, ATM, warrants, convertibles), cash runway tier, sector and the macro backdrop.
- Review layer: what you learn. Setup tag, MFE capture %, rule adherence, mindset, and one sentence on the lesson.
Why the session layer matters: MFE capture. MFE capture is the share of the available move you actually banked:
MFE capture = (exit - entry) / (highest print after entry - entry)
A simple example: you enter at $1.00, exit at $1.20, and the stock prints $1.50 after your entry. You captured 40% of the move. That's a 20% winner and a 60% leak at the same time. Across a few dozen trades, average MFE capture tells you whether you have an entry problem (low MFE overall) or an exit problem (high MFE, low capture). P&L alone can't separate the two.
Why the context layer matters: small caps move on supply. A company in the negative cash (operating in the hole) runway tier with an active shelf trades differently from one with 12+ months of runway and no paper overhead. Across the small-cap universe there are ~6,200 active warrant facilities, ~3,300 active shelves and ~2,200 active ATM programs. Odds are good that a ticker you trade has registered paper sitting above it. If your journal doesn't log that, you'll never notice that your losers cluster in names with live ATMs.
Why timestamps matter: order of events. A low-to-high range doesn't care whether the high came first. Your account does. If the high printed pre-market and the low printed at 2 PM, the range shows a +300% number that no long trade could ever have captured. Two timestamp properties (time of high, time of low) fix this permanently.
Session vocabulary is part of the template. Bare 'Open' and 'Close' mean the regular 9:30 AM-4:00 PM ET session. Pre-market and after-hours values get their own clearly labeled properties. If you type the after-hours print into your Close field even once, every gap statistic built on that field is wrong.
How to Build the Template in Notion: Databases, Properties and Formulas
Build four databases, connect them with Notion relations, and keep the number of properties small enough that you actually fill them in every day. Here is the schema I use.
| Database | Property | Type | Why it exists |
|---|---|---|---|
| Trades | Ticker, Side, Entry, Exit, Shares, Stop | Text / Select / Number | Execution layer |
| Trades | Entry Time, Exit Time | Date (with time) | Pre-market, open, midday or power hour breakdowns |
| Trades | Post-Entry High | Number | Feeds MFE capture |
| Trades | Setup | Select | One tag per playbook setup |
| Trades | Session | Relation to Session Snapshots | Links the trade to the stock's day |
| Session Snapshots | Pre-Mkt High, Open, Mkt High, Mkt Low, Close, AH Close | Number | Session layer, labeled by session |
| Session Snapshots | High Time, Low Time | Date (with time) | Order-of-events flag |
| Session Snapshots | Volume, RVOL, Float | Number | Liquidity and supply context |
| Catalysts & Filings | Form Type, Filing Date, Headline | Select / Date / Text | Context layer: 6-K, 8-K, 424B5, S-3, Form 4 |
| Catalysts & Filings | Runway Tier, Active Facilities | Select / Multi-select | Dilution context |
| Weekly Reviews | Trades (relation), Avg MFE Capture (rollup) | Relation / Rollup | Review layer |
The formulas use Notion's current formula syntax:
Net P&L
if(prop("Side") == "Long", (prop("Exit") - prop("Entry")) * prop("Shares"), (prop("Entry") - prop("Exit")) * prop("Shares"))
MFE Capture
(prop("Exit") - prop("Entry")) / (prop("Post-Entry High") - prop("Entry"))
R-Multiple
(prop("Exit") - prop("Entry")) / (prop("Entry") - prop("Stop"))
Open-to-High Range (Session Snapshots)
(prop("Mkt High") - prop("Open")) / prop("Open")
Order-of-Events Flag (Session Snapshots)
if(dateBetween(prop("Low Time"), prop("High Time"), "minutes") > 0, "High first", "Low first")
Three saved views do most of the work in weekly review:
- Red close, wide range: filters Session Snapshots where Close is below the prior close and Open-to-High Range is above 50%. These are the days where timing mattered more than direction.
- Filing days: groups Catalysts & Filings by Form Type, with a rollup of the P&L from linked trades. This shows you which form types you make money on and which you donate into.
- Setup board: a board view of Trades grouped by Setup, sorted by average MFE Capture.

Worked Example #1: CHOW on October 30, a Range Driven by a Filing
CHOW shows why the context layer matters: the day it ran +276.5% low-to-high was the same day it announced the closing of a private placement, and the paper trail started three days earlier. A journal that links the Oct 27 filing to the Oct 30 session makes the move readable instead of random.
Here's the session as it would appear in your Session Snapshots database:
| Property | CHOW, Oct 30 (last week) |
|---|---|
| Pre-market range | $2.00-$2.13 |
| Open | $2.07 |
| Regular-session high | $7.38 |
| Regular-session low | $1.96 |
| Close | $4.40 |
| After-hours close | $3.75 |
| Volume | 69.0M |
| Regular-session change | +112.6% |
| Low-to-high MFE | +276.5% |
| Runway tier | negative cash (operating in the hole) |
The Catalysts & Filings database would hold two linked entries. On Oct 27, CHOW filed a 6-K and put out a press release titled 'ChowChow Cloud International Holdings Limited Provides Further Update Regarding Previously Announced Private Placement.' On Oct 30 came a second 6-K filing and the press release 'ChowChow Cloud International Holdings Limited Announces Closing of Previously Announced Private Placement.' Across the full week, CHOW closed +109.0%, from $1.99 to $4.16, with peak daily volume of 68,953,306 shares (post-split rebase).

The profit math. A $10,000 position capturing the full low-to-high range would have returned $27,650 (+276.5%). Nobody buys the exact low and sells the exact high. The realistic question your journal answers is where you were in that range. The open at $2.07 sat just above the $1.96 regular-session low and inside the $2.00-$2.13 pre-market range. The close came in at $4.40, and after hours drifted to $3.75. A trader who held the close into after hours watched part of the move disappear. Your MFE capture formula puts a number on exactly how much.
Both sides of the dilution trade. CHOW sits in the negative cash runway tier, and the catalyst was a financing. Buying a company that is selling stock is a real risk: the new shares become supply, and the after-hours fade from $4.40 to $3.75 shows how quickly bids thin out. The flip side is that financing events often come with a push higher around the deal, and fast traders who treat the filing as a timing signal can trade that run. Your journal should tag both outcomes so you learn which side of the trade you're actually good at.
How you could have caught this before it ran. The Oct 27 6-K and placement update went out three trading days before the Oct 30 move. If every 6-K and 8-K on your watchlist names goes into the Catalysts & Filings database the day it's filed, CHOW is already on your radar with its runway tier attached before the session starts. The full scanner context for that session is in CHOW's +276.5% Profit Potential Led 20 Tickers With 5x+ RVOL on October 30.

Worked Example #2: MEGL and ONEG, Range Without Sequence
MEGL and ONEG had similar-looking ranges last week, but the order of events was opposite. That is exactly why your Session Snapshots database needs timestamps for the high and the low.
MEGL, Oct 27 (last week). MEGL traded 37.1M shares, 2924.9x its average daily volume. The pre-market high was $0.95. The regular session opened at $0.69, its regular-session high was also $0.69, it sank to a $0.23 low and closed at $0.33, a -51.5% regular-session close. The full-day low-to-high MFE reads +313.0%. On paper, a $10,000 position would have returned $31,300 (+313.0%).
That number is a range, not a trade. The $0.95 high printed in pre-market, and the $0.23 low printed later during the regular session. Your order-of-events formula flags this row as 'High first.' A long from the $0.69 open never saw a higher print during the regular session. The only long trade available was in pre-market. The catalyst was not identified in available press releases, and MEGL sits in the 12+ months runway tier. That's a useful journal entry too: a 2924.9x volume spike with no press release and no cash pressure is a different setup from CHOW's financing day.
ONEG, Oct 30 (last week). ONEG ran the other way. Pre-market traded $0.78-$0.88. The open at $0.86 was also the regular-session low, the regular-session high was $1.79, the close was $1.63, and after hours closed at $1.48. Volume reached 109.7M shares, which puts ONEG among the stocks that traded over 100 million shares that week. The low-to-high MFE was +136.2%. Capturing all of it would have returned $13,620 (+136.2%). Because the open was the regular-session low, a long at the open had the whole session's range above it. Across the week, ONEG closed +97.6%, from $0.82 to $1.62. The catalyst was not identified in available press releases, and the runway tier is 12+ months.

Side by side, as journal rows:
| Field | CHOW (Oct 30) | ONEG (Oct 30) | MEGL (Oct 27) |
|---|---|---|---|
| Pre-market | $2.00-$2.13 | $0.78-$0.88 | High $0.95 |
| Open | $2.07 | $0.86 | $0.69 |
| Regular-session high | $7.38 | $1.79 | $0.69 |
| Regular-session low | $1.96 | $0.86 | $0.23 |
| Close | $4.40 | $1.63 | $0.33 |
| After-hours close | $3.75 | $1.48 | not available |
| Volume | 69.0M | 109.7M | 37.1M |
| Low-to-high MFE | +276.5% | +136.2% | +313.0% |
| Catalyst | 6-K filings, private placement closing | Not identified | Not identified |
| Runway tier | negative cash (operating in the hole) | 12+ months | 12+ months |
| Sequence note | Log timestamps | Open = regular-session low | Pre-market high, regular-session low |
The largest MFE of the three was the least tradable for a long. If your journal sorts by MFE alone, MEGL looks like the best opportunity of the week. If it sorts by the order-of-events flag, MEGL drops out of your long-setup stats completely. The same lesson, worked through from a backtesting angle, is in How to Backtest a Trading Strategy: The +897.1% MFE That Was Never Tradable.
Notion vs Spreadsheet vs Auto-Sync Journal: A Trading Journal Software Comparison
Notion beats a spreadsheet for linked notes and reviews, and loses to an auto-sync journal for capturing fills and running analytics. Most serious traders end up using two layers: automated capture plus a written review space.
| Capability | Spreadsheet | Notion template | Auto-sync journal (SNACS) |
|---|---|---|---|
| Fill capture | Manual or CSV paste | Manual or CSV import | Auto-sync from 8 brokers |
| Session data (pre-market, open, high, low, after hours) | Manual | Manual | Pulled from market data |
| P&L and R-multiple formulas | Strong | Adequate | Built in |
| Linked notes, playbook docs, reviews | Weak | Strong (relations, rollups) | Per-trade review, setup tags, mindset logging |
| Breakdowns by hour, session, price range | Pivot tables | Hard | Built-in dashboard |
| Pattern detection across your trades | None | None | AI Insights |
| Daily maintenance | High | High | Review only |
The honest answer: Notion is excellent for the review layer and the playbook write-ups. Relations and rollups let a Weekly Review page pull every trade, every linked filing and every session snapshot onto one screen. Where it breaks down is capture. After an 11-trade morning, nobody wants to type 11 entries, 11 exits, 22 timestamps and 11 session snapshots. Templates die in week three because of data entry, not design.
The SNACS trading journal handles capture by syncing from Interactive Brokers, Schwab, Webull, Robinhood, E*TRADE, Fidelity, TradeStation and Tradier. Its dashboard breaks results down by day, hour, session and price range. AI Insights reads your history and surfaces your best setups, your worst time of day, your MFE capture rate and how your logged mindset lines up with results. Many traders keep their Notion workspace for playbook docs and long-form weekly reviews, and let the synced journal own the numbers.

Common Pitfalls: What Most Traders Get Wrong With Journal Templates
The most common failure is a journal that records outcomes without causes, followed closely by a journal that's too heavy to keep up. Here's what I see over and over, including in my own old versions.
1. Logging P&L instead of the session. A +$400 day on CHOW tells you nothing if you don't know whether you caught $2.07 to $4.40 or bought $6 and sold $4.40. Every trade needs its session snapshot.
2. Logging the range without the sequence. MEGL's +313.0% range on Oct 27 included a high that came before the low. Without timestamps, your setup statistics count untradable ranges as missed opportunities, and you start chasing setups that never existed.
3. Mixing session closes. CHOW closed at $4.40 and after hours closed at $3.75. Type $3.75 into the Close field and your hold-overnight statistics are built on the wrong number. Keep Close and AH Close as separate properties.
4. Skipping the context layer. If CHOW's two 6-K filings and its negative cash runway tier aren't in the journal, you can't run the filter that matters most for small caps: your P&L on financing days versus days with no catalyst.
5. Journaling only the winners and the trades you took. Last week also produced JDZG -91.5% ($6.16 to $0.53 on 16,944,622 shares), ABOS -89.3% ($2.25 to $0.24 on 68,104,967 shares) and AXG -80.5% ($9.30 to $1.81 on 317,980,833 shares, post-split rebase). It was a runner-heavy week, with 43 runners of 50% or more against a 4-week baseline of ~7.8 per week, and tapes like that make it easy to remember the runners and forget the collapses. Add a Watchlist Log database for names you watched but didn't trade, so your review includes the bullets you dodged and the moves you missed.
6. Template bloat. Forty properties feel thorough on day one and turn into empty cells by day ten. My rule: if a property stays blank for ten straight trades, delete it.
7. Treating the template as the system. A template is storage. The system is the routine of filling it in before the open, during the trade and after the close. A plain template you use daily beats a beautiful one you open on Sundays.
How to Play This: Turning the Journal Into a Trading Edge
The journal pays off when it changes your next trade. The way it does that is by turning review findings into pre-trade rules. Here's the framework.
- Fill the pre-trade fields before you enter. Setup tag, planned stop, catalyst and runway tier go in first. If you can't name the catalyst, the Catalyst field reads 'Not identified', just like the ONEG and MEGL rows, and you size accordingly.
- Separate filing-day trades from no-catalyst trades. After a month, compare average MFE capture between the two groups. Many small-cap traders find they're great on clean momentum and give it back on financing days, or the other way around. The journal tells you which group you belong to.
- Use the order-of-events flag to choose your session. If your 'High first' rows keep showing up on pre-market spikes, your edge (or your leak) is in pre-market. Write that down as a rule.
- Log the macro backdrop as a select property. Use the macro call verbatim: Risk-Off / Consolidation, Risk-On and so on. Then compare your results by backdrop. Defensive backdrops call for tighter stops and smaller size until breadth recovers, and your own numbers will confirm or challenge that.
How to Find These Setups and Fill the Journal Faster
The fastest journal is the one where the context layer is already gathered before you trade. Here's how to source each layer with SNACS tools.
Scanner for the session layer. In the SNACS scanner, set RVOL to 5x minimum, price $0.50-$20, and add a volume floor that fits your size. Turn on the Dilution Alerts and Cash Runway columns. Save it as a named scan, then link it to a Dynamic Watchlist so matching tickers populate automatically all day. Every name that lands there gets a row in your Watchlist Log.
Ticker details page for the context layer. Click any ticker to open the ticker details page: chart, dilution risk panel (active shelf, ATM and warrant facilities), recent news and SEC filings in one place. That's your Catalysts & Filings entry, gathered in a few seconds. For deeper work, the Dilution Snapshot in SEC research shows active facility counts, shares at risk and the lowest exercise price. Dilution Alerts in the scanner and the Dilution Snapshot are two routes to the same data.
Playbook for the setup tag. Build each setup in the AI Playbook Builder and use the playbook's name as your Setup property. When a playbook matches live, a star shows up next to the ticker in the scanner, and your journal tag lines up exactly with the rule that fired.
Data API if you insist on Notion. If you want to keep Notion as your only journal, a small script built on the Data API can fill the session and context layers for you: daily OHLCV, plus filing-sourced float, cash and active-facility data, with the source filing attached to every number. The API gives you data and provenance. It doesn't tell you what to trade.
What to Watch Next
The next useful step is to log the macro backdrop and fresh filings alongside every trade, because both shift faster than most templates get updated. Here's the current picture to record.
The macro call is Risk-Off / Consolidation. Russell 2000 (IWM) closed at $279.14, -8.5% from its 52-week high of $305.18, up +0.8% over 5 days and down -1.5% over 20 days. Nasdaq 100 (QQQ) sits at $681.09, -10.7% from its 52-week high of $762.86. S&P 500 (SPY) is at $752.10, -3.8% from its 52-week high. Small caps holding up better than the Nasdaq over five days is worth tracking in your Macro property.
Pattern activity was below the 90-day norm: 109 pattern events in the seven days to November 3, against a 90-day weekly average of 158.2. Within those, 28 were stocks that doubled intraday from their session low, and 19 were stocks that traded over 100 million shares.
On the filing side, the three days leading into November 3 brought 3 424B5 pricing supplements (BIAF, GMM, HTO), 2 S-3 shelf registrations (CERS, ENVX), 1 S-3/A (BNGO) and 182 8-K filings from 174 unique tickers. Insiders at FOR filed 9 Form 4s in the same window. Each of these belongs in your Catalysts & Filings database before the names trade, not after. That's how the CHOW-style link from filing to session gets made ahead of time. For the dilution-plus-range framework applied to trade selection, read How to Make Money With Penny Stocks: Trade the +282.1% Range, Not the Close. For definitions of every field, see What Is a Stock Trading Journal?.
FAQ
Is there a good Notion trading journal template for day trading small caps?
A good Notion trading journal template for small caps has four linked databases: Trades, Session Snapshots, Catalysts & Filings, and Weekly Reviews. Its properties cover pre-market high, regular-session open, high and low with timestamps, close, after-hours close, catalyst and runway tier. Most free templates only track entry, exit and P&L, which isn't enough to explain small-cap results.
What fields should a day trading journal include?
At minimum: side, entry and exit price and time, size, planned stop, setup tag, the stock's session data (pre-market range, open, high, low, close, after-hours close, volume) and the catalyst or filing behind the move. Add MFE capture and a one-line lesson for review. Drop any field you leave blank for ten straight trades.
How do I calculate MFE capture in Notion?
Create a formula property: (prop("Exit") - prop("Entry")) / (prop("Post-Entry High") - prop("Entry")). It returns the share of the available move you banked. If you entered at $1.00, exited at $1.20 and the stock printed $1.50 after your entry, MFE capture is 40%.
Can Notion import trades from my broker automatically?
No. Notion has no native broker sync, so you either type fills by hand or import a CSV export. That manual step is the main reason Notion journals get abandoned. An auto-sync journal like the SNACS trading journal pulls fills from 8 brokers automatically.
Is Notion better than a spreadsheet or dedicated trading journal software?
Notion is better than a spreadsheet for linked notes, playbook docs and weekly reviews, and worse than dedicated trading journal software for fill capture and analytics. Many traders use dedicated software for the numbers and Notion for long-form review.
How should I log a stock that closed red but had a big range?
Log the full session plus timestamps for the high and the low, then record whether the high came first or the low came first. MEGL closed -51.5% on Oct 27 with a +313.0% range, but its $0.95 high printed in pre-market before the $0.23 regular-session low, so a long from the open had no upside.
Should I log SEC filings in my trading journal?
Yes. Filings are the most common real catalyst in small caps, so every 6-K, 8-K, 424B5 and S-3 on your watchlist names belongs in a linked Catalysts & Filings database. CHOW filed 6-Ks on Oct 27 and Oct 30 around its private placement, and the Oct 30 session ran +276.5% low-to-high.
How often should I review my trading journal?
Review each trade the same day while the context is fresh, and do a structured weekly review every weekend. The weekly pass is where rollups such as average MFE capture by setup, by session and by catalyst type turn into rules for the next week.