Agentic Trading Lab
Talk to agents, and test trading ideas. Try AI trading agents on real market data with no code required.
AI translation
Auto-sync every MT5 trade, see your P&L calendar, and get AI coaching from Claude per instrument. Free, open source, runs locally.
FinancePython · TypeScriptGitHub @gillani-helloOnlineOwner 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
Free, open-source trading journal for MetaTrader 5 (MT5): auto-syncs every trade, P&L calendar, trade journal with screenshots, per-instrument analytics, behavioural red flags and an AI trading coach (Claude via MCP). Runs locally; your data stays private.
Taken from the repository README
Loading the full README.
Read the full README ↗Every MetaTrader 5 trade syncs automatically. Review your P&L calendar, journal your setups and emotions, and get AI coaching from Claude on what's working and what's losing you money, instrument by instrument.
Free forever · Open source (MIT) · Runs on your own computer · No subscription · No cloud account · Your data stays private
Website · Demo video · Features · Quick start · Claude AI coach · FAQ · Support ❤️
Most trading journals are paid web apps that want your broker login, or spreadsheets you stop updating after a week. AI Trading Journal is different:
Balance, equity, open P&L, today's result and all-time return, reconciled against MT5 to the cent. Win rate, profit factor, expectancy, average R and max drawdown come with comparisons to the previous period. You also get the balance curve, daily P&L, and breakdowns by instrument and session. Pick 7D, 30D, 90D, 1Y or All, or any custom date range.
Every day is shaded by its result, with the trade count and win rate, plus weekly totals. Click a day to see its trades and write your pre-session plan, post-session review and mood.
Each symbol gets a verdict (edge, leaking, breakeven or too few trades), its own equity curve, and breakdowns by session, weekday, direction, setup, exit type, hold time, emotion and mistake. Plain-English insights come with it, e.g. "XAUUSD: Asia session accounts for −$1,978 (0% win rate) while Overlap is +$46." Broker suffixes like EURUSD.m, XAUUSD+ and #US30 are merged automatically.
| Flag | What it catches |
|---|---|
| Revenge trading | New trades opened within N minutes of a losing close, especially at a bigger size |
| Overtrading | Trades beyond your daily limit |
| No stop / stop added late | Positions opened unprotected, even if you add a stop afterwards (common on mobile) |
| Stop widened | Stops moved further from entry on losing trades |
| Loss beyond plan | Losses bigger than 1R |
| Holding losers | Losers held much longer than winners |
| Early exits | Winners that kept less than 40% of their best open profit |
| Sizing up after a loss | The next trade after a loss is much bigger than usual |
| Losing sessions and weekdays | Times of day or days of the week that consistently lose |
Weekly, monthly, per-instrument and per-trade reviews: strengths, weaknesses, psychology, a concrete action plan, and if/then rules for each instrument. Each review is backed by your journal's numbers and checked against your own written trading rules. How it works ↓
flowchart LR
MT5["MetaTrader 5<br/>+ TradeJournalSync EA<br/>(read-only)"] -- "JSON / CSV files<br/>every new deal" --> J["Journal engine<br/>(Python · SQLite)"]
J --> UI["Web app<br/>localhost:8000"]
J <--> MCP["MCP server"]
MCP <--> C["Claude Desktop /<br/>Claude Code"]
You(("You")) --> UI
You -- "voice or text" --> C
Common/Files/TradeJournal/ folder.You need:
git clone https://github.com/gillani-hello/ai-trading-journal.git
cd ai-trading-journal
uv sync # Python dependencies
cd web && npm install && npm run build && cd .. # web app
uv run tj serve # → http://127.0.0.1:8000
Try it first with demo data (kept separate from your real journal):
uv run tj seed-demo
uv run tj serve --demo
uv run tj install-ea
This copies mt5/TradeJournalSync.mq5 into your terminal's MQL5/Experts/TradeJournal/ folder and compiles it with your MetaEditor. Then, in MT5:
The EA contains no trading code, so Algo Trading can stay off. If your terminal won't start EAs at all, tick Allow Algo Trading in its properties. If install-ea can't find or compile it, do it by hand: in MT5 choose File › Open Data Folder, put the .mq5 file into MQL5/Experts/, open it in MetaEditor and press F7.
| Platform | Status |
|---|---|
| macOS (MetaQuotes' MT5 app for Mac) | ✅ Tested end to end, including automatic EA compile and start at login |
| Windows | ✅ Supported (MT5 under %APPDATA%\MetaQuotes\Terminal). Please report issues |
Linux (MT5 under Wine: ~/.wine or ~/.mt5) | ✅ Supported. Please report issues |
Folders are found automatically. Set TJ_MT5_DIR to the EA's export folder to override that.
uv run tj install-service # start at login, restart if it crashes
uv run tj uninstall-service # undo
On Windows, install-service prints a ready-to-run schtasks command; on Linux it prints the command to use in a systemd user service.
The coach runs inside Claude Desktop or Claude Code on your own Claude plan, with no API key and no extra cost. Claude talks to the journal through the Model Context Protocol (MCP).
uv run tj mcp-config --write-desktop # adds the journal to Claude Desktop (backs up your config)
Then quit Claude Desktop completely (⌘Q / Exit) and reopen it. Ask "How many trades are in my journal?" to check, and choose Always allow when Claude asks to use the trading-journal tools.
Claude Code: run the claude mcp add … command that uv run tj mcp-config prints.
| You say | Claude does |
|---|---|
| "My last gold trade was a breakout. I felt FOMO and entered late. 2/5." | Adds setup, emotion, mistake and rating to the MT5 trade (annotate_trade) |
| "Log a trade from my other broker: short NAS100 at 20150, out at 20080, 1 lot, +$700." | Logs a manual trade and warns about duplicates (log_trade) |
| "How am I doing on EURUSD this month by session?" | Pulls stats and breakdowns (get_performance) |
| "What's my worst habit and what is it costing me?" | Reads the behaviour flags with their cost (get_behavior_report) |
| "Today's review: stopped after two losses like my plan says. Mood calm." | Saves the day's note on the calendar (write_day_note) |
| "Save my trading rules: max 1% risk, stop on every order, no gold in Asia." | Stores your rules; every review then checks you against them |
Speak instead of typing with Claude Desktop's voice input or your OS dictation.
In Claude Desktop click + › trading-journal and pick a prompt. In Claude Code type /mcp__trading-journal__weekly_review. Or just ask: "Do my weekly trading review."
| Prompt | What you get |
|---|---|
weekly_review / monthly_review | Every instrument you traded: what works, what leaks money, rules to adopt, and a 3–5 point action plan. Progress is checked against the previous review. |
instrument_review | A 90-day deep dive on one symbol (e.g. XAUUSD) |
trade_review | A critique of one trade (entry, stop, exit, size), attached to the trade |
log_trades | A guided session for dictating several trades |
Reviews are saved to the AI Coach page, and each instrument's section also appears on that instrument's page. Claude works from numbers the journal computes deterministically (win rate, R, sessions, flags, your notes), so its advice is grounded in your own data.
log_trade · annotate_trade · find_trades · get_trade · get_performance · get_instrument_breakdown · get_calendar · get_behavior_report · get_coaching_context · save_ai_report · save_trade_feedback · write_day_note · list_tags · set_trading_rules · sync_mt5 · delete_trade
The AI coach reviews your process and discipline from your own statistics. It does not give investment advice or tell you which trades to take.
| Command | Purpose |
|---|---|
uv run tj serve [--demo] [--port 8000] | Web app + MT5 folder watcher |
uv run tj mcp [--demo] | MCP server on stdio (Claude launches this) |
uv run tj sync [--force] | Import now; --force rebuilds every trade |
uv run tj install-ea | Copy + compile the MT5 Expert Advisor |
uv run tj mcp-config [--write-desktop] | Connect Claude Desktop / Claude Code |
uv run tj install-service / uninstall-service | Start at login (macOS) |
uv run tj seed-demo | Rebuild the demo journal in demo-data/ |
Your data lives in data/journal.db (SQLite) and data/screenshots/. Back up that folder and you've backed up your journal.
Yes. It's MIT-licensed open source, with no subscription, trial or paywall. The AI coach uses the Claude plan you already have.
Yes. The EA reads the terminal's own account history, so it works with any broker or prop-firm account you can open in MetaTrader 5, on demo, live or challenge accounts. Hedging and netting accounts are both supported.
No. It only reads history and writes files to MT5's shared folder. The source is in mt5/TradeJournalSync.mq5.
Not yet. The EA is written in MQL5. An MQL4 version is on the roadmap, and contributions are welcome.
Everything stays on your computer in a local SQLite database. Nothing is uploaded. When you use the AI coach, Claude reads the journal through the local MCP server, on your own Claude account.
No. It works through Claude Desktop or Claude Code on your normal Claude plan.
Yes. Use "Log trade" in the web app, or just tell Claude about the trade.
That's the goal: an open-source trading journal you run yourself. It offers automatic MT5 import, a P&L calendar, a per-trade journal with screenshots, analytics and an AI coach, without a monthly fee.
Ideas and pull requests are very welcome. See CONTRIBUTING.md.
If this journal helps your trading, you can support its development with crypto ❤️
| Asset | Network | Address |
|---|---|---|
| USDT | Ethereum (ERC-20) | 0xaA441f66aFC5381E2410EB47d798D95b5E58113f |
| USDT | Tron (TRC-20) | TT2JSFi6kXRD8pcsstGL8WaGAdPRVKyWUQ |
| ETH | Ethereum (ERC-20) | 0xaA441f66aFC5381E2410EB47d798D95b5E58113f |
Always double-check the network before sending: ERC-20 and TRC-20 are different networks. A ⭐ on GitHub also helps other traders find the project.
Bug reports, feature ideas and pull requests are welcome. See CONTRIBUTING.md for the development setup (uv run pytest, npm run dev).
MIT © Syed Muhammad Ali Hassan Gillani.
This software is for journaling and education only. It is not financial advice, and trading carries a high risk of loss. MetaTrader is a trademark of MetaQuotes Ltd; Claude is a trademark of Anthropic. This project isn't affiliated with either.
Keywords: trading journal, MT5 trading journal, MetaTrader 5 journal, free trading journal, open source trading journal, forex trading journal, gold XAUUSD journal, trade log, trading diary, trading performance analytics, AI trading coach, Claude MCP, prop firm journal.