Free version of the TradeJournal Indicator.
TradeJournal is a chart-based trading journal for NinjaTrader 8 that automatically tracks your trades and displays real-time performance statistics directly on the chart.
Optional CSV and HTML reports can be exported automatically to a user-defined folder.
Instead of exporting trades later or maintaining a separate journal, this indicator logs everything as you trade and gives immediate feedback on performance, discipline, and risk management. automatically exports as csv/html into a user defined folder. Journal data persists across platform restarts, connection interruptions, chart reloads, and indicator removal or re-addition. data for persistence is saved into %USERPROFILE%DocumentsNinjaTrader 8TradeJournal
AI use disclosure: Since this is a .cs file that is editable by other people, AI was asked at the end of the project to annotate and add comments to the code, the comments have not been evaluated for accuracy.
AI model used = Claude Opus4.6
TradeJournal is not intended for use in Automated Trading Strategies (ATS), It has been developed with only manual execution in mind and compatibility with ATSs has not been evaluated. Testing was performed using NinjaTrader 8 Market Replay with random manual order execution.
Features:
The basics:
Nearly all features are configurable, toggleable, or both.
To start, the indicator can be configured to be in the top left/right or bottom left/right side of the screen, along with optional tunable warnings having those same options. All features of the indicator can be calculated in ticks, points, or currency. It can be configured to reset daily, weekly, monthly, on different sessions, and with a configurable time at which it resets. the indicator will still show daily, monthly, and weekly stats.
Breakdown:
- Automatic Trade Detection
- Subscribes directly to Account.ExecutionUpdate
- Reconstructs trades using FIFO lot matching
- Works with:
- Manual trading
- Chart Trader
- ATM strategies
- SuperDOM trading
- Handles:
- scale-in entries
- scale-out exits
- partial fills
- reversals
- Real-Time Trade Journaling
- Trades recorded when the position closes
- Tracks:
- entry time
- exit time
- direction
- quantity
- entry/exit price
- points P&L
- tick P&L
- currency P&L
- commissions
- duration
- risk-reward
- MAE / MFE
- Trades are automatically numbered and marked on the chart.
- Live Performance Panel
- Floating chart panel showing session performance metrics
- Updates instantly after each trade
- Configurable size, position, and opacity
- Fixed-width layout for readability
Core Performance Stats
- Total trades
- Wins / losses / break-evens
- Win rate %
- Session P&L
- Average win
- Average loss
- Profit factor
- Biggest win
- Biggest loss
- Current streak
- Longest winning streak
- Longest losing streak
- Average trade duration
- Maximum drawdown
Multi-Contract Accurate Statistics
- P&L metrics are position-weighted
- Statistics correctly reflect:
- multi-contract trades
- partial exits
- scale-ins
- reversals
This ensures panel statistics match real account performance. Trade Markers on Chart
TradeJournal can display visual trade markers.
Optional elements:
- Exit arrows
- Trade numbers
- Profit/loss labels
- Risk-reward values
Labels include:
- trade number
- P&L in points
- P&L in dollars
- quantity multiplier
- achieved R:R
Example label:
#7 +4.5pts x2 (+$225) 2.1R
Risk-Reward Analytics
Each trade calculates:
- Planned R:R
- Actual R:R
Additional metrics:
- Average R:R
- Average profit given back
- Percentage of MFE captured
This helps traders evaluate exit discipline and trade management quality.
MAE / MFE Tracking
TradeJournal records:
- MAE (Maximum Adverse Excursion)
- MFE (Maximum Favorable Excursion)
These values are calculated in real-time while the trade is open.
Metrics available:
- MAE
- MFE
- average MAE
- average MFE
- profit given back
This allows analysis of:
- stop placement
- exit timing
- trade management efficiency
Psychology & Discipline Alerts
The indicator includes behavioral risk monitoring.
Alerts can trigger when: Daily Loss Limit
Warning appears if session loss exceeds configured limit. Maximum Trades
Warning when maximum trades per session reached. Consecutive Losses
Alert after a configurable number of losing trades. Revenge Trading
Detects rapid re-entries after a losing trade. Break Reminder
Prompts traders to step away after:
- extended session duration
- consecutive losses
Alerts appear as visible warnings on the chart.
Overtrading Score
TradeJournal computes a real-time overtrading score (0–100) based on:
- number of trades
- loss streaks
- average time between trades
Score interpretation:
- 0–30 Safe
- 30–60 Caution
- 60–100 Danger
This helps identify impulsive trading behavior.
Daily Profit Target Tracker
Visual progress bar showing progress toward daily goal.
Displays:
- percentage to profit target
- current P&L progress
- loss-limit progress
Helps enforce disciplined trading limits.
Session Performance Comparison
TradeJournal tracks multiple sessions for performance benchmarking.
Comparison panel includes:
- today’s performance
- yesterday’s session
- 7-day averages
- weekly P&L
- monthly P&L
Metrics tracked:
- trades
- wins
- losses
- P&L
Automatic Account Detection
TradeJournal automatically selects the correct account.
Modes available:
- Auto detection
- Playback account
- Sim account
- Live account
- Specific account name
Auto mode prioritizes:
- Playback
- Live
- Simulation
This prevents incorrect account selection.
Trade Persistence
The indicator saves journal state automatically.
Persisted data includes:
- completed trades
- session statistics
- open trade lots
- session history
- weekly and monthly stats
State is restored automatically when:
- NinjaTrader restarts
- charts reload
- indicators reinitialize
Overnight Position Handling
Open positions persist across session resets.
Behavior:
- open trades are not split between sessions
- trade is recorded entirely when it closes
- the closing session receives the full P&L
This matches NinjaTrader’s native performance model.
Session Reset Options
TradeJournal supports multiple reset modes.
Available reset triggers:
- Daily reset
- Weekly reset
- Monthly reset
- New York session open
- London session open
- Asian session open
- Manual reset
Custom reset time is configurable.
HTML Performance Reports
Optional automatic HTML report generation.
Reports include:
- summary statistics
- trade log
- win rate
- profit factor
- drawdown
- P&L
- duration
- risk-reward
Reports are saved automatically at session reset.
CSV Export
Trade data can be exported automatically.
CSV includes:
- entry/exit times
- direction
- quantity
- entry/exit price
- P&L points
- P&L ticks
- P&L currency
- commission
- MAE
- MFE
- R:R
- duration
- profit given back
- MFE capture %
Files can be imported into:
- Excel
- Google Sheets
- external analytics tools
Multi-Instance Safety
The indicator prevents duplicate trade recording.
Protection methods:
- execution ID deduplication
- global execution cache
- automatic cleanup of old execution IDs
This prevents multiple chart instances from counting the same trade twice.
Thread-Safe Persistence
State saving is protected with:
- async write queue
- save throttling
- file locking
- thread synchronization
This prevents file corruption when multiple events trigger saves.
Instrument Safety
State files are tied to the specific instrument.
If a chart loads a different contract (e.g. rollover):
- saved state is ignored
- a new journal session begins
This prevents mixing trades across contracts.
Configurable Interface
Users can customize:
- panel size
- panel position
- panel opacity
- font size
- color scheme
- statistics visibility
- marker display
Limitations
The following limitations apply.
Chart size
in windowed chart mode, the chart may not be fully visible if the font size is large enough in comparison to the size of the chart window. Reducing font size is the recommended solution. Historical Trades
TradeJournal does not reconstruct historical trades that occurred before the indicator was loaded.
It only records trades while the indicator is running.
Account Reconciliation
The indicator does not reconstruct trades that occurred while it was offline.
If the indicator starts while a position is already open:
- the existing position will not be journaled correctly until closed
Multi-Account Trading
The indicator tracks executions for one selected account only.
Simultaneous trading across multiple accounts is not supported in a single instance.
Data Scope
Statistics apply only to the chart’s instrument.
Trades in other instruments are not included.
| Created By | NullPointStrategies |
| NinjaTrader Version | 8 |
| File Size | 20.5 KB |
| Create Date | 03/13/2026 |
| # of Downloads | 8 |
Importing to NinjaTrader 8 is Easy!
To import your 3rd party app or add-on to NinjaTrader, simply follow these 3 steps:
- Download the app or add-on file to your desktop
- From the NinjaTrader Control Center window, select the menu Tools > Import > NinjaScript Add-On…
- Select the downloaded file from your desktop
Questions?
Visit the NinjaScript File Sharing discussion in the NinjaTrader user forum to interact with fellow traders and the NinjaTrader support team.