# Forgalis TradingJournal - Full Product and Support Knowledge > Generated machine-readable public documentation for Forgalis TradingJournal 1.1.25. This file is built from maintained FTJ manual and public support sources. Do not edit this generated file directly. Canonical browser manual: https://forgalis.com/ftj/docs/ Machine-readable index: https://forgalis.com/ftj/docs/llms.txt Forgalis TradingJournal is a journaling and analysis tool only. It does not provide trading signals, investment advice or financial recommendations. ## User Manual ### Manual Overview User Manual · Version 1.1.25 Use this manual to set up FTJ, record and review trades, and bring in existing broker data. Your journal data stays in the active local SQLite database. The current database path is shown in Settings. -[ Start here ]- Install and set up FTJ Install FTJ, review the first-launch essentials, and get ready to start journaling. Open installation guide → Record your first trade Learn the core trade-entry workflow, including details, exits, notes and review. Open first-trade guide → Import or sync trades Bring existing trade history into FTJ from files or supported broker connections. Import files · Broker Sync -[ Explore FTJ ]- Dashboard Review journal performance, closed trades, open trades and key metrics. Reports Review focused closed-trade reports with account, date-range and reporting-currency controls. Trades Record and manage trade details, executions, images, notes and reflections. Accounts Organize trading accounts and the account data used throughout the journal. Strategies, Confluences, Exit Reasons and Mistakes Structure the tags used to review setups, context and trade exits. Exchange Rates Manage currency conversion rates used by trades and account reporting. Importing Data Import trade history from supported CSV and XLSX files. Broker Sync Connect supported broker workflows including cTrader, MT4 and MT5. Settings Configure backups, display options, images, lot sizes, Break-Even classification, licensing and advanced tools. -[ Reference ]- Glossary Trading and FTJ terminology used throughout the manual. Keyboard Shortcuts Verified keyboard and mouse interactions available in FTJ. Frequently Asked Questions Quick answers for common setup, workflow and support questions. ### Installation System Requirements =================== +--------------------------------+------------------------------------------------------------------------+ | **Operating System** | Windows 10 version 1809 or later, or Windows 11. | +--------------------------------+------------------------------------------------------------------------+ | **Runtime** | Required application components are delivered with the Microsoft Store | | | package. | +--------------------------------+------------------------------------------------------------------------+ | **Disk Space** | Application size plus space for the local database, screenshots, | | | backups and broker bridge files. | +--------------------------------+------------------------------------------------------------------------+ | **Display** | Use a desktop resolution and Windows scaling where all controls remain | | | readable. Test common 100%, 125% and 150% DPI settings. | +--------------------------------+------------------------------------------------------------------------+ Installing FTJ ============== Forgalis TradingJournal is distributed through Microsoft Store. 1. Open the Forgalis TradingJournal listing in Microsoft Store. 2. Choose **Install**. 3. Launch **Forgalis TradingJournal** from the Start menu. Updating FTJ ============ Updates are delivered through Microsoft Store. Store updates should preserve the user's local database and settings, but keeping a current backup before a major update is still recommended. Internet Use ============ The journal is local-first and normal manual journaling works with the local SQLite database. Internet access is required for workflows such as: * cTrader authentication and fetching; * supported online exchange-rate fetching; * Freemius licence activation, refresh, checkout and customer-portal actions; * Microsoft Store installation and updates. MT4 and MT5 workflows read from selected local terminal/bridge components. Local Data ========== The active database path is shown in **Settings -> Database**. Database files are ordinary local ".db" files that can be backed up or copied when the application is not writing to them. The default database is normally created under the user's Forgalis TradingJournal folder, but the active path shown in Settings is authoritative because the user can open or create another database with full access. Uninstalling ============ Use **Windows Settings -> Apps -> Installed apps -> Forgalis TradingJournal -> Uninstall**. Do not assume uninstalling is a backup strategy. Copy important ".db" files and backups to a separate safe location before uninstalling or resetting Windows. ### First Launch When Forgalis TradingJournal opens for the first time, it creates or opens a local database and shows the **Dashboard**. Setup guidance helps you configure the account and add or import trading data. Your Active Database ==================== The current database path is shown in **Settings -> Database**. The active path is authoritative because full-access users can create or open another local ".db" file. Understanding the Sidebar ========================= The sidebar provides the current main navigation: +----------------------+----------------------------------------------------------------------------------+ | Page | Purpose | |======================|==================================================================================| | **Home** | Dashboard KPIs, charts, recent activity, filters and guidance. | +----------------------+----------------------------------------------------------------------------------+ | **Trades** | Create, review, edit and journal trades. | +----------------------+----------------------------------------------------------------------------------+ | **Reports** | Review focused closed-trade performance analysis. | +----------------------+----------------------------------------------------------------------------------+ | **Account** | Create and manage accounts, balances and cash flows. | +----------------------+----------------------------------------------------------------------------------+ | **Strategy** | Manage strategies, confluences, exit reasons and mistakes. | +----------------------+----------------------------------------------------------------------------------+ | **Rates** | Manage exchange rates and missing conversion data. | +----------------------+----------------------------------------------------------------------------------+ | **Settings** | Database, backups, lot sizes, images, licence, legal and advanced options. | +----------------------+----------------------------------------------------------------------------------+ | **Brokers** | Read-only cTrader, MetaTrader 4 and MetaTrader 5 import workflows. | +----------------------+----------------------------------------------------------------------------------+ | **Help** | Open the bundled user manual when available. | +----------------------+----------------------------------------------------------------------------------+ There is no separate Analytics or Calendar sidebar destination in the current Microsoft Store version. Use Home / Dashboard for visible performance summaries, Reports for focused closed-trade analysis and Trades for detailed review. Dashboard Controls ================== Dashboard controls can include: * **Toggle Guide** - show or hide workflow guidance. * **New Trade** - open a new trade when the current licence/count permits it. * **Refresh** - reload data and recalculate visible Dashboard values. * **Account Filter** - choose Live Only, Demo Only or All. * **Account Selector** - select one account or All Accounts. * **Reporting Currency** - choose the currency used for combined monetary reporting. * **Database path** - identify the active local database. Dashboard filters do not silently change the trade editor's selected trade. Demo Mode on First Launch ========================= Without an active subscription or trial, FTJ runs in Demo Mode. * Manual trade creation and imports can start while fewer than 20 persisted trades exist. * An authorised import is complete and can move the journal above 20 trades. * Multiple accounts and exchange rates remain manageable. * The global trade limit is shared across the current database. Next Steps ========== Configure an account and its base currency, then continue to Your First Trade or use the documented import/broker workflow. ### Your First Trade This walkthrough covers a simple manual trade using the current 1.1.25 Trades workflow. Imported broker trades can use executions, observed Stop History and additional P/L controls. Prerequisites ============= Before adding a trade: 1. Open **Account** and configure at least one account with the correct base currency. 2. Optionally create or seed strategies, confluences and exit reasons. 3. Configure **Units per Lot** when you want to use Lots for the intended account/symbol. 4. Add required exchange rates if the trade/profit currency differs from the account base currency. Create a Trade ============== 1. Open **Trades**. 2. Click **New Trade**. 3. Complete the Entry details. 4. Define Initial SL / Initial TP and, when useful, Planned Targets. 5. Add Exit details after the position is closed. 6. Add setup tags, notes, images and reflection data as needed. 7. Click **Save Changes**. Demo Mode allows new manual trades while the current database contains fewer than 20 persisted trades. Entry Details ============= Important fields include: +------------------------------+--------------------------------------------------------------------------+ | Field | Description | |==============================|==========================================================================| | **Instrument** | Broker/platform symbol or ticker. | +------------------------------+--------------------------------------------------------------------------+ | **Direction** | Long or Short. | +------------------------------+--------------------------------------------------------------------------+ | **Entry Date Time** | Entry date/time, including optional millisecond precision. | +------------------------------+--------------------------------------------------------------------------+ | **Entry Price** | Manual entry price, or a read-only VWAP when derived from executions. | +------------------------------+--------------------------------------------------------------------------+ | **Quantity** | Position size. FTJ stores quantity in units. | +------------------------------+--------------------------------------------------------------------------+ | **Initial SL** | Original risk-defining stop when known. | +------------------------------+--------------------------------------------------------------------------+ | **Initial TP** | Original summary planned target when known. TP1 controls this value | | | while a Planned Targets plan exists. | +------------------------------+--------------------------------------------------------------------------+ | **Planned R** | Planned reward relative to original Entry-to-Initial-SL risk. | +------------------------------+--------------------------------------------------------------------------+ | **Session** | Asia, London, NY, London/NY Overlap, Afternoon or Evening. | +------------------------------+--------------------------------------------------------------------------+ | **Timeframe** | The chart timeframe used for the setup. | +------------------------------+--------------------------------------------------------------------------+ | **Currency** | Trade/profit currency used for conversion where required. | +------------------------------+--------------------------------------------------------------------------+ | **Account** | The FTJ account that owns the trade. | +------------------------------+--------------------------------------------------------------------------+ Initial Risk and Planned Targets -------------------------------- Use **Initial SL** and **Initial TP** for the original trade plan. For a Long, Initial SL must be below Entry and a planned target must be above Entry. For a Short, Initial SL must be above Entry and a planned target must be below Entry. Invalid/inverted geometry leaves Planned R unavailable rather than creating a misleading ratio. For a simple plan, Initial TP is enough. For a scale-out plan, expand **Planned Targets**: 1. Add TP1, TP2 and any further planned targets. 2. Enter the intended allocation percentage for each target. 3. Make the complete saved allocation total 100%. FTJ calculates weighted Planned R from the target R values and their percentage allocations, using the same original Entry-to-Initial-SL risk denominator. Planned Targets describe intent. Actual partial exits remain executions and do not automatically create or rewrite the planned target plan. If a broker trade later moves its stop to break-even or trails the stop, FTJ keeps a known Initial SL instead of replacing the original risk. Where broker sync observes later stop states, review them separately in **Stop History**. Units and Lots -------------- FTJ stores trade quantity in units. Lots is a display and entry conversion. The Position size panel shows the current Units/Lots relationship. For this manual-trade workflow, use **Lot Settings** to configure **Units per Lot** for the selected account and symbol and do not rely on Lots until the intended contract size is configured. For cTrader execution-based imports, FTJ instead uses persisted broker-authoritative contract size for Lots display when available. If that metadata is unavailable, configured Units per Lot remains the fallback. For non-standard contracts such as some metals or CFDs, verify the displayed relationship instead of assuming the standard FX value. Exit and Realised Result ======================== Important Exit fields include: * **Exit Date Time**; * **Exit Price (Avg/VWAP)**; * **Realised R** for eligible closed trades; * **Gross P/L (Base)**; * **Net P/L (Base)**; * **Swap (Base)**; * **Fees (Base)**; * **Exit Reason**. **Realised R** is actual realised Net P/L divided by the original account-base risk. It is unavailable while the trade is still open or when required initial-risk/currency data is missing. Open trades do not show realised Gross/Net P/L and are excluded from closed-trade performance KPIs. For manual trades, FTJ calculates P/L from the entered trade fields and available exchange-rate data. Execution-Based Trades ====================== When a trade contains linked executions: * Entry and Exit can show **Derived from executions**. * Entry/exit prices are volume-weighted averages of the relevant fills. * Quantity is derived from the executions. * A position is closed when buys and sells net to zero within the application's quantity tolerance. * Edit the underlying executions rather than typing over derived entry/exit values. Eligible imported execution-based trades can also show **Broker reported** / **Calculated** P/L and **Adjust Costs**. Stop History ------------ If FTJ has observed broker stop management, **History (n)** appears by Initial SL. Open it to review Stop History inside **Executions & Stop History**. The history is observational: it records stop states FTJ actually saw during broker sync. The time shown is the observation time, not a reconstructed exact broker modification time. Setup, Images, Notes and Reflection =================================== The lower Trades workflow can be expanded or collapsed: * **Strategy & Confluences** includes the Pre-Trade Plan. * **Images** stores chart screenshots. * **Trade Notes** stores post-trade notes. * **Executions & Stop History** contains fills and observed stop management. * **Self-Reflection** contains ratings, Mistakes and Additional Reflection. FTJ remembers your top-level expand/collapse preferences between application restarts. The preference controls the workspace layout only; it does not change the trade data. Use **Add Mistake** during Self-Reflection when a reusable execution/discipline mistake applies. **No mistakes** records an explicit clean review and remains different from an untouched/unreviewed trade. Saving and Navigation ===================== Use **Save Changes** to persist the trade. When leaving a trade or the Trades page with unsaved changes, FTJ asks whether to save, discard or cancel. Prev/Next and list selection respect the current filtered trade list. Use **Ctrl+F** to focus the Trades search field. What's Next? ============ * Review Dashboard. * Open Reports for Reports. * Configure Strategies, Confluences, Exit Reasons and Mistakes. * Manage required Exchange Rates. * Import existing history through Importing Data or Broker Sync. ### Dashboard Home / Dashboard is the current performance-review screen. It combines KPIs, charts, recent activity, filters and data-quality guidance. [image: Dashboard overview][image] Closed Trades and Open Trades ============================= Core realised performance KPIs use closed trades. Open trades can remain visible in activity or trade-review contexts, but they do not contribute realised Gross/Net P/L to closed-trade statistics. Filters ======= Dashboard values respond to the visible controls, including: * **Account Filter** - Live Only, Demo Only or All. * **Account Selector** - one account or All Accounts. * **Reporting Currency** - currency used for combined monetary reporting. * Date/range controls where shown on a specific card or chart. The selected filters can change which trades are included and which currency conversions are required. Key Performance Indicators ========================== Visible KPI cards can include: * **Total P/L** - combined net realised P/L for the selected scope. * **Win Rate** - percentage of included closed trades with positive realised result. * **Total Trades** - number of included closed trades. * **Avg Planned R** - average planned reward divided by initial risk for trades with Entry, Initial SL and Initial TP available. * **Sharpe / rolling risk-adjusted metrics** - shown only when enough usable data exists. * **Max Drawdown** - largest peak-to-trough decline for the selected scope and currency mode. **Planned R** is not the same as realised trade outcome. Reports calculates **Realised R** from effective realised Net P/L divided by the same original risk denominator. The Top Performing Symbols **Payoff Ratio** is a third metric: average win divided by absolute average loss. Do not treat an unavailable metric as zero-quality trading data. Some values require enough closed trades, loss data, Initial SL values or exchange rates. Break-Even Classification ========================= Dashboard and Reports use the same Win / Break-even / Loss classification. Configure **Settings -> Break-even classification -> Net P/L tolerance** when small positive or negative account-base outcomes should count as Break-even for review. The tolerance changes classification only; it does not rewrite the trade's P/L. **Exclude break-even trades from Win Rate** is a separate denominator option. When enabled, Win Rate uses wins and losses only while Break- even trades remain part of the journal and other applicable metrics. If no eligible wins or losses remain, Win Rate is unavailable rather than 0%. Reporting Currency and Missing FX ================================= When Dashboard combines accounts or currencies, FTJ uses rates stored in **Rates**. If a trade cannot be converted: * FTJ does not silently add incompatible currencies together; * the trade can be excluded from reporting-currency monetary calculations; * a subtitle or guidance item can show the number of excluded trades. Add or fetch the missing rate in Rates and refresh the Dashboard. Guidance / Next Steps ===================== The guidance panel can highlight data-quality or setup work, such as: * adding the first trade; * fixing missing exchange rates; * defining strategies/confluences; * assigning exit reasons; * completing important trade fields; * reviewing lot/contract-size settings; * backing up the database. Guidance is based on journal completeness. It is not trading advice and does not evaluate whether a market setup should be taken. Recent Activity =============== Recent activity can include open and closed trades. Selecting an item opens the related trade for review. Charts ====== The exact visible charts depend on the current build, data and selected filters. Current Dashboard chart areas can include cumulative P/L/equity progression, win/loss summaries, per-trade results and other performance breakdowns. Charts can show an empty-state message when no usable data exists. Do not direct users to a separate Analytics or Calendar sidebar page; those are not current navigation destinations. Demo Mode ========= Dashboard review remains available at every Demo Mode trade count, including above 20 persisted trades. The trade-count limit controls new creation/import and core editing; it does not hide existing performance data. ### Reports **Reports** is a closed-trade analysis cockpit. Instead of opening one large report at a time, the workspace keeps several compact analysis panels on the same scrollable view so traders can compare outcome quality, realised risk, strategy results and timing without losing the active scope. Shared filters and currency =========================== The header applies one scope to every visible Reports panel: * **Account** — choose one account or **(All Accounts)**. The current Live / Demo / All account mode is respected. * **Range** — choose **7D**, **30D**, **90D** or **All**. Rolling ranges end today and include today, using the trade close date with entry date as the fallback. * **Reporting Currency** — monetary values use the same effective reporting currency as the Dashboard. When required FX data is missing, monetary Reports exclude the affected trade instead of silently mixing currencies. The scope message shows an excluded count when applicable. Performance cockpit =================== The fast performance strip keeps the selected scope's core context visible without turning every metric into a separate card: * Net P/L; * Average Realised R; * Profit Factor; * Payoff; * closed-trade count used by the monetary report calculation. The analysis area below uses a three-column desktop grid. Percent measures use semicircular gauges where a 0–100% visual scale is meaningful, while comparison questions use dedicated charts instead of text-heavy ranking lists. Outcome Quality --------------- **Outcome Quality** uses a semicircular Win Rate gauge as the primary visual. Winning, break-even and losing trade counts remain visible beneath it, together with Average Win and Average Loss. Enable **Exclude break-even** when you want Win Rate to use winning and losing trades only as the denominator. The underlying Win / Break-even / Loss classification uses the journal-wide **Net P/L tolerance** from **Settings -> Break-even classification**. The tolerance is applied in each trade account's base currency and does not rewrite actual P/L. It is separate from the Exclude-break-even denominator option. If the current scope contains no eligible wins or losses after the selected denominator rule, Win Rate is shown as unavailable rather than as 0%. Risk Quality ------------ The compact gauge panel gives an immediate visual read of: * the share of eligible trades finishing at or above **+1R**; * the share of eligible trades finishing below **0R**; * **R Coverage**, the share of scoped trades for which FTJ can calculate valid Realised R. Risk-data detail remains visible below the gauges. FTJ reports missing/invalid inputs instead of inventing R values. Realised R Profile ------------------ **Realised R Profile** summarises the distribution without duplicating the histogram. It shows Average Realised R, Median Realised R, Cumulative Realised R and the largest realised-R cluster. Realised R Distribution ======================= The compact R histogram compares realised outcomes with the risk defined by each trade's recorded Entry Price, **Initial SL** and Quantity. It occupies one column of the Reports grid rather than a full-width report surface. FTJ calculates Realised R as: "effective realised Net P/L in account base currency / initial risk in account base currency" Initial risk is the recorded entry-to-Initial-SL distance multiplied by Quantity. For a valid Long trade the Initial SL must be below Entry Price; for a valid Short trade it must be above Entry Price. When the instrument's price currency differs from the account base currency, FTJ converts initial risk on the trade's entry date. The realised Net P/L side uses FTJ's effective account-base result, including applicable fees, swap and saved cost adjustments. Because both sides are normalized to account base before division, R is dimensionless and does not change when Reports **Reporting Currency** changes. The visible distribution uses eight ranges: * **≤ -3R**; * **-3R to -2R**; * **-2R to -1R**; * **-1R to 0R**; * **0R to +1R**; * **+1R to +2R**; * **+2R to +3R**; * **≥ +3R**. Negative R is red, **0R to +1R** is blue, and outcomes at or above **+1R** are green. Important: FTJ preserves the first known risk-defining stop as **Initial SL**. A later broker move to break-even or a trailing stop does not overwrite a known Initial SL. If the original stop was never available from the source, FTJ does not fabricate one; Realised R remains unavailable until the trade has valid initial-risk data. Planned R and Payoff Ratio ========================== Do not confuse the Reports Realised R metrics with the other R-like values in FTJ: * **Planned R** describes planned reward relative to original Entry- to-Initial-SL risk. With one target it uses Initial TP; with a complete multi-target plan it is weighted by the target percentage allocations. * **Realised R** uses actual realised Net P/L divided by the same original-risk concept and is not changed by Planned Targets. * **Payoff Ratio** is average winning trade divided by the absolute average losing trade. It is not an R-multiple. Strategy Performance ==================== **Strategy Performance** is a horizontal, zero-centred Net P/L chart for the highest-impact strategy tags in the active Reports scope. Positive strategy contribution extends right in green and negative contribution extends left in red so the strongest and weakest groups can be identified without reading a ranking list first. The underlying breakdown still tracks: * Net P/L; * trade count; * Win Rate; * Average Realised R where valid R data exists. The chart surfaces the six highest-impact tags by absolute Net P/L. A trade tagged with multiple strategies contributes its full result to every strategy it is tagged with. Strategy results are therefore attribution views, not mutually exclusive portfolio buckets. Weekday Performance =================== **Weekday Performance** uses a vertical Net P/L bar chart for active weekdays. Positive days are green and negative days are red, with Monday through Sunday kept in calendar order. The underlying breakdown uses the same scoped closed trades and also tracks trade count, Win Rate and Average Realised R for each day. Use the chart to identify whether particular trading days consistently contribute to or detract from results without reading seven separate rows first. Exit Reason Performance ======================= **Exit Reason Performance** is a compact one-column Reports card that groups the same scoped closed trades by their recorded exit reason and compares each group's Net P/L on a horizontal, zero-centred chart. Positive contribution extends right in green and negative contribution extends left in red. Each visible label includes the group's trade count. Hover a bar to review Net P/L, trade count, Win Rate and Average Realised R where valid R data exists. Trades without a recorded exit reason remain visible as **Not set** instead of being silently discarded. This makes the panel useful both for performance review and for spotting incomplete review data. The panel displays up to six highest-impact groups by absolute Net P/L. When more groups exist, the summary states that the view is limited. **Not set** remains visible when present even if it would otherwise fall outside that limit. Because this is a monetary Reports breakdown, it uses the same account, range, Reporting Currency and missing-FX rules as the rest of the cockpit. Symbol Performance ================== **Symbol Performance** uses the trade's stored **Instrument** value to compare which markets contribute most to the selected Reports scope. Symbols are trimmed and grouped case-insensitively, while blank or missing instrument values remain visible as **Not set** rather than being silently discarded. The card uses a horizontal, zero-centred Net P/L chart. Positive symbols extend right in green and negative symbols extend left in red. Each visible label includes the group's trade count, and hover detail shows Net P/L, trade count, Win Rate and Average Realised R where valid R data exists. The chart displays up to six symbols. When the scope contains more symbols, FTJ keeps the strongest positive symbol, the weakest negative symbol and **Not set** when present, then fills the remaining slots with the largest absolute Net P/L impacts. This keeps the bounded chart useful without hiding the losing side of performance. Long vs Short ============= **Long vs Short** compares Net P/L for trades whose stored direction uses FTJ's canonical **Long** or **Short** values. The chart keeps the two directions as mutually exclusive groups, shows each group's sample size on the axis and exposes Net P/L, trade count, Win Rate and Average Realised R on hover. Blank or non-canonical direction values are not fabricated into either side. When such rows exist, the card reports how many were excluded from the direction comparison. Both **Symbol Performance** and **Long vs Short** use the same account, range, Reporting Currency, missing-FX and valid-R rules as the other monetary Reports breakdowns. Entry Time Performance ====================== **Entry Time Performance** is a weekday × hour heatmap for the trades already included in the active monetary Reports scope. Reports still decides whether a trade belongs to **7D / 30D / 90D / All** from the trade's close date (with entry date only as the existing fallback); after that scope is selected, the heatmap groups each included trade by its recorded **Entry Date/Time** weekday and hour. The panel intentionally uses the entry timestamp exactly as FTJ already displays it. It does **not** perform an additional timezone conversion and does not assume that a recorded clock hour represents London, New York or any other exchange/session timezone. This is important for journals assembled from different import sources: meaningful cross-source hour comparisons require those sources to use compatible timestamp conventions. The heatmap colour always represents **Average Realised R**, not Net P/L or Win Rate: * **≤ -0.75R** — strong negative, dark red; * **-0.75R to -0.15R** — negative, red; * **-0.15R to +0.15R** — near neutral, slate; * **+0.15R to +0.75R** — positive, green; * **≥ +0.75R** — strong positive, bright green; * **gray** — trades exist in the bucket but none has valid R; * **empty/dark** — no trades entered in the weekday/hour bucket. A coloured cell is faded when fewer than **5 trades with valid R** contribute to its Average Realised R. The fade is a sample-size warning, not a weaker performance score. Best/weakest callouts likewise require at least five valid-R trades in the hour bucket so a single trade is not promoted as a stable timing pattern. Hover a cell to see the exact weekday/hour, Average Realised R, Net P/L in the selected Reporting Currency, trade count, Win Rate, valid-R coverage and the low-sample note. Because the panel starts from the same FX-safe monetary values as the other Reports breakdowns, trades excluded from monetary Reports for missing FX are excluded here as well rather than being silently mixed into the timing view. **Tagged Sessions** below the heatmap uses only the trade's explicitly stored **Session** value. Blank Session values remain unclassified, and FTJ does not fabricate London/New York/Asia session labels from clock time. Tagged-session cards compare Net P/L, trade count, Win Rate and Average Realised R for the explicit tags in the selected scope. Note: Entry Time Performance does not create a daylight-saving-time conversion step, so the panel itself cannot shift a trade across an hour or weekday at a DST boundary. Any DST or timezone interpretation comes from how the timestamp was recorded/imported before Reports sees it. When comparing sources that use different timezone conventions, normalize that source data first rather than treating the heatmap as exchange-session time. Drawdown & Recovery =================== **Drawdown & Recovery** measures the selected Reports scope as a realised-P/L sequence rather than as broker account equity. It uses the same already-converted monetary trade values as the other Reports panels, so account, range, Reporting Currency and missing-FX handling remain consistent across the cockpit. Trades enter the sequence when their result is realised. FTJ orders them by the full **Exit Date/Time**, uses the persisted Trade ID as the deterministic tie-breaker when close timestamps are equal, then falls back to entry timestamp and original scoped order only when needed. The scoped cumulative realised P/L starts at **0**. Starting balances, deposits and withdrawals are deliberately excluded. This means the chart answers *how far has the selected trading performance fallen from its own previous high?* rather than *how far has the broker account balance fallen?* It also prevents account size or cash flows from distorting an All Accounts comparison. For every point: "drawdown = cumulative scoped realised Net P/L - prior high-water mark" Drawdown is therefore zero at a high-water mark and negative while the sequence is underwater. **Max Drawdown** is the largest absolute fall below a prior high, while **Current** is the absolute drawdown at the final scoped trade. Recovery is intentionally strict and transparent: a drawdown is recovered only when a later closed trade creates a **new cumulative realised-P/L high** above the prior peak. Merely returning exactly to the old peak is not counted as recovered. Recovery duration is shown in closed trades and calendar days from the prior peak. If the selected scope ends before a new high is reached, the drawdown is labelled **Unrecovered**. Hover the drawdown line to see the close timestamp, exact drawdown, cumulative scoped P/L and trade sequence number for that point. Stability --------- The companion **Stability** card keeps consistency separate from a black-box score. **Positive Active Days** is defined as: "active close-days with summed scoped Net P/L > 0 / all active close- days" Only dates containing at least one scoped closed trade enter the denominator. A break-even or losing active day is not positive, and a calendar day with no closed trades does not change the rate. The card also repeats Max Drawdown, Current Drawdown and recovery state so the trader can read depth, recovery and day-level consistency together. Because drawdown and Positive Active Days use the same converted monetary results as the rest of Reports, trades excluded for missing FX are excluded here as well rather than being silently treated as zero. Performance Quality =================== **Performance Quality** is an optional 0–100 summary of the statistical quality of the selected trading performance. It is deliberately separate from discipline, mistake tagging and plan adherence. A high score does not mean the trader followed a plan, and a low score does not diagnose a behavioural problem. The semicircular gauge is colour-coded by the overall band: **red** for 0–39, **amber** for 40–59, **blue** for 60–79 and **green** for 80–100. Component cards keep the raw trader-facing metric as the primary value. The normalized contribution is shown underneath as an explanation of how that metric enters the overall score. Four components have equal nominal weight: * **Average Realised R** — the authoritative realised-R average from the current Reports scope. Piecewise linear anchors: **-0.5R = 0**, **0R = 50**, **+0.5R = 70**, **+1R = 90**, **+1.5R = 100**. Values outside the anchor range are clamped. * **Profit Factor** — gross positive scoped Net P/L divided by absolute gross negative scoped Net P/L. Piecewise linear anchors: **0.5 = 0**, **1.0 = 50**, **1.5 = 65**, **2.0 = 75**, **3.0 = 90**, **4.0 = 100**. A scope with gains and no losses scores 100 for this component; an all-break-even scope leaves it unavailable. * **Recovery Factor** — scoped Net P/L divided by **Max Drawdown** from the Drawdown & Recovery analysis. Piecewise linear anchors: **0 = 0**, **1 = 50**, **2 = 65**, **3 = 75**, **5 = 90**, **8 = 100**. Positive P/L with no drawdown scores 100; a zero-P/L/no-drawdown scope leaves the component unavailable. * **Positive Active Days** — the Stability percentage directly mapped to 0–100. For example, 50% positive active days contributes 50/100. Between adjacent anchors FTJ interpolates linearly. The wider upper ranges deliberately preserve separation between strong and exceptional values instead of collapsing every result above a low threshold to 100/100. The overall score is the arithmetic mean of the available component scores. Missing components are **not** silently replaced with zero. Instead, the panel shows component coverage and re-normalizes the equal weights across the available inputs. FTJ requires at least **3 of 4** components before showing an overall Performance Quality score. Score interpretation is intentionally broad rather than predictive: * **0–39 — Weak**; * **40–59 — Mixed**; * **60–79 — Solid**; * **80–100 — Strong**. Trade count is not part of the formula, and account balance/starting capital is not an input. Average Realised R is dimensionless. Profit Factor and Recovery Factor use the same converted monetary series already used by Reports, so a simple currency-unit rescaling does not create a score advantage. In **All Accounts**, changing Reporting Currency can still alter historical cross-currency weighting across trades; any resulting component change comes from the same explicit per-trade FX conversion used by the surrounding Reports panels rather than from a separate score-specific conversion path. The score is descriptive, not a forecast of future performance. Mistake and discipline analysis =============================== The discipline row uses the same scoped, FX-safe monetary results as the other Reports breakdowns. It does not create a separate currency or date-filtering path. All three discipline panels are based on scoped closed trades. Mistake Impact -------------- **Mistake Impact** groups explicitly reviewed mistake tags and compares their Net P/L contribution. The chart shows up to six highest-impact mistake groups by absolute Net P/L. Hover detail includes Net P/L, trade count, Win Rate and Average Realised R when valid R data exists. A trade can have more than one mistake tag. In that case its full result contributes to every relevant mistake group, so the groups overlap and their totals are not additive. Use this panel as an attribution view rather than as a portfolio reconciliation. Clean vs Mistakes ----------------- **Clean vs Mistakes** compares only trades with an explicit mistake review: * **Clean** — reviewed with no mistakes; * **Mistakes** — reviewed with one or more mistake tags. The two groups are mutually exclusive, so a reviewed trade enters exactly one side of this comparison. Trades that have not been reviewed are reported separately and do not enter either bar. Plan Adherence -------------- **Plan Adherence** uses the existing 1–5 **Follow Plan** self-rating and compares **Average Net P/L per trade** for each rating. Using an average rather than total Net P/L prevents a rating with a larger sample from automatically dominating the chart. The summary shows rated and missing counts. Hover detail includes total Net P/L, trade count, Win Rate and Average Realised R when available. Risk data quality ================= FTJ shows Realised R as unavailable rather than inventing 0R when required inputs are missing or invalid. Reasons can include: * invalid or missing initial risk; * missing realised Net P/L in account base currency; * missing price/account currency context; * missing entry-date FX needed to convert initial risk. What Reports intentionally does not show ======================================== The former **Trade Results** chart with one Net P/L bar per trade is not part of Reports. The dedicated drawdown view shows only the underwater distance from the scoped realised-P/L high-water mark; the Dashboard remains the primary surface for the full cumulative/equity sequence. Availability ============ Reports is a review feature and remains available in both **Demo** and **Full Access**. Licensing rules for editing, importing and broker connections are unchanged. See Dashboard for sequence/equity context and Trades for detailed per- trade review. ### Trades The Trades view is where you create, review, edit and journal trades. [image: Trades view][image] Trade List, Search and Filters ============================== The left panel shows trades in the current filtered scope. Rows can include instrument, direction, date and realised Net P/L. The five Self-Reflection dots give a compact indication of how much of the five rating categories has been completed. * Use the sort selector to change list order. * Use the search field to narrow the list. * Press **Ctrl+F** to focus the Trades search field. * Use Filters for date, instrument, direction, account and other available criteria. * **Clear Filters** restores the unfiltered list. Prev/Next navigation follows the current filtered list. Creating a Manual Trade ======================= 1. Click **New Trade**. 2. Complete the required Entry fields and, when useful, define the initial risk/target plan. 3. Add Exit data after the trade is closed. 4. Add strategy/confluence tags, notes, images and reflection data as needed. 5. Click **Save Changes**. In Demo Mode, a new manual trade can be created while fewer than 20 persisted trades exist. Entry Card ========== The Entry card is the main setup/risk surface. It includes: * Instrument and Direction; * Entry Date Time and optional milliseconds; * Entry Price and Quantity; * Initial SL; * Initial TP; * Planned R; * Planned Targets; * Session and Timeframe; * Units/Lots position-size information; * Currency and Account. Quantity is stored in units. For a selected cTrader execution-based trade, Lots display uses one unambiguous persisted broker- authoritative contract size when available. Otherwise FTJ falls back to configured **Units per Lot** for the selected account and symbol. Use **Lot Settings** for manual trades and when fallback conversion is missing or incorrect. When the trade is built from executions, entry price and quantity can be read-only and marked **Derived from executions**. Initial Risk and Planned R -------------------------- **Initial SL** is the original risk-defining stop FTJ has recorded for the trade. **Initial TP** is the original planned target when known. A later broker stop move to break-even or a trailing stop does not overwrite a known Initial SL. FTJ does not invent an original level when the source never supplied it. **Planned R** compares planned reward with the original Entry-to- Initial-SL risk. It describes the plan, not the final result. Planned R is direction-aware: * for a Long, Initial SL must be below Entry and a planned target must be above Entry; * for a Short, Initial SL must be above Entry and a planned target must be below Entry. Invalid or inverted risk/target geometry makes Planned R unavailable instead of producing a misleading extreme or negative value. Valid large Planned R values are not arbitrarily capped. Planned Targets --------------- Use **Planned Targets** when the original plan contains more than one take-profit level. * Add TP1, TP2 and further planned target rows as needed. * Assign a percentage allocation to each target. * A complete saved plan must total 100%. * Weighted Planned R uses the original Entry-to-Initial-SL risk denominator and the target allocations. * While a planned-target plan exists, TP1 controls the summary **Initial TP** value. * Changing planned targets can change Planned R, but it does not change Realised R, broker P/L, executions or Stop History. * Broker fills/exits and observed stop history are not reverse- engineered into a planned-target plan. * Duplicating a trade copies its planned-target plan; later edits to the copy are independent. Planned Targets is a secondary expander so a simple single-target trade does not require the larger planning surface. Exit Card ========= The Exit card focuses on the final result. Depending on the trade it includes: * Exit Date Time and optional milliseconds; * Exit Price (Avg/VWAP); * Realised R for eligible closed trades; * Gross P/L and Net P/L in account base currency; * Swap and Fees; * Exit Reason; * Broker reported / Calculated P/L controls where eligible; * Adjust Costs where supported. **Realised R** is read-only and uses effective realised Net P/L in account base currency divided by the original risk in account base currency. An open trade can therefore have Planned R while Realised R remains unavailable. Open trades do not show realised Gross/Net P/L and are excluded from closed-trade performance KPIs. Broker Reported and Calculated P/L ---------------------------------- Eligible imported execution-based trades can show a two-option selector: * **Broker reported** - use usable booked account-currency P/L supplied by the broker. * **Calculated** - calculate Gross P/L from current executions and available conversion data. Broker reported cannot be selected when no usable broker P/L exists. Save persists a change; Cancel restores the previously saved source. Adjust Costs ------------ For eligible imported trades, **Adjust Costs** creates separate journal adjustments for Fees and Swap. * Broker-reported source values are preserved. * Net P/L uses the effective adjusted costs. * Save persists adjustments; Cancel restores the prior state. Executions and Stop History =========================== **Executions & Stop History** groups the fill sequence and observed broker stop management without mixing either with the original plan. Executions ---------- Executions represent individual fills. Depending on the selected trade and its state, actions can include Add, Create Entry, Edit, Reload, Delete, Close Position, split/merge and link/group operations. FTJ derives execution-based trade values from the fills, including: * entry and exit timestamps; * Long/Short direction; * volume-weighted average entry/exit price; * quantity; * open/closed state. A position is closed when buy and sell quantities net to zero within the application's quantity tolerance. Closed execution-based trades can be locked against accidental changes. Unlock only when deliberately correcting the underlying fills. Broker-synced open trades retain their current 1.1.25 manual- edit behaviour; locking them by default is deferred from this release. Stop History ------------ When FTJ observes trustworthy broker stop changes, the Initial SL area can show **History (n)**. Opening it reveals the **Stop History** subsection inside **Executions & Stop History**. Stop History: * keeps Initial SL separate from later management; * stores only stop states FTJ actually observed from the broker workflow; * can identify an observed stop exactly at Entry as a break-even stop observation; * deduplicates repeated unchanged observations; * survives restart and database switching with the journal data. The recorded time is when FTJ observed the broker state. It is not an invented exact broker amendment timestamp. Manual trades do not fabricate Stop History, and unavailable broker history is not reconstructed. Setup, Images, Notes and Reflection =================================== The lower review workflow uses progressive disclosure so the screen can stay compact without removing any journal data. Top-level sections: * **Strategy & Confluences** also contains the Pre-Trade Plan; * **Images** contains chart screenshots; * **Trade Notes** contains post-trade notes; * **Executions & Stop History** contains fills and the secondary Stop History expander; * **Self-Reflection** contains the five 1-5 ratings, Mistakes and Additional Reflection. Default workspace behaviour: * Strategy & Confluences starts collapsed; * Images chooses an empty/populated default until you manually choose a preference; * Trade Notes starts expanded; * Executions & Stop History starts expanded; * Self-Reflection starts collapsed. After you explicitly expand or collapse these top-level review sections, FTJ remembers the workspace preference between trade switches and application restarts. This is a view preference, not per- trade journal data. Collapsed headers retain useful summaries such as selected setup tags, screenshot count, note text, execution/stop-history counts and reflection completion/review state. Images are stored inside the local database. Larger image limits increase database size. Structured Mistakes ------------------- The Self-Reflection card supports reusable **Mistakes** for execution and discipline observations. * Click **Add Mistake** to select one or more reusable mistake tags. * Remove a selected tag when it does not apply. * Click **No mistakes** only after actively reviewing the trade and finding no applicable mistake. * Use **Manage mistakes** to open **Strategy > Mistakes**. FTJ keeps **Not reviewed** separate from **Reviewed: no mistakes**. Mistake changes are staged with the rest of the trade. **Save Changes** persists them; **Cancel** restores the last saved review. Saving, Cancelling and Unsaved Changes ====================================== * **Save Changes** persists the current trade and related staged settings. * **Cancel** restores the last persisted state. * **Delete** permanently removes the selected trade after confirmation. * Leaving the trade/page or closing the application with unsaved changes prompts for Save, Discard or Cancel. Warning: Deletion cannot be undone directly. Keep a current backup. Demo Mode ========= * Below 20 persisted trades: new manual trades and imports are available. * Exactly 20: new trades/imports are blocked, but existing core trade details remain editable. * Above 20: core trade details and execution mutations are read-only. * Viewing, Dashboard/Reports review, export, deletion, notes and self- reflections remain available above the limit. ### Accounts FTJ lets you manage multiple trading accounts, each with its own base currency, starting balance and cash flows. Every trade belongs to exactly one account. [image: Accounts view][image] Creating an Account =================== 1. Open **Account** from the sidebar. 2. Click **Add** above the account list. 3. Enter: * **Account Name** - a descriptive name. * **Base Currency** - the currency in which the account is denominated. * **Description** - optional notes. * **Starting Balance** - the balance before recorded trading activity and cash flows. * **Demo Account** - marks a paper/demo account for Dashboard filtering. 4. Click **Save**. Note: **Current Balance** is calculated from Starting Balance, recorded cash flows and trade P/L. It is read-only; change the underlying values instead of typing directly into Current Balance. Editing an Account ================== 1. Select an account from the list. 2. Edit its details in the right-hand panel. 3. Click **Save**. Changing an account's base currency can change which exchange rates are required for existing trades. Check the Rates view after making this change. Deleting an Account =================== Select an eligible account and use **Delete Account** from the account list's context menu. Deletion protections: * The default account cannot be deleted. * An account containing trades cannot be deleted. * Remove or move associated trades before deleting an account that is in use. Cash Flows ========== Cash flows represent deposits and withdrawals that are not trading results. To add a cash flow: 1. Click **Add** in the Cash Flows card. 2. Choose the date. 3. Enter a positive amount for a deposit or a negative amount for a withdrawal. 4. Click **Save** in the cash-flow input bar. 5. Click the main account **Save** button to persist the account changes. Cash flows help keep balance and equity calculations accurate. Without them, deposits can look like trading gains and withdrawals can look like trading losses. Multiple Accounts ================= Common uses include: * one account per broker; * separate live and demo accounts; * separate accounts for different currencies or trading environments. The Dashboard can filter Live Only, Demo Only or All accounts, and can also select one specific account. Demo Mode ========= Account management remains available in Demo Mode. Demo Mode users can: * create multiple accounts; * edit account details; * manage cash flows; * delete eligible empty non-default accounts. The Demo Mode trade limit is global for the current database. Creating another account does not reset or increase the allowed trade count. ### Strategies, Confluences, Exit Reasons and Mistakes Use structured tags to record the setup, supporting conditions, reason a trade was closed and recurring execution or discipline mistakes. Navigate to **Strategy** in the sidebar. [image: Strategies view][image] Workspace ========= The workspace provides areas for: * **Strategies** - named setups or approaches. * **Confluences** - conditions or observations associated with a setup/trade. * **Exit Reasons** - structured reasons for closing a trade. * **Mistakes** - reusable execution and discipline errors used during post-trade review. Strategies ========== Create a strategy with a name, optional description, optional image and linked confluences. Save the strategy before leaving the workspace. A strategy that is already used by trades can be protected from unsafe deletion until those references are removed. Confluences =========== Confluences are reusable tags for conditions or observations that were relevant to a trade. They do not prove that a setup is good or predict a future outcome. A strategy can link to expected confluences as a reusable checklist/template. Trade-level tagging records which items were actually present for that trade. Exit Reasons ============ Exit reasons record why a position was closed, such as a stop, target, time-based decision or manual exit. Select an exit reason in the trade Exit card. Mistakes ======== The **Mistakes** tab manages the reusable mistake catalogue used by the Self-Reflection card in Trades. * Built-in mistakes can be renamed or given a different description, but they cannot be deleted. * Custom mistakes can be created and edited. * An unused custom mistake can be deleted. * A custom mistake already used by historical trades cannot be deleted; rename it instead so historical reviews remain intact. Use **Add Mistake** in a trade's Self-Reflection card to apply these definitions during post-trade review. **Manage mistakes** from the trade navigates directly to this tab. Seeding Built-in Items ====================== **Seed Strategies & Exit Reasons** adds missing built-in catalogue items. Running the action should not intentionally duplicate items that already exist. Mistakes have their own built-in starter definitions and are stored locally with the journal database. Import and Export ================= Where enabled, strategy catalogue import/export can move structured strategy data between databases. Review imported content before using it as part of the journal workflow. Demo Mode ========= Demo Mode supports limited custom catalogue creation for the existing strategy catalogue: * up to 3 custom strategies; * up to 5 custom confluences; * up to 5 custom exit reasons. Built-in seeding remains available according to the current catalogue rules. When a limit is exceeded, save/create actions can remain blocked until the count is reduced or Full Access is activated. Unsaved Changes =============== Leaving Strategies, Confluences or Exit Reasons with unsaved changes prompts you to save, discard or cancel navigation. Mistake definitions are persisted when **Save Mistake** is clicked. Using Tags in Trades ==================== In the Trades view, use **Add Strategy** and **Add Confluence** to tag the selected trade, and use **Add Mistake** during post-trade reflection. Consistent tagging supports later performance review and analysis. ### Exchange Rates FTJ uses exchange rates when monetary values must be converted between currencies. Open **Rates** from the sidebar to manage exchange rates and review missing conversion data. [image: Exchange Rates view][image] When Exchange Rates Are Needed ============================== A rate may be required when: * a trade or profit currency differs from the account base currency; or * multiple accounts are combined into a Reporting Currency that differs from one or more account base currencies. If the relevant currencies already match, no conversion is required. Missing Rates ============= When FTJ cannot find a usable conversion path: * converted base/reporting-currency values can remain unavailable; * affected trades can be excluded from reporting-currency monetary calculations; * the Dashboard can show how many trades were excluded because of missing FX data. FTJ does not silently add incompatible currencies together. Managing Rates Manually ======================= To add a rate: 1. Click **Add**. 2. Select the date. 3. Choose the **From** and **To** currencies. 4. Enter the conversion rate. 5. Click **Save**. Rates can be edited or deleted when they are not protected by existing trade references. Rates Used by Trades ==================== A rate referenced by stored trade data is protected from destructive key changes or deletion. This prevents required historical conversion data from being removed accidentally. Fetching Rates Automatically ============================ Note: Fetching rates requires an internet connection. Click **Fetch Rates** to scan for missing supported fiat-currency rates and request available historical values from the online rate service. * The automatic source covers supported fiat currencies. * Cryptocurrency rates such as BTC and ETH are not supplied and may need manual entry. * FTJ may use an available inverse or intermediate conversion path where supported. Filters and Validation ====================== The Rates view provides tools for finding stored rates and reviewing missing conversion data. The Dashboard guidance panel can also direct you to Rates when trades are excluded because of missing FX information. Unsaved Changes =============== Leaving Rates or closing the application with unsaved rate changes prompts you to save, discard or cancel the navigation. Demo Mode ========= Exchange rates are supporting reference data and remain manageable in Demo Mode. Demo Mode users can: * add and save rates; * edit eligible rates; * delete eligible unused rates; * fetch supported online rates. Normal protection for rates already used by trades still applies. ### Importing Data FTJ supports importing trade history from CSV and XLSX files. File import is available from the documented Import action in the Trades / database workflow. This page covers file-based import. Direct cTrader, MetaTrader 4, and MetaTrader 5 workflows are covered in Broker Sync. Supported formats ================= FTJ supports: * ".csv" * ".xlsx" Use the **cTrader** template for supported native cTrader XLSX exports. Use **Custom** mapping for other CSV/XLSX files. Custom mapping ============== The current **Custom** mapping dialog exposes these targets: * Symbol * Direction * EntryDate * ExitDate * EntryPrice * ExitPrice * Quantity * Fees * Swap Symbol, Direction, EntryDate, EntryPrice and Quantity are required by the mapping dialog. Quantity is treated as **units** in the current Custom workflow. For reliable 1.1.25 Custom imports, include ExitDate, ExitPrice and Fees columns as well; open-trade rows can leave ExitDate/ExitPrice blank. Swap can be left unmapped. The current Custom dialog does **not** expose mappings for Lots, StopLoss, TakeProfit, GrossPL, NetPL, ExternalId or Currency. Those fields must not be promised as Custom-import mappings in 1.1.25. Native broker/template workflows can support additional source data separately. If a direction label is not recognized, FTJ asks you to map it to Long or Short. Demo Mode import rules ====================== Demo Mode allows real file imports under a count-based rule. * A CSV/XLSX import can start while the journal contains fewer than 20 persisted trades. * The complete selected file is processed. FTJ does not truncate the import at 20 trades. * An import may take the journal from fewer than 20 trades to more than 20 trades. * At 20 or more persisted trades, another file import cannot start. * At exactly 20 trades, existing core trade details remain editable. * Above 20 trades, core trade details and execution mutations become read-only. * Viewing, Dashboard analytics, export, deletion, journal notes, and self-reflections remain available above the limit. * Deleting to exactly 20 unlocks core editing, but import remains blocked. * Deleting below 20 re-enables import and manual trade creation. The rule is based on the current persisted trade count. It is not a one-time import allowance. A duplicate-only import that leaves the journal below 20 does not prevent another import. Before a Demo Mode import starts, FTJ explains that the entire file will be imported and may move the journal above the limit. Account assignment ================== Select the destination FTJ journal account during import. Confirm the account before continuing. Date and number parsing ======================= FTJ accepts common date/time formats with and without milliseconds. Custom mapping allows an explicit date format when auto-detection is ambiguous. Both comma and period decimal separators are supported. For Custom imports, realised Gross/Net P/L is calculated from the imported Entry/Exit prices, Quantity, Fees and Swap. The selected journal account/base-currency context is used because the Custom mapping dialog does not expose a Currency field. Duplicate detection =================== FTJ uses external IDs where available and compares key trade details to avoid intentional duplicates. Re-importing the same file should normally skip records that already exist. Import result ============= After import, FTJ shows a summary with: * Added * Skipped * Errors A duplicate-only import may add no new trades. If the persisted count remains below 20, Demo Mode still permits another import. Common questions ================ **Will Demo Mode import only the first 20 rows?** No. An authorized import processes the complete selected file and is not truncated. **Why is Import disabled at exactly 20 trades?** New imports can start only while the journal contains fewer than 20 persisted trades. Delete to 19 or fewer, or activate a subscription/trial. **What remains available after an import takes the journal above 20?** Viewing, Dashboard analytics, export, deletion, journal notes, and self-reflections remain available. Core trade details and further imports are locked. ### Broker Sync FTJ supports read-only import of available broker account history through cTrader, MetaTrader 4 and MetaTrader 5 workflows. Navigate to **Brokers** in the sidebar. FTJ does not place, modify, copy or close trades on any broker platform. General Workflow ================ 1. Select cTrader, MT4 or MT5. 2. Connect to or read the active platform account. 3. Link the broker/platform account to an FTJ account. 4. Fetch or preview executions. 5. Select the rows to import. 6. Click **Import Selected**. After an import, the fetched execution preview remains visible. Successfully processed rows are deselected so you can see what was handled without losing the current fetched context. Demo Mode ========= * Connection setup and account-link management remain available. * Fetch, preview and import can start while the journal contains fewer than 20 persisted trades. * An authorised selected import is complete and is not truncated at 20 trades. * At 20 or more persisted trades, new fetch/preview/import operations are blocked. * Disconnect, sign-out, link editing/removal and connection cleanup remain available after the limit. cTrader ======= * Uses browser-based OAuth 2.0. * FTJ does not store the broker password. * Internet is required for authentication and fetching. * Reconnect when access expires or is revoked. MetaTrader 4 ============ 1. Select the intended local "terminal.exe". 2. Click **Install MT4 Bridge** for a first installation, or **Update MT4 Bridge** when FTJ reports that the bridge is incompatible. 3. FTJ writes the files to the selected terminal's data folder at "MQL4/Experts/Forgalis MT4 Bridge". 4. Install and Update use this same folder. Update replaces the existing "ForgalisMt4Bridge.mq4" and "ForgalisMt4Bridge.ex4" files and does not intentionally create a second bridge folder. 5. Open the same MT4 terminal with the intended account active. 6. Restart MT4 or refresh Expert Advisors in Navigator. 7. Remove any already-running "ForgalisMt4Bridge" from its chart and attach the current copy again. 8. Enable Expert Advisor execution / AutoTrading. 9. Load the account-history period that should be available. 10. Return to FTJ, click **Read Active MT4 Account**, link the account, fetch executions and import selected rows. Replacing files does not update an Expert Advisor that is already running on a chart. The refresh/restart and reattachment steps are required before the new bridge version is active. The bridge is read-only. The public "ForgalisMt4Bridge.mq4" source file is included for transparency. FTJ can import current MT4 open positions when the bridge exposes the required state. An imported broker-synced position remains an open journal trade until later Fetch/Sync observes the broker close. Manual MT4 fallback ------------------- Use **Export Bridge Files** when automatic installation cannot resolve the correct data folder. 1. Export the current bridge files from FTJ. 2. In MT4, choose **File -> Open Data Folder**. 3. Open "MQL4/Experts/Forgalis MT4 Bridge". 4. Copy the exported ".mq4" and ".ex4" files into that folder and replace the older files. 5. Restart MT4 or refresh Expert Advisors. 6. Remove the running bridge from the chart and attach the current copy again. If two Forgalis bridge folders are visible, use "Forgalis MT4 Bridge". Confirm that the current bridge files are in that folder and attach that copy. Do not delete another folder until you have confirmed that it contains no custom or separately compiled files. MetaTrader 5 ============ 1. Select the intended local "terminal64.exe". 2. Open that same MT5 terminal with the intended account active. 3. Ensure the required deal/order history is available locally. 4. Read the active account, link it, fetch executions and import selected rows. The bundled MT5 bridge uses compatible history fallback paths when a terminal/runtime-specific history call fails. For journal-tracked open positions, FTJ can also recover missing recent position deals when the available bridge data supports it. This improves resilience but does not let FTJ invent history that MetaTrader never exposes. Bridge Compatibility ==================== Current FTJ releases validate the MT4/MT5 bridge protocol before importing contract-size-aware data. If FTJ reports that the bridge is old, missing a supported protocol version or newer than the app understands: 1. Stop the current import attempt. 2. For MT4, use **Update MT4 Bridge** and complete the refresh/restart and reattachment steps above. 3. For MT5, replace the bridge executable with the version included in the current FTJ package. 4. Retry only after the platform is running the current bridge. Do not bypass compatibility warnings. They protect quantity and contract-size interpretation. Saved Terminal References ========================= MT4 and MT5 terminal selections are remembered locally. Use **Forget terminal** when you want FTJ to remove a saved terminal reference and choose it again later through Browse. **Forget terminal** removes only FTJ's saved local reference. It does not delete MetaTrader program files, bridge files, broker account links or journal data. Open Broker Positions and Reconciliation ======================================== Where the broker/bridge exposes enough information, FTJ can materialize an open broker position in the journal before it closes and later reconcile that same journal trade when Fetch/Sync observes the broker close. The source-of-truth boundary remains read-only: * FTJ does not send close/modify orders to the broker; * close a broker-synced open position at the broker, then Fetch/Sync again; * known Initial SL / Initial TP remain the original plan and are not replaced by later managed stop states; * broker-observed managed stops can appear separately in the trade's **Stop History**. Stop History contains only states FTJ actually observed. Its timestamp is the observation time, not an invented exact broker amendment time. Linking Accounts ================ Link each broker/platform account to the correct FTJ account. The FTJ account base currency should match the broker deposit currency. Demo Mode supports creating multiple FTJ accounts, but the 20-trade allowance is global across the database. Imported Data ============= FTJ imports only fields exposed by the source, potentially including: * symbol, side, quantity and price; * execution time and broker identifiers; * realised P/L and conversion information; * fees and swap; * stop loss and take profit; * contract-size/quantity-normalisation information. FTJ cannot safely reconstruct historical values the source does not expose. Broker exits/fills do not automatically create a manual **Planned Targets** plan. Quantity and Contract Size -------------------------- Trade quantity is stored in units. MT4/MT5 contract-size information helps FTJ normalise broker lots into units. cTrader broker- authoritative contract size is persisted and used for Lots display when available. Important: Verified 1.1.25 XAGUSD behavior is **50 units = 0.01 lots** with **1 lot = 5,000 units**. If cTrader does not expose broker-authoritative contract-size metadata for a symbol, FTJ falls back to the configured **Units per Lot** for the selected account/symbol. Treat that configured value as a fallback, not as broker-provided evidence. Broker Reported and Calculated P/L ---------------------------------- Eligible imported execution-based trades can expose: * **Broker reported** - use usable booked account-currency P/L supplied by the broker. * **Calculated** - rebuild Gross P/L from the current executions and available conversion information. Imported fees/swap can also support separate **Adjust Costs** journal adjustments without replacing the original broker source values. Duplicate Prevention ==================== Re-fetching and re-importing the same history should not intentionally create duplicate executions or trades. FTJ uses source identifiers where available and fallback matching when needed. History Depth ============= FTJ can import only the history exposed by the broker/platform. MT4 and MT5 depth depends on what is available in the selected local terminal. Troubleshooting =============== Use the **Status Log** and include the FTJ version, platform, account type, symbol and approximate execution time in a support report. Redact tokens, licence keys and other secrets. ### Settings The Settings view contains database management, backups, display preferences, image constraints, lot sizes, licensing, legal information and advanced troubleshooting tools. Navigate to **Settings** in the sidebar. Database ======== The Database section shows the active database path and provides actions such as: * **New DB** - create a new blank database. * **Open DB** - switch to an existing ".db" file. * **Import** - open the CSV/XLSX importer. * **Export** - export trades to CSV. * **Backup** - create a database backup. Warning: We recommend creating a backup before using database recovery or replacing the active database. Demo Mode can import while the journal contains fewer than 20 persisted trades. An authorised import processes the complete selected file and is not truncated at 20. New Database, Restore and other explicitly full-access database replacement actions remain restricted. Backup Settings =============== Backup options include reminder settings, startup auto-backup and retained backup count. Keep a separate copy of important database backups outside the application data folder. Time Format =========== Choose the preferred 12-hour or 24-hour display format. Images ====== Image settings control maximum dimensions, file size and JPEG conversion for screenshots stored inside the local database. Larger image limits increase database size. Lot Sizes ========= Lot settings define **Units per Lot** for a specific account and symbol. FTJ stores trade quantity in units. The Trades Entry card can display quantity as Units or Lots, but correct Lots conversion requires the correct contract size for the selected account and instrument. Break-Even Classification ========================= The **Break-even classification** card controls how very small realised outcomes are classified for Dashboard and Reports review. **Net P/L tolerance** is one journal-wide absolute amount: * default "0" preserves exact break-even classification; * a trade whose effective Net P/L is inside the configured ± range is classified as Break-even; * the amount is interpreted in that trade account's base currency; * the trade's actual monetary P/L is not changed; * changing Reporting Currency does not change the Win / Break-even / Loss classification. **Exclude break-even trades from Win Rate** is a separate denominator rule. When enabled, Break-even trades remain in the journal and in other applicable metrics, but Win Rate uses wins and losses only. If that leaves no eligible wins or losses, Win Rate is shown as unavailable rather than 0%. The Break-even tolerance is stored with the active journal and switches with **Open DB**. Reports provides a shortcut back to this Settings card. License ======= The License card shows the current subscription/trial state, provider information, app version and refresh controls. Paid licensing is handled through Freemius. Microsoft Store is used for installation and updates. Demo Mode --------- Without an active subscription or trial, FTJ runs in Demo Mode. Trade-count behaviour: * Manual trade creation is available while fewer than 20 persisted trades exist. * CSV/XLSX and broker imports can start while fewer than 20 persisted trades exist. * An authorised import is complete and is not truncated at 20 trades. * New trades and imports are blocked at 20 or more persisted trades. * Existing core trade details remain editable at exactly 20 trades. * Above 20 trades, core trade details and execution mutations become read-only. * Viewing, Dashboard analytics, export, deletion, journal notes and self-reflections remain available. * Deleting to exactly 20 unlocks core editing. * Deleting below 20 also re-enables manual creation and imports. Supporting workflows available in Demo Mode include: * creating and managing multiple accounts; * managing account cash flows; * adding, editing, deleting and fetching exchange rates; * broker connection setup, sign-out and link management; * limited strategy, confluence and exit-reason creation according to the displayed limits. The default account, accounts containing trades and exchange rates referenced by trades retain their normal safety protections. Advanced ======== Database Recovery ----------------- Database Recovery works on a copy and provides validation/repair options intended for troubleshooting. Do not use recovery as a substitute for regular backups. Debug Logging ------------- Debug logging provides additional broker/import diagnostics. Enable it only while troubleshooting because verbose logs can grow and may affect performance. Seed Strategies & Exit Reasons ------------------------------ Adds missing built-in strategies, confluences and exit reasons. Existing items are not intentionally duplicated. Test Tools ---------- The collapsed **Test Tools** area contains synthetic-data utilities for exploring and evaluating the application. **Large Journal Performance Test** is available in both Demo and Full Access. It generates synthetic trades in the active journal so you can evaluate FTJ with a larger trade history. Available profiles: * **Core** - keeps executions but removes screenshots. * **Realistic** - keeps executions and retains screenshots on about 10% of generated trades. * **Extreme** - keeps executions and retains screenshots on all generated trades. Demo can run the performance test beyond the normal 20-trade limit. This is a narrow exception for generating performance-test data only. After the test data is added, the normal Demo restrictions still apply to creating new trades and editing core trade details. Warning: The performance test adds synthetic trades to the current journal, and each run adds another full batch. Use a separate test database when evaluating large tiers or when the active journal contains real trading data so the test data is easy to discard afterward. Legal ===== The Legal section contains the product disclaimer and links to licence and third-party notices. Forgalis TradingJournal is a journaling and analysis tool. It does not provide trading signals, investment advice or financial recommendations. ### Glossary Account A local FTJ trading-account record with a name, base currency, balances and cash flows. Each trade belongs to one account. Base Currency The denomination currency of an FTJ account and the currency used for account-level P/L and journal-wide Break-Even tolerance classification for that account's trades. Break-Even Tolerance A journal-wide absolute Net P/L amount used to classify small positive or negative account-base outcomes as Break-even for review. It does not rewrite actual P/L and is separate from the Exclude-break-even Win Rate denominator option. Broker Reported P/L Usable booked account-currency P/L supplied by an integrated broker/platform for an eligible imported trade. Calculated P/L P/L rebuilt by FTJ from current execution quantities/prices and available conversion information. Cash Flow A deposit or withdrawal that changes account balance but is not a trading result. Confluence A reusable tag for a condition or observation associated with a trade setup. It does not predict whether the trade will succeed. Drawdown A decline from a previous realised-performance high to a later value/trough for the selected Reports scope and currency mode. Equity Curve A chronological chart of cumulative realised results for the selected data scope. Execution One fill with a side, quantity, price and timestamp. An execution- based trade contains one or more executions. Exit Reason A structured tag recording why a trade was closed. Expectancy A calculated average outcome per included trade, based on the metric's current valid data scope. Gross P/L Realised profit or loss before effective fees and swap adjustments. Initial SL The original risk-defining Stop Loss recorded for the trade. A later observed break-even/trailing stop does not overwrite a known Initial SL. Initial TP The original summary planned Take Profit when known. When a Planned Targets plan exists, TP1 controls the summary Initial TP. Lot A display/entry quantity based on configured Units per Lot for a specific account and symbol. FTJ stores trade quantity in units. Net P/L Realised profit or loss after effective fees and swap. Open Trade A position that has not been flattened/closed. It does not show realised Gross/Net P/L or contribute to closed-trade KPIs. Payoff Ratio The magnitude of average winning result divided by the magnitude of average losing result for included trades. It is not an R-multiple. Planned R Planned reward relative to original Entry-to-Initial-SL risk. A multi-target plan uses the target percentage allocations to calculate weighted Planned R. Planned Target One intended take-profit level in the pre-trade plan. A complete multi-target plan assigns percentage allocations totalling 100%. Planned targets remain separate from actual fills/exits. Profit Factor Gross positive results divided by the magnitude of gross negative results for included trades, when the required data exists. Realised R Effective realised Net P/L divided by the original account-base risk. It is unavailable when the required initial-risk/P/L/currency data is invalid or missing. Reporting Currency The currency used for combined monetary reporting across accounts in Dashboard and Reports. It does not change dimensionless R or account-base Break-Even classification. Session A trade tag selected from Asia, London, NY, London/NY Overlap, Afternoon or Evening. Sharpe Ratio A risk-adjusted return metric shown only when the current calculation has enough valid data. The in-app value is authoritative. Stop History Broker stop states FTJ actually observed after the original plan. It is stored separately from Initial SL; its timestamp is the observation time, not a reconstructed exact broker amendment time. Strategy A reusable tag for a named trading setup or approach. Swap Financing/rollover value associated with holding a position. Imported broker values can be supplemented by a separate journal adjustment where supported. Unit The stored quantity basis used by FTJ. Lots are converted to/from units through Units per Lot. VWAP (Volume-Weighted Average Price) An average price weighted by execution quantity, used for execution-derived entry/exit values. Win Rate The percentage of eligible included closed trades classified as Wins under the journal's Break-Even rule and the current Exclude- break-even denominator setting. ### Keyboard Shortcuts Only shortcuts verified in the current application are listed here. Trades ====== +--------------------------------+------------------------------------------------------------------------+ | Shortcut | Action | |================================|========================================================================| | **Ctrl+F** | Focus the Trades search/filter field. | +--------------------------------+------------------------------------------------------------------------+ Standard Text Editing ===================== Text fields use the normal Windows editing shortcuts where the selected control supports them, including: * **Ctrl+X** - Cut. * **Ctrl+C** - Copy. * **Ctrl+V** - Paste. * **Ctrl+A** - Select all. Mouse Interactions ================== Charts and tables can expose mouse interactions such as scrolling, selection, tooltips or context menus. Available actions depend on the specific visible control; do not assume every chart supports the same zoom or pan gestures. ### Frequently Asked Questions General ======= **Does FTJ require an internet connection?** Manual journaling and the local database work offline. Internet is needed for cTrader authentication/fetching, supported online exchange- rate requests, licence actions and Microsoft Store installation/updates. MT4 and MT5 use local terminal/bridge components. **Where is my data stored?** In the active local SQLite database. The current path is shown in **Settings -> Database**. **Can I back up or move my data?** Yes. Use **Settings -> Database -> Backup**, or copy the ".db" file when it is not being written to. Keep a separate backup before replacing or moving a database. **Can I use FTJ on Mac or Linux?** No. FTJ is a Windows desktop application. Demo Mode ========= **Can I import trades in Demo Mode?** Yes, while the current database contains fewer than 20 persisted trades. This applies to CSV/XLSX and supported cTrader, MT4 and MT5 imports. **Will FTJ import only enough rows to reach 20 trades?** No. An authorised import processes the complete selected file or broker selection and may take the journal above the limit. **What happens at exactly 20 trades?** New manual trades and imports are blocked. Existing core trade details remain editable. **What happens above 20 trades?** Core trade details and execution mutations become read-only. Viewing, Dashboard review, export, deletion, journal notes and self-reflections remain available. **Can I create multiple accounts in Demo Mode?** Yes. The 20-trade limit is global across all accounts in the current database. **Can I manage Rates in Demo Mode?** Yes. Eligible rates can be added, fetched, edited and deleted. Rates used by trades can retain normal destructive-edit/delete protection. **How do I re-enable editing or importing?** Delete down to exactly 20 trades to unlock core editing. Delete below 20 to also re-enable new manual trades and imports. Activating a subscription/trial removes the limits. **Can I disconnect a broker after reaching the limit?** Yes. Connection cleanup, sign-out and link removal remain available. Trades and P/L ============== **Why is a converted P/L value unavailable?** A missing exchange rate is a common cause. Open Rates and add or fetch the required date/currency conversion. **Why is a trade excluded from reporting-currency totals?** FTJ could not find a usable conversion path. It excludes affected monetary values instead of silently mixing currencies. **Why does an open trade not show Gross/Net P/L?** Gross/Net P/L is treated as realised performance. Open trades are excluded from closed-trade KPIs. **What does Derived from executions mean?** Entry, exit and quantity values are calculated from individual fills rather than entered manually. **What is Broker reported versus Calculated P/L?** Broker reported uses usable booked account-currency P/L from the broker. Calculated rebuilds Gross P/L from current executions and available conversion information. **What does Adjust Costs do?** It creates separate journal adjustments for fees and swap without overwriting the original broker-reported values. **Are quantities stored as Units or Lots?** FTJ stores quantity in units. Lots is a display and entry conversion based on Units per Lot configured for the selected account and symbol. **Where are Initial SL, Initial TP and Planned R?** They are part of the Entry/setup side of the current Trades workflow. Initial SL defines the original risk, Initial TP is the summary planned target and Planned R describes planned reward relative to that original risk. **How do multiple Planned Targets work?** Expand **Planned Targets**, add TP1/TP2/etc. and assign percentage allocations. A complete saved plan must total 100%. FTJ calculates weighted Planned R from those allocations. TP1 controls the summary Initial TP while the plan exists. **Why does Planned R show '-'?** Required risk data may be missing, or the geometry may be invalid. For a Long, Initial SL must be below Entry and planned targets above Entry; for a Short the directions are reversed. FTJ leaves Planned R unavailable instead of showing a misleading extreme value. **What is Stop History?** When broker sync observes managed stop changes, **History (n)** beside Initial SL opens the Stop History subsection. It records broker states FTJ actually observed and keeps them separate from the original Initial SL. The displayed time is when FTJ observed the state, not a reconstructed exact broker modification time. **Why do some Trades sections stay collapsed after restart?** The top-level Strategy & Confluences, Images, Trade Notes, Executions & Stop History and Self-Reflection sections remember your workspace expand/collapse preference between app restarts. This layout preference does not change the journal data. **What is Break-Even tolerance?** Open **Settings -> Break-even classification**. Net P/L tolerance classifies small positive/negative results inside the configured ± amount as Break-even for review, using each trade account's base currency. Actual P/L is unchanged. Excluding break-even from Win Rate is a separate option. **What happens if I import the same source twice?** FTJ uses source identifiers and fallback trade details to avoid intentional duplicates. Broker Sync =========== **Which platforms are supported?** cTrader, MetaTrader 4 and MetaTrader 5 through read-only import workflows. **Will FTJ place trades for me?** No. FTJ does not place, modify, copy or close broker trades. **Does FTJ store my broker password?** No. cTrader uses OAuth. MT4 and MT5 read from local terminal/bridge components. **Where is the MT4 bridge installed?** FTJ installs the bridge in "MQL4/Experts/Forgalis MT4 Bridge" inside the selected MT4 terminal's data folder. **Install MT4 Bridge** and **Update MT4 Bridge** use this same folder. **What does Update MT4 Bridge do?** It replaces the existing "ForgalisMt4Bridge.mq4" and "ForgalisMt4Bridge.ex4" files in "MQL4/Experts/Forgalis MT4 Bridge". It does not create a second bridge folder. Replacing the files does not update an EA that is already running on a chart, so restart or refresh MT4, remove the running bridge from the chart and attach it again before retrying. **Why does FTJ require an MT4/MT5 bridge update?** The bridge is older, reports no supported protocol or is newer than the app understands. For MT4, use **Update MT4 Bridge**, refresh/restart MT4 and reattach the EA. For MT5, replace the bridge executable with the version included in the current FTJ package and restart the platform. **Why do I see two Forgalis bridge folders in MT4?** The supported folder is "Forgalis MT4 Bridge". Confirm that the current bridge files are in that folder and attach that copy. Do not delete another folder until you have confirmed that it contains no custom or separately compiled files. **Can FTJ keep an open broker position in the journal and update it when it closes?** Yes, where the supported broker/bridge exposes enough state. Close the broker-synced position at the broker, then Fetch/Sync so FTJ can reconcile the journal trade. FTJ does not send the close order. **What does Forget terminal delete?** Only FTJ's saved local MT4/MT5 terminal reference. It does not delete MetaTrader files, bridge files, broker links or journal data. **How does cTrader Lots display work for XAGUSD or another non- standard symbol?** FTJ stores/imports position quantity in units. When cTrader exposes broker-authoritative contract size, FTJ persists and uses it for Lots display. Verified 1.1.25 XAGUSD behavior is **50 units = 0.01 lots** with **1 lot = 5,000 units**. If broker contract-size metadata is unavailable, the configured Units per Lot for the account/symbol is used as the fallback. **Does broker sync import fees, swap, stop loss and take profit?** Only when the broker/platform exposes those values historically. Dashboard ========= **Where is Analytics?** There is no separate Analytics or Calendar sidebar destination. Use Home / Dashboard for visible performance summaries and charts. **Why are some metrics empty?** Core metrics use closed trades and may also require loss data, Stop Loss values, exchange rates or enough valid observations. Support ======= For broker support, include FTJ version, platform, account type, approximate execution time, symbol and a copied Status Log with secrets redacted. ## Supplemental Support Knowledge The following public-safe support topics complement the manual with additional troubleshooting, FAQ and workflow detail. Exact duplicate blocks are omitted. ### Product Overview #### What Forgalis TradingJournal is Forgalis TradingJournal (FTJ) is a local-first, privacy-focused Windows desktop trading journal for recording, reviewing and analysing personal trading activity. The product is published by Forgalis AB and distributed through Microsoft Store. Paid licensing is handled through Freemius. #### What FTJ supports - Manual trade journaling. - Execution/fill-based trade construction. - Strategies, confluences, exit reasons and reusable mistake tags. - Notes, screenshots and self-reflection. - Initial-risk review with Initial SL / Initial TP, Planned R and Realised R. - Multiple Planned Targets with weighted Planned R. - Broker-observed Stop History kept separate from the original plan. - Home / Dashboard KPIs, charts and recent activity. - Reports for closed-trade analysis, including performance quality, drawdown/recovery, timing, symbol/direction and discipline views. - Multiple accounts, cash flows, base currencies and reporting currency. - Exchange-rate and lot-size management. - CSV/XLSX import. - Read-only cTrader, MT4 and MT5 import workflows. - Local database backups and recovery tools. - Large Journal Performance Test under Settings -> Test Tools for synthetic large-journal evaluation. - Journal-wide Break-Even tolerance plus a separate Exclude-break-even Win Rate rule. #### What FTJ does not do FTJ does not: - provide signals, investment advice or financial recommendations; - place, modify, copy or close broker trades; - operate as a trade copier or auto-trader; - act as a tax, accounting or custody product; - sync journal data to a Forgalis-hosted cloud journal; - provide multi-user collaboration on a shared journal; - run on macOS, Linux, mobile or web. #### Platform and access - Windows 10/11 desktop. - Microsoft Store installation and updates. - An active subscription or trial provides Full Access. - Without active Full Access, FTJ runs in Demo Mode. #### Demo Mode Demo Mode is usable and is not an export-only lockout. ##### Trade-count rules - Manual trade creation and CSV/XLSX or broker imports can start while fewer than 20 persisted trades exist. - An authorised import processes the complete selected file or broker selection and is not truncated at 20. - At 20 or more trades, new manual trades and imports are blocked. - At exactly 20, existing core trade details remain editable. - Above 20, core trade details and execution mutations are read-only. - Viewing, Dashboard and Reports review, export, deletion, journal notes and self-reflections remain available above the limit. - Deleting to 20 unlocks core editing. - Deleting below 20 also re-enables new creation/import. The limit is global across all accounts in the current database. Unsaved drafts do not count. ##### Other Demo Mode access - Multiple accounts can be created, edited and safely deleted. - Account cash flows can be managed. - Exchange rates can be added, fetched, edited and safely deleted. - Broker connection setup, link management, sign-out and cleanup remain available. - Up to 3 custom strategies, 5 custom confluences and 5 custom exit reasons can be created. - Large Journal Performance Test is available under Settings -> Test Tools as a specific synthetic-test exception. - New Database, Restore and explicitly Full Access configuration remain restricted. Normal safety protections still apply to the default account, accounts containing trades and exchange rates used by trades. #### Trade economics and quantity - Open trades do not show realised Gross/Net P/L and are excluded from closed-trade KPIs. - Eligible imported execution-based trades can choose Broker reported or Calculated P/L. - Calculated P/L uses current executions and available conversion information. - Adjust Costs creates separate journal fee/swap adjustments without overwriting broker source values. - Trade quantity is stored in units. - Lots display uses broker-authoritative cTrader contract size when available. If broker metadata is unavailable, FTJ uses Units per Lot configured per account and symbol as the fallback. - Top-level Trades review expand/collapse preferences persist between app restarts as workspace settings. #### Data ownership - Journal data is stored in the active local SQLite database. - The current path is shown in Settings -> Database. - Broker workflows import selected data into that local database. - There is no Forgalis-hosted journal-data cloud sync. #### Visible navigation Current sidebar areas include Home, Trades, Reports, Account, Strategy, Rates, Settings, Brokers and Help. There is no separate legacy Analytics or Calendar sidebar destination. Use Home / Dashboard for the main performance overview, Reports for multi-panel closed-trade analysis and Trades for detailed review. #### Disclaimer > Forgalis TradingJournal is a journaling and analysis tool only. It does not provide trading signals, investment advice or financial recommendations. You are solely responsible for your own trading decisions. ### Getting Started #### Installation and first launch - FTJ is distributed for Windows 10/11 through Microsoft Store. - First launch creates or opens a local SQLite journal. - The user accepts the Terms of Use before normal use. - The application opens on Home / Dashboard. #### Finding the active database Use **Settings -> Database**. The displayed path is authoritative because Full Access users can open or create another `.db` file. Do not rely only on a remembered default folder when troubleshooting missing data. #### Main navigation There is no separate legacy Analytics or Calendar sidebar destination. #### Suggested setup 1. Accept the Terms of Use. 2. Open Account and configure the correct name, base currency and starting balance. 3. Create additional accounts when needed, including in Demo Mode. 4. Optionally seed or create strategies, confluences and exit reasons, and use Mistakes for post-trade review. 5. Configure Units per Lot for instruments where Lots display is required. 6. Add data through New Trade, CSV/XLSX import or Brokers. 7. Review the result in Trades, Home / Dashboard and Reports. #### Demo Mode - New manual trades and imports can start below 20 persisted trades. - An authorised import is complete and is not truncated at 20. - At exactly 20, new trades/imports are blocked but existing core editing remains available. - Above 20, core trade and execution editing is locked. - Viewing, Dashboard/Reports review, export, deletion, notes and self-reflections remain available. - Multiple accounts and exchange-rate management remain available. - The 20-trade limit is global across all accounts in the current database. - New Database, Restore and explicitly Full Access configuration remain restricted. - Large Journal Performance Test is available in both Demo and Full Access as a specific Test Tools exception; it does not change the normal Demo trade-count rules. #### File import 1. Open Import. 2. Select CSV or XLSX. 3. Choose the supported cTrader template or Custom mapping. 4. Select the destination FTJ account. 5. Review the Demo Mode full-batch warning where applicable. 6. Import and review Added/Skipped/Errors. See CSV / XLSX Import. #### Broker import 1. Open Brokers and select cTrader, MT4 or MT5. 2. Connect/read the intended account. 3. Link it to the correct FTJ account. 4. Fetch/preview data. 5. Select and import. Use current MT4/MT5 bridge files. If FTJ reports a compatibility problem, reinstall/export the bridge from the current app version rather than bypassing the warning. See Broker Sync. #### Manual trade 1. Click **New Trade**. 2. Complete Entry data. 3. Add Exit data after the position closes. 4. Add strategies, confluences, exit reason, mistakes, images, notes and reflection as appropriate. 5. Click **Save Changes**. FTJ stores quantity in units. Lots is a display/entry conversion based on Units per Lot for the selected account and symbol. The lower Trades review sections can be expanded/collapsed. FTJ remembers top-level workspace disclosure preferences between application restarts. #### Large Journal Performance Test Open **Settings -> Test Tools -> Large Journal Performance Test** to generate synthetic trades in the active journal for large-journal evaluation. The tool is available in Demo and Full Access. It is intended for synthetic performance testing, not as a way to bypass normal Demo creation/import restrictions. When preserving existing journal data matters, recommend a backup or separate test database before adding a large synthetic dataset. #### Common questions **Q: What should I do first?** A: Configure an account/base currency, then create or import trade data. **Q: Why did a Demo Mode import create more than 20 trades?** A: Authorised imports are complete and are not truncated. Above 20, core editing and new imports are locked while review/export/deletion/annotations remain. **Q: Can I add another account in Demo Mode?** A: Yes. The trade allowance is shared across the database. **Q: Can I use the Large Journal Performance Test in Demo Mode?** A: Yes. It is intentionally available in both Demo and Full Access, while the normal Demo trade-count restrictions remain unchanged. ### Trade Logging #### Trade types A trade can be: - **Manual** - core entry/exit values are entered directly. - **Execution-based** - entry, exit and quantity are derived from individual fills. Derived fields are read-only and show **Derived from executions**. #### Trade list and navigation The Trades list can show instrument, direction, date and realised Net P/L. Sorting, search and filters limit the visible list. Prev/Next follows the filtered list. - **New Trade** creates a draft with the first available account, Long direction and current Entry Date Time. - **Ctrl+F** focuses the Trades search field. - The five Self-Reflection dots in each row indicate completion across the five reflection ratings. - Leaving Trades with unsaved changes offers Save, Discard or Cancel. #### Entry and original plan The current Entry/setup flow includes: - Instrument and Direction; - Entry Date Time and optional milliseconds; - Entry Price and Quantity; - Initial SL; - Initial TP; - Planned R; - Planned Targets; - Session and Timeframe; - Units/Lots position-size information; - Currency and Account. **Initial SL** is the original risk-defining stop FTJ has recorded. **Initial TP** is the original summary planned target when known. Later observed break-even/trailing stop changes do not overwrite a known Initial SL. FTJ never invents an original SL/TP that the source did not provide. Manual corrections remain journal data and should not be described as broker history. ##### Planned R Planned R describes planned reward relative to the original Entry-to-Initial-SL risk. Direction must be valid: - Long: Initial SL below Entry; planned target above Entry. - Short: Initial SL above Entry; planned target below Entry. If required inputs are missing or geometry is inverted, Planned R is unavailable rather than an extreme/negative ratio. Valid large Planned R values are not capped merely because they are large. ##### Planned Targets A multi-target plan can contain TP1, TP2 and further targets with percentage allocations. - A complete saved plan must total 100%. - Weighted Planned R uses each target's R multiplied by its allocation, against the same original risk denominator. - TP1 controls the summary Initial TP while the plan exists. - Planned Targets are intent, not actual fills. - Broker exits/fills and Stop History do not create or rewrite the planned target plan. - Changing the plan can change Planned R but does not change Realised R, executions, broker P/L or Stop History. - Duplicate Trade copies the plan and the copy is independent afterward. #### Quantity, Units and Lots FTJ stores quantity in units. - **Units** displays stored quantity directly. - **Lots** converts using the selected trade's persisted broker-authoritative cTrader contract size when available; otherwise it uses configured Units per Lot for the selected account and symbol. - The display preference is remembered per account. - For manual trades and fallback cases, Lot Settings must match the intended contract size before Lots display is trusted. - The Position size card warns when conversion is not configured safely. In 1.1.25, cTrader broker-authoritative contract size is persisted and used for Lots display when available. Verified XAGUSD behavior is **50 units = 0.01 lots** at **5,000 units per lot**. If broker contract-size metadata is unavailable, FTJ uses the configured Units per Lot for that account/symbol as the fallback. #### Exit and realised result Exit/result fields can include: - Exit Date Time and Exit Price; - Realised R; - Gross P/L and Net P/L; - Fees and Swap; - Exit Reason; - Broker reported / Calculated P/L where eligible; - Adjust Costs where eligible. **Realised R** is effective realised Net P/L in account base currency divided by original risk in account base currency. It is separate from Planned R and remains unavailable for open trades or when required initial-risk/P/L/currency data is missing. ##### Broker reported versus Calculated Eligible imported execution-based trades can offer: - **Broker reported** - usable booked account-currency P/L supplied by the broker. - **Calculated** - Gross P/L rebuilt from current executions and available conversion information. Broker reported is disabled when no usable broker P/L exists. Save persists the selected source; Cancel restores the previous saved source. ##### Adjust Costs **Adjust Costs** creates separate journal adjustments for fee and swap values. - Original broker-reported values are preserved. - Net P/L uses the effective adjusted costs. - Save persists staged adjustments; Cancel discards them. #### Executions and Stop History ##### Executions Execution actions can include Add, Create Entry, Edit, Reload, Delete, Close Position, split/merge and link/group operations depending on trade state and permissions. FTJ derives entry/exit timestamps, direction, VWAP entry/exit price, quantity and open/closed state from fills. A position is closed when buy and sell quantities net to zero within the application's tolerance. Closed execution-based trades can be locked against accidental edits. Broker-synced **open** trades retain the existing 1.1.25 manual-edit behaviour; locking them by default is a deferred follow-up, not current release behaviour. A broker-synced open position must be closed at the broker, then Fetch/Sync is used to reconcile the journal. FTJ does not send the close order. ##### Stop History If broker sync observes managed stop changes, **History (n)** beside Initial SL opens Stop History inside **Executions & Stop History**. - Initial SL remains the original plan. - Stop History stores only broker states FTJ actually observed. - Exact observed SL == Entry can be labelled as a break-even stop observation. - Repeated unchanged states are deduplicated. - The displayed time is the FTJ observation time, not an invented exact broker modification timestamp. - Manual trades do not fabricate Stop History. - Missing broker-side amendments cannot be reconstructed. #### Setup, images, notes and reflection The lower review workflow uses top-level progressive disclosure: - **Strategy & Confluences** includes Pre-Trade Plan. - **Images** contains screenshots. - **Trade Notes** contains post-trade notes. - **Executions & Stop History** contains fills plus the inner Stop History expander. - **Self-Reflection** contains five ratings, Mistakes and Additional Reflection. Defaults for a new workspace state: - Strategy & Confluences: collapsed. - Images: automatic empty/populated default until the user explicitly chooses. - Trade Notes: expanded. - Executions & Stop History: expanded. - Self-Reflection: collapsed. After an explicit choice, FTJ remembers these top-level workspace disclosure preferences between trade switches and application restarts. They are UI preferences, not per-trade journal fields. Collapsed headers keep summaries so important review context remains visible. #### Tags and mistakes Strategies, confluences and one exit reason can be associated with a trade. Self-Reflection supports reusable **Mistakes**: - **Add Mistake** selects one or more execution/discipline mistake tags; - **No mistakes** records an explicit clean review; - **Manage mistakes** opens the Mistakes catalogue under Strategy. **Not reviewed** remains distinct from **Reviewed: no mistakes**. Mistake tags are review observations, not trading signals or recommendations. #### Saving and deleting - **Save Changes** persists the trade and staged economics/review settings. - **Cancel** restores the persisted state. - **Delete** permanently removes the trade after confirmation. - Keep a backup because deletion is not directly undoable. #### Demo Mode - Below 20 persisted trades: new manual trades and imports are available. - Exactly 20: new creation/import is blocked, but existing core fields remain editable. - Above 20: core trade and execution edits are locked. - Notes, self-reflections, viewing, Dashboard/Reports review, export and deletion remain available above the limit. #### Common questions **Q: Why can I not type in Entry Price?** A: The trade is probably derived from executions. Edit the underlying fills where allowed. **Q: Why is Planned R unavailable?** A: Check Entry, Direction, Initial SL and the target(s). Invalid Long/Short geometry or an incomplete/invalid target plan leaves Planned R unavailable. **Q: Why did changing TP1 change Initial TP?** A: TP1 controls the summary Initial TP while a Planned Targets plan exists. **Q: Why is Stop History empty?** A: FTJ only records trustworthy broker stop states it actually observes. It does not reconstruct unobserved broker changes or fabricate history for manual trades. **Q: Why does an open trade have no Gross/Net P/L or Realised R?** A: Those are realised-result values and require a closed/eligible trade. **Q: Why is Lots conversion wrong?** A: Verify the selected account/symbol conversion. For cTrader, prefer persisted broker-authoritative contract size when available; otherwise verify the configured Units per Lot fallback. **Q: What is the difference between a clean trade and an unreviewed trade?** A: Clean means a mistake review was explicitly recorded with no mistakes. Unreviewed means no mistake review has been recorded. ### Strategies, Confluences, Exit Reasons and Mistakes #### Where to manage them Open **Strategy** from the sidebar. The workspace contains Strategies, Confluences, Exit Reasons and Mistakes. #### Strategies A strategy is a reusable name/description/image for a setup or trading approach. A strategy can link to expected confluences as a checklist/template. A strategy already used by trades can be protected from deletion until references are removed. #### Confluences A confluence is a reusable condition or observation associated with a setup/trade. It does not predict success or prove setup quality. When a strategy is selected on a trade, linked confluences can be selected as a convenience. Trade-level selections record what was actually present. #### Exit Reasons An exit reason records why a trade closed. One exit reason is selected on a trade; strategies and confluences can be multi-select. #### Mistakes The **Mistakes** tab manages reusable execution and discipline mistakes used during post-trade review. - Built-in mistakes can be renamed or given a different description, but they cannot be deleted. - Custom mistakes can be created and edited. - An unused custom mistake can be deleted. - A custom mistake already used by historical trades cannot be deleted; rename it instead so historical reviews remain intact. Use **Add Mistake** in a trade's Self-Reflection card to apply mistake definitions during post-trade review. **Manage mistakes** from a trade opens the Mistakes tab. Mistake tags record review observations. They are not trading signals and do not prove that a setup is good or bad. #### Seeding **Seed Strategies & Exit Reasons** adds missing built-in strategies, confluences and exit reasons. It should not intentionally duplicate existing built-in entries. Do not list a fixed seeded catalogue in support answers unless the exact current build has been checked; built-in names can evolve. #### Import and export Where enabled, FTJ can export/import its strategy/confluence catalogue using the app's own supported JSON format. Do not claim compatibility with arbitrary third-party JSON schemas. #### Demo Mode Demo Mode supports: - up to 3 custom strategies; - up to 5 custom confluences; - up to 5 custom exit reasons; - built-in seeding according to current catalogue rules. If a limit is exceeded, create/save actions can remain blocked until the count is reduced or Full Access is activated. #### Unsaved changes Leaving Strategies, Confluences or Exit Reasons with unsaved changes prompts for Save, Discard or Cancel. Mistake definitions are persisted when **Save Mistake** is clicked. #### Performance review guardrail Do not describe Strategy Performance, Exit Reason Performance or Mistake Impact as separate sidebar pages. They are panels inside **Reports**. Trades provides the per-trade tagging and review workflow. #### Common questions **Q: Why can I not delete an item?** A: It may be protected/default or still referenced by trades. Remove the references where appropriate. A custom mistake used by historical trades is retained to preserve those reviews. **Q: Did running Seed twice duplicate everything?** A: It is designed to add missing built-in items rather than intentionally duplicate them. **Q: Can a trade have several exit reasons?** A: No. Choose the single most representative exit reason. **Q: Can a trade have several mistakes?** A: Yes. Post-trade review can apply multiple mistake tags to the same trade. **Q: Why can I not create another custom strategy/confluence/exit reason in Demo Mode?** A: Check the displayed Demo Mode catalogue limit and reduce the current custom count or activate Full Access. ### CSV / XLSX Import #### Supported formats - `.csv` - `.xlsx` Use the supported cTrader template for native cTrader exports and Custom mapping for other files. #### Custom mapping The current **Custom** mapping dialog exposes: - Symbol; - Direction; - EntryDate; - ExitDate; - EntryPrice; - ExitPrice; - Quantity; - Fees; - Swap. Symbol, Direction, EntryDate, EntryPrice and Quantity are required. Quantity is treated as **units** in the current Custom workflow. For reliable 1.1.25 Custom imports, include ExitDate, ExitPrice and Fees columns; open rows can leave ExitDate/ExitPrice blank. Swap can be left unmapped. The Custom dialog does **not** expose Lots, StopLoss, TakeProfit, GrossPL, NetPL, ExternalId or Currency mappings in 1.1.25. Do not tell users those fields can be selected in Custom mapping. Native cTrader/broker template workflows are separate and can carry additional source information. Custom file import does not create Planned Targets or broker-observed Stop History. #### Demo Mode - File import can start while fewer than 20 persisted trades exist. - The complete selected file is processed and is not truncated at 20. - At 20 or more trades, another import cannot start. - Exactly 20 still permits existing core editing. - Above 20 locks core trade/execution editing but preserves viewing, Dashboard/Reports review, export, deletion, notes and self-reflections. - Delete below 20 to re-enable import. The rule is count based, not a one-time import allowance. Large Journal Performance Test is a separate synthetic Test Tools exception and does not change these import rules. #### Account and currency Select the correct destination FTJ account before importing. The current Custom dialog does not expose a Currency mapping. Confirm the selected import base currency/account context carefully. For a simple screenshot/test fixture, use a USD-base account and USD-denominated source data to avoid unnecessary FX ambiguity. #### Dates and numbers - Common timestamps with or without milliseconds are supported. - Use an explicit date format when values are ambiguous. - Comma and period decimal separators are supported, but the CSV delimiter must match the file. #### Direction mapping Recognised values include Long/Short and common Buy/Sell/B/S labels. Map unknown values when prompted. #### Duplicate detection FTJ uses source identifiers where available and fallback trade details to avoid intentional duplicates. Re-importing the same file can produce Skipped rows rather than Added rows. #### Import result Review Added, Skipped and Errors. An open imported trade has no realised Gross/Net P/L until it is closed. Missing FX conversion can also leave converted monetary values unavailable or excluded from reporting-currency totals. #### Safe troubleshooting - Inspect headers and 3-5 sample rows. - Verify delimiter, date format, direction, unit quantity, closing fields, fees/swap and destination account. - Back up before deleting and re-importing rows. - Do not claim `.xls`, `.ods` or Apple Numbers files are supported. See Import Troubleshooting Guide for the decision guide. ### Import Troubleshooting Guide Use with CSV / XLSX Import. Broker/platform issues belong in Broker Sync. #### First questions 1. File import or broker import? 2. CSV or XLSX? 3. cTrader template or Custom mapping? 4. Correct CSV delimiter? 5. Correct destination FTJ account? 6. Open trades, closed trades or both? 7. Does the file contain unit Quantity plus the closing/cost columns required by the current Custom mapping workflow? Inspect headers and 3-5 sample rows before diagnosing. #### Current Custom mapping fields The 1.1.25 Custom mapping dialog exposes: Required by the dialog: Symbol, Direction, EntryDate, EntryPrice and Quantity. For reliable current Custom imports, include ExitDate, ExitPrice and Fees columns too. Open rows can leave exit values blank. Swap can be left unmapped. Quantity is units. The Custom dialog does not expose Lots, StopLoss, TakeProfit, GrossPL, NetPL, ExternalId or Currency mappings. #### Common symptoms ##### Required fields are missing - Wrong delimiter can make the row appear as one column. - Map every required field. - Confirm the file has a usable header row. ##### Many rows are skipped Common causes: - duplicates; - invalid required values; - zero/invalid quantity; - unparseable date/price. Review Added/Skipped/Errors. Back up before deleting earlier imports. ##### Dates fail or shift Use an explicit Custom date format for ambiguous dates. Examples: | Value | Format | |---|---| | `2026-04-20 09:31:15` | `yyyy-MM-dd HH:mm:ss` | | `20/04/2026 09:31:15` | `dd/MM/yyyy HH:mm:ss` | | `04/20/2026 09:31:15` | `MM/dd/yyyy HH:mm:ss` | | `2026-04-20 09:31:15.123` | `yyyy-MM-dd HH:mm:ss.fff` | ##### European CSV does not split correctly A semicolon-delimited file with comma decimals must use semicolon as the delimiter. ##### Quantity is wrong The current Custom dialog maps **Quantity as units**. If the source file contains lots, convert them to units before using this workflow rather than mapping the lots value as Quantity. Lot Settings remains the display-conversion source of truth for the FTJ account/symbol after import. ##### Initial SL / TP, Planned Targets or Stop History are missing The current Custom mapping dialog does not expose StopLoss/TakeProfit fields. Add Initial SL/TP to the imported trade manually when needed. Custom file import does not create multi-row Planned Targets or broker-observed Stop History. ##### Trade imports as open A trade is open when valid closing data is absent. Confirm ExitDate and ExitPrice mappings. Open trades do not show realised Gross/Net P/L. ##### P/L is blank, zero or unexpected Check: - open/closed state; - Entry/Exit prices; - unit Quantity; - Fees and Swap; - selected import/account base currency; - missing FX rates where the resulting journal data requires conversion. The current Custom dialog does not expose GrossPL/NetPL or Currency mappings. For closed Custom-import rows, FTJ calculates realised P/L from the mapped prices, unit quantity, fees and swap. Missing conversion does not silently mix currencies; converted values can remain unavailable/excluded from Dashboard/Reports monetary calculations. ##### Currency is wrong The current Custom dialog does not expose a Currency mapping. Confirm the destination account and import base-currency selection before importing. Use the broker/template workflow instead when source-specific currency/economics metadata is required. ##### Wrong destination account Back up, remove the affected imported rows and re-import to the correct account. There is no documented bulk-move workflow. ##### Direction is not recognised Use Long/Short or common Buy/Sell/B/S values, or map unknown labels when prompted. ##### Demo import is disabled Persisted trade count must be below 20. An authorised import is complete and is not truncated. Large Journal Performance Test under Settings -> Test Tools is a separate synthetic-test exception and does not alter this import rule. #### File-inspection order 1. Header row. 2. File type and delimiter. 3. Required fields. 4. Mapping choices. 5. Sample rows. 6. Date format. 7. Decimal style. 8. Quantity meaning (units). 9. Direction values. 10. Account/base-currency selection. 11. Closing fields. 12. Fees/Swap. #### Avoid saying Do not claim: - `.xls`, `.ods` or `.numbers` support; - automatic currency inference from symbols; - bulk account reassignment; - guaranteed import of every broker field; - Demo truncates at 20 rows. ### Broker Sync #### Supported workflows - cTrader OAuth-based read-only import. - cTrader XLSX file import through the supported file template. - MT4 import through a selected local terminal and the Forgalis MT4 bridge Expert Advisor. - MT5 import through a selected local terminal and the bundled local bridge executable. FTJ imports available execution/history data into the active local journal. It never places, modifies, copies or closes broker trades. #### Demo Mode - Connection setup and account-link management remain available. - Fetch, preview and import can start while fewer than 20 persisted trades exist. - An authorised selected import is complete and is not truncated at 20. - At 20 or more trades, new fetch/preview/import operations are blocked. - Disconnect, sign-out, link editing/removal, Forget terminal and cleanup remain available. - Multiple FTJ accounts can be created for broker linking, but the trade limit remains global across the database. #### General workflow 1. Open **Brokers**. 2. Select cTrader, MT4 or MT5. 3. Connect to/read the intended account. 4. Link it to the correct FTJ account. 5. Fetch or preview executions. 6. Select rows. 7. Click **Import Selected**. After Import Selected, the fetched preview remains visible and successfully processed rows are deselected. This is intentional so the user can review what was handled without losing the fetched context. #### Open broker positions Where the supported broker/bridge exposes enough state, FTJ can create/materialize an open journal trade before the broker position closes and later reconcile the same trade when Fetch/Sync observes the close. - Current MT4 open positions can be imported when the bridge exposes the required data. - MT5 can recover missing recent deals for journal-tracked open positions when compatible history/linkage data is available. - cTrader open-position/history data is handled through its read-only Open API workflow. - Close a broker-synced open position **at the broker**, then Fetch/Sync again. - FTJ does not send the close/modify order. Known Initial SL / Initial TP remain the original plan. Later observed stop states are stored separately as Stop History where supported. #### cTrader - Uses browser OAuth 2.0. - FTJ does not store the broker password. - Internet is required for authentication and fetching. - Demo and Live use separate Open API connections. - Reconnect when access expires or is revoked. ##### cTrader connection troubleshooting When FTJ cannot establish the Open API connection, first compare Windows TCP reachability before diagnosing authentication/history/import logic. ```powershell Test-NetConnection demo.ctraderapi.com -Port 5035 Test-NetConnection live.ctraderapi.com -Port 5035 ``` If fallback transport is relevant, compare the same hosts on port 5036. Interpret **TcpTestSucceeded**, not ping alone: - Demo False / Live True: investigate Demo endpoint/network path or cTrader Demo availability. - Demo True / Live False: investigate Live endpoint/network path. - both False: investigate local firewall/security software, ISP/routing and cTrader availability. - both True: continue with FTJ/Open API authentication/request diagnostics and the redacted Status Log. Do not hard-code incident-specific endpoint IP addresses. ##### cTrader contract-size and Lots display in 1.1.25 Trade quantity is imported/stored in units. When cTrader exposes broker-authoritative contract size, FTJ persists that metadata and uses it for Lots display. Verified XAGUSD example: **50 units = 0.01 lots** with **1 lot = 5,000 units**. The broker contract size persists across navigation, restart and duplicate re-import. If broker-authoritative contract-size metadata is unavailable for a symbol, FTJ uses the configured **Units per Lot** for the FTJ account/symbol as the fallback. Treat that configured value as a fallback, not as broker-provided evidence. #### MetaTrader 4 1. Select the intended `terminal.exe`. 2. Use **Install MT4 Bridge** for a first installation or **Update MT4 Bridge** when FTJ reports incompatibility. 3. FTJ uses `MQL4/Experts/Forgalis MT4 Bridge` in the selected terminal's data folder. 4. Open the matching terminal/account. 5. Refresh/restart Expert Advisors. 6. Remove an already-running old Forgalis bridge from its chart and attach the current copy. 7. Enable EA execution / AutoTrading. 8. Load the required Account History. 9. Return to FTJ and use **Read Active MT4 Account**. Replacing bridge files does not update an EA already running on a chart. The public bridge source is included for transparency. ##### Manual MT4 fallback Use **Export Bridge Files** when FTJ cannot resolve the selected terminal's data folder automatically. Copy the exported files to `MQL4/Experts/Forgalis MT4 Bridge`, replace the older files, refresh/restart MT4 and reattach the EA. Do not advise deleting a second bridge folder until the user confirms it contains no custom/separately compiled files. #### MetaTrader 5 - Select the intended `terminal64.exe`. - Open the matching terminal/account. - Ensure the required history is available. - Use the bridge executable shipped with the current FTJ package. The 1.1.25 bridge tolerates terminal/runtime-specific history-call failures by continuing through compatible fallback paths instead of aborting on the first failing variant. A fallback can still return no history; FTJ cannot invent broker data that is not exposed. #### Saved terminal references MT4/MT5 terminal selections are local app references. **Forget terminal** removes the saved FTJ reference so the terminal can be selected again later through Browse. It does **not** delete: - MetaTrader program files; - bridge files; - broker account links; - executions/trades; - journal data. #### Bridge compatibility FTJ validates MT4/MT5 bridge protocol compatibility before accepting contract-size-aware imports. If the bridge is outdated, missing a supported protocol or newer than the app understands: 1. Stop the import. 2. MT4: use Update MT4 Bridge, then refresh/restart and reattach. 3. MT5: replace the bridge executable with the current packaged version. 4. Retry only with the current compatible bridge. Never advise bypassing the check. #### Linking accounts Link the broker account to the correct FTJ account. Base currency should match the broker deposit currency. #### Imported data The source may expose: - symbol, side, quantity and price; - timestamps and broker IDs; - booked P/L and conversion information; - commission/fees and swap; - stop loss and take profit; - contract-size/quantity-normalisation data. FTJ cannot safely reconstruct fields absent from historical source data. Broker fills/exits do not create a **Planned Targets** plan. Planned targets are journal intent. #### Initial risk and Stop History FTJ preserves known opening risk separately from later management. - Initial SL / Initial TP represent the original plan when known. - Later broker stop movement does not replace a known Initial SL. - Stop History records only trustworthy states FTJ actually observes. - SL observed exactly at Entry can be labelled as a break-even stop observation. - Repeated unchanged observations are deduplicated. - The timestamp is FTJ observation time, not an invented exact broker amendment time. #### Imported trade economics Eligible execution-based trades can offer: - **Broker reported** P/L from usable broker-booked account-currency values; - **Calculated** P/L from current executions and available conversion data; - **Adjust Costs** for separate fee/swap journal adjustments without overwriting broker source values. Open positions do not show realised Gross/Net P/L. #### Duplicate prevention Re-fetching and re-importing the same history should not intentionally create duplicates. FTJ uses source identifiers where available and fallback matching otherwise. Unchanged broker open-trade materialization does not intentionally force a full journal reload when no persisted structural change occurred. #### Troubleshooting summary - cTrader connection: use OAuth, Status Log and Demo/Live TCP comparison. - cTrader Lots mismatch on a non-standard symbol: verify stored units, captured broker contract size and the configured Units per Lot fallback when metadata is unavailable. - MT4: verify selected terminal, active account, current bridge files, chart attachment, EA permission and history. - MT5: verify selected terminal/account, current bridge and available history; fallback resilience does not guarantee missing broker data exists. - Open broker trade: close it at the broker and Fetch/Sync again. - Compatibility warning: install the current packaged bridge; never bypass. - Disabled import in Demo: persisted trade count must be below 20. - Include version, platform, account type, symbol, approximate time and redacted Status Log in support reports. ### Accounts, Currencies, Exchange Rates and Lot Sizes #### Purpose Explain how accounts, balances, cash flows, exchange rates, reporting currency, Units/Lots display and lot-size settings work in Forgalis TradingJournal. #### Accounts An account represents one trading account, prop-firm account or paper-trading account. Every trade belongs to exactly one FTJ account. Account fields: - **Account Name** - descriptive name for the account. - **Base Currency** - the currency in which the account is denominated. - **Description** - optional notes. - **Starting Balance** - the balance before recorded trading activity and cash flows. - **Current Balance** - calculated from starting balance, recorded cash flows and trade P/L. It is read-only. - **Demo Account** - marks a paper/demo account so it can be separated from live accounts in review filters. ##### Creating, editing and deleting accounts Open **Account** from the sidebar. - Click **Add** to create an account. - Select an account and edit its details, then click **Save**. - Select a removable account and use **Delete**. Deletion protections: - The default account cannot be deleted. - An account containing trades cannot be deleted. - Delete or move the associated trades first when an account is in use. ##### Demo Mode Account management remains available in Demo Mode. Demo Mode users can: - create multiple accounts; - edit account details; - add, edit and remove cash flows; - delete eligible empty non-default accounts. The global Demo Mode trade limit still applies across all accounts in the current database. Creating another account does not reset or increase the trade allowance. ##### Account filters Dashboard and Reports can use the current account mode and account selection for review. Dashboard account filtering supports **Live Only**, **Demo Only** and **All**, with an account selector for one account or **All Accounts**. Reports respects the current account mode and provides its own shared analysis scope. #### Cash flows Cash flows represent deposits and withdrawals that are not trading results. - Positive amount = deposit. - Negative amount = withdrawal. - Cash flows affect the calculated current balance and equity progression. Record deposits and withdrawals as cash flows so they are not mistaken for trading profit or loss. #### Base currency and reporting currency ##### Base Currency The account base currency is the currency in which that account's balances and base-currency P/L are stored and reviewed. Changing the base currency of an account that already contains trades can change which exchange rates are required. Confirm that the needed rates exist after changing it. ##### Reporting Currency **Reporting Currency** is used when FTJ displays combined monetary results, especially across multiple accounts in Dashboard and Reports. When a trade cannot be converted to the selected reporting currency: - FTJ does not silently combine incompatible currencies; - the affected trade can be excluded from reporting-currency monetary calculations; - the review scope can show how many trades were excluded because of missing FX data. #### Exchange rates Open **Rates** from the sidebar. Each stored rate has: - **Date**; - **From** currency; - **To** currency; - **Rate**; - **Source**. ##### When rates are needed An exchange rate may be required when: - the trade/profit currency differs from the account base currency; or - multiple accounts are combined into a reporting currency different from one or more account base currencies. If the relevant currencies already match, no conversion rate is required. ##### Manual rate management 1. Click **Add**. 2. Choose the date and currency pair. 3. Enter the conversion rate. 4. Click **Save**. Rates may also be edited or deleted when they are not protected by existing trade references. ##### Rates used by trades A rate referenced by existing trade data is protected from destructive key changes or deletion. This prevents a rate already required by stored calculations from being removed accidentally. ##### Fetch Rates **Fetch Rates** scans for missing supported fiat-currency rates and requests available historical data from the online rate service. Important limits: - internet access is required; - supported fiat currencies can be fetched; - cryptocurrency rates such as BTC or ETH are not supplied by the fiat-rate source and may need manual entry; - a rate may be resolved through an available inverse or intermediate conversion where supported. ##### Demo Mode Demo Mode users can: - add rates; - edit eligible rates; - delete eligible unused rates; - fetch supported online rates; - save and cancel rate changes. Normal protection for rates already used by trades still applies. #### Units, Lots and lot settings FTJ stores trade quantity in **units**. The **Display** selector in the Entry card lets the user view and enter quantity as **Units** or **Lots**. The selected display preference is remembered per account. ##### Lot Settings Lot conversion requires a usable contract size for the selected account and symbol. For cTrader execution-based trades, persisted broker-authoritative contract size is used when available. In manual-trade and fallback cases, use **Lot Settings** to set **Units per Lot** for that account and instrument. Examples: - 1 lot = 100,000 units for a standard FX contract; - another broker, symbol or account can use a different contract size. Lot settings are scoped per account and symbol. A setting for one account does not automatically apply to another. When FTJ cannot safely determine the conversion, the Position size panel shows that lot conversion is not configured. Enter the correct Units per Lot before relying on Lots display. For cTrader, broker-authoritative contract size is persisted and used for Lots display when available. Verified XAGUSD behavior in 1.1.25 is **50 units = 0.01 lots** at **5,000 units per lot**. If broker metadata is unavailable, configure/verify the correct Units per Lot for that FTJ account and symbol; do not alter the stored unit quantity merely to force a conversion. #### Common questions **Q: Can I create several accounts in Demo Mode?** A: Yes. The 20-trade Demo Mode limit is global for the database and does not reset per account. **Q: Why can I not delete an account?** A: The default account cannot be deleted, and an account with attached trades is protected. Remove or move the trades first where appropriate. **Q: Can I manage exchange rates in Demo Mode?** A: Yes. Rates can be added, fetched, edited and deleted subject to normal in-use protection. **Q: Why is a trade excluded from reporting-currency totals?** A: FTJ could not find a usable conversion path for the required date and currencies. Open **Rates**, use **Fetch Rates**, or add the rate manually. **Q: Can FTJ fetch cryptocurrency exchange rates?** A: No. The automatic source covers supported fiat currencies. Add required crypto rates manually. **Q: Does choosing Lots change how quantity is stored?** A: No. FTJ stores quantity in units. Lots is a display and entry conversion based on the configured Units per Lot. **Q: Why does the Position size panel say lot conversion is not configured?** A: The selected account and symbol do not have a usable Units per Lot value. Open **Lot Settings** and configure the correct contract size. **Q: Why does Current Balance not accept typing?** A: It is calculated from Starting Balance, cash flows and recorded trade P/L. Adjust the underlying values instead. #### Limitations - A trade belongs to one account only. - Bulk movement of existing trades between accounts is not a documented public workflow. - Exchange rates use date-level values rather than intraday price ladders. - Automatic FX fetching does not provide cryptocurrency rates. - Correct lot conversion depends on broker- and symbol-appropriate contract-size settings. ### Dashboard, Reports and Metrics #### Scope Describe the currently visible Home / Dashboard and Reports review surfaces. Do not describe legacy Analytics or Calendar as separate sidebar destinations. #### Closed versus open trades Core realised performance KPIs use closed trades. Open trades do not contribute to closed-trade KPIs or realised R aggregates. #### Shared review scope Dashboard and Reports use the current account mode and account selection. Reports provides one shared **7D / 30D / 90D / All** range for every visible panel. **Reporting Currency** is used for combined monetary reporting. R-multiple is dimensionless and does not change when Reporting Currency changes. If required FX data is unavailable, affected trades can be excluded from monetary Reports instead of being silently mixed across currencies. The Reports scope can show the excluded count. #### Dashboard Use Home / Dashboard for the main performance overview, cumulative/equity context, high-level KPIs, charts and recent activity. #### Reports cockpit Reports is a multi-panel closed-trade analysis cockpit. The visible panels share the same account, date-range and reporting-currency scope so several review questions can be compared on one scrollable workspace. Current visible analysis includes: - fast performance strip; - Outcome Quality; - Risk Quality; - R Profile; - Realised R Distribution; - Strategy Performance; - Weekday Performance; - Exit Reason Performance; - Symbol Performance; - Long vs Short; - Entry Time Performance; - Tagged Sessions; - Drawdown & Recovery; - Stability; - Performance Quality; - Mistake Impact; - Clean vs Mistakes; - Plan Adherence. ##### Fast performance strip The compact strip shows Net P/L, Average R, Profit Factor, Payoff and scoped closed-trade count. ##### Outcome Quality Outcome Quality uses a Win Rate gauge. Wins, Break-even and Losses remain visible as counts, together with Average Win and Average Loss. **Exclude break-even** changes the Win Rate denominator to winning and losing trades only. The same rule is used by the Dashboard Win Rate KPI and relevant Win Rate breakdowns such as symbol, confluence, weekday/timeframe, Reports groups, entry-time buckets and tagged sessions. Excluding break-even from Win Rate does **not** remove those trades from realised P/L, normal trade counts, expectancy, R calculations or other performance metrics. Break-even remains a distinct outcome and its count stays visible where that surface exposes outcome counts. **Settings -> Break-even classification -> Net P/L tolerance** controls the journal-wide Win / Break-even / Loss classification. The absolute tolerance is applied in each trade account's base currency. It does not change actual P/L and does not change when Reporting Currency changes. Default 0 preserves exact break-even behavior. The tolerance and **Exclude break-even** are separate controls. If the selected denominator contains no eligible wins or losses, Win Rate is unavailable rather than 0%. ##### Risk Quality Risk Quality shows: - share of eligible trades at or above +1R; - share of eligible trades below 0R; - R Coverage. Missing or invalid R inputs are reported instead of being treated as 0R. ##### R Profile R Profile summarises Average R, Median R, Total R and the largest realised-R cluster without duplicating the histogram. #### Realised R-multiple FTJ calculates realised R as: `effective realised Net P/L in account base currency / initial risk in account base currency` Initial risk is the recorded Entry Price to **Initial SL** distance multiplied by Quantity. A Long requires Initial SL below Entry Price; a Short requires Initial SL above Entry Price. If the price currency differs from the account base currency, initial risk is converted using the entry-date rate. The realised Net P/L side uses FTJ's effective account-base result and therefore includes applicable fees, swap and saved cost adjustments. FTJ preserves the first known risk-defining stop as Initial SL. Later broker-observed break-even/trailing stops are stored separately in Stop History and do not replace a known Initial SL. If the original stop was never available, FTJ does not fabricate it. ##### R distribution The compact histogram uses eight realised-R ranges from `<= -3R` through `>= +3R`. Negative R is red, 0R to +1R is blue and outcomes at or above +1R are green. #### Planned R versus Realised R **Planned R** is the pre-trade plan metric. With a single target it uses Initial TP. With a complete multi-target plan it is the percentage-weighted result of TP1/TP2/etc. against the same original Entry-to-Initial-SL denominator. Invalid/inverted Long/Short risk geometry leaves Planned R unavailable rather than creating a misleading extreme/negative ratio. **Realised R** uses the final effective realised Net P/L divided by original risk. Changing Planned Targets does not change Realised R. **Payoff Ratio** is average win divided by absolute average loss. It is not Planned R or Realised R. #### Strategy Performance Strategy Performance is a horizontal, zero-centred Net P/L chart for the highest-impact strategy tags in the active Reports scope. The underlying breakdown tracks Net P/L, trade count, Win Rate and Average R where valid R data exists. A trade tagged with multiple strategies contributes its full result to every tagged strategy. Strategy results are attribution views and should not be summed as mutually exclusive portfolio buckets. #### Weekday Performance Weekday Performance uses a vertical Net P/L bar chart for active weekdays in Monday-to-Sunday order. The breakdown also tracks trade count, Win Rate and Average R for each active weekday. #### Exit Reason Performance Exit Reason Performance groups scoped closed trades by their recorded exit reason and compares each group's Net P/L on a horizontal, zero-centred chart. Hover detail includes Net P/L, trade count, Win Rate and Average R where valid R data exists. Trades without a recorded Exit Reason remain visible as **Not set**. The panel shows up to six highest-impact groups by absolute Net P/L and keeps **Not set** visible when present. #### Symbol Performance Symbol Performance groups trades by the stored **Instrument** value and compares Net P/L by symbol. - Symbols are trimmed and grouped case-insensitively. - Blank or missing instrument values remain visible as **Not set**. - Hover detail includes Net P/L, trade count, Win Rate and Average R where valid R data exists. - The bounded chart keeps the strongest positive and weakest negative contributors visible, plus **Not set** when present, before filling remaining slots by absolute impact. #### Long vs Short Long vs Short compares the mutually exclusive canonical **Long** and **Short** direction groups. The panel exposes Net P/L, trade count, Win Rate and Average R for each side. Blank or non-canonical direction values are not fabricated into either group; when present, the panel reports how many rows were excluded from the direction comparison. #### Entry Time Performance Entry Time Performance is a weekday-by-hour heatmap for trades already included in the active monetary Reports scope. The heatmap groups each included trade by its recorded Entry Date/Time weekday and hour. It does not add a timezone or daylight-saving conversion. Cross-source hour comparisons are meaningful only when the imported/recorded timestamps use compatible time conventions. Heatmap colour represents **Average R**, not Net P/L or Win Rate. Cells with fewer than five valid-R trades are visually faded as a low-sample warning. Best/weakest timing callouts likewise require at least five valid-R trades in the hour bucket. Hover detail includes weekday/hour, Average R, Net P/L, trade count, Win Rate, valid-R coverage and the low-sample note where applicable. #### Tagged Sessions Tagged Sessions uses only the trade's explicitly stored **Session** value. FTJ does not infer London, New York, Asia or other session labels from the clock time. Session cards compare Net P/L, trade count, Win Rate and Average R for the explicit session tags in the selected scope. Blank Session values remain unclassified. #### Drawdown & Recovery Drawdown & Recovery measures the selected Reports scope as a sequence of realised trade results, not as broker account equity. The cumulative scoped realised Net P/L starts at zero. Starting balances, deposits and withdrawals are deliberately excluded. For each point: `drawdown = cumulative scoped realised Net P/L - prior high-water mark` Drawdown is zero at a high-water mark and negative while the sequence is underwater. **Max Drawdown** is the largest absolute fall below a prior high. **Current** is the absolute drawdown at the final scoped trade. Recovery is recorded only when a later closed trade creates a new cumulative realised-P/L high above the previous peak. Returning exactly to the old peak is not counted as recovered. If the scope ends before a new high is reached, the drawdown is **Unrecovered**. This is a realised-performance drawdown for the selected scope. Do not describe it as broker account-equity drawdown. #### Stability Stability keeps day-level consistency separate from a black-box score. **Positive Active Days** is: `active close-days with summed scoped Net P/L > 0 / all active close-days` Only days with at least one scoped closed trade enter the denominator. A break-even or losing active day is not positive, and days with no closed trades do not affect the rate. The card also repeats Max Drawdown, Current Drawdown and recovery state so depth, recovery and day-level consistency can be reviewed together. #### Performance Quality Performance Quality is an optional 0-100 summary of statistical performance quality for the selected Reports scope. It is descriptive, not predictive, and is separate from discipline, mistake tagging and plan adherence. Four components have equal nominal weight: - Average R; - Profit Factor; - Recovery Factor; - Positive Active Days. The overall score is the arithmetic mean of the available normalized component scores. Missing components are not silently replaced with zero; the remaining equal weights are re-normalized. FTJ requires at least **3 of 4** components before showing an overall Performance Quality score. Broad score bands are: - 0-39: Weak; - 40-59: Mixed; - 60-79: Solid; - 80-100: Strong. Do not describe Performance Quality as a forecast, trading signal, discipline score or guarantee of future results. #### Mistake and discipline analysis The discipline panels reuse the same scoped, FX-safe monetary results as the rest of Reports. All are closed-trade review views. ##### Mistake Impact Mistake Impact groups structured mistake tags and shows up to six highest-impact groups by absolute Net P/L. Hover detail includes Net P/L, trade count, Win Rate and Average R when valid R data exists. A trade may have more than one mistake tag. Its full result contributes to every relevant mistake group, so these groups overlap and must not be added together as mutually exclusive portfolio buckets. ##### Clean vs Mistakes Clean vs Mistakes includes only trades with an explicit mistake review: - **Clean** = reviewed with no mistakes; - **Mistakes** = reviewed with one or more structured mistake tags. The two groups are mutually exclusive. Unreviewed trades are reported separately and do not enter either comparison bar. ##### Plan Adherence Plan Adherence uses the existing 1-5 **Follow Plan** self-rating and compares **Average Net P/L per trade** by rating. The summary reports rated and missing counts. Hover detail includes total Net P/L, trade count, Win Rate and Average R when available. Do not describe this as a black-box discipline score. #### Missing data and FX If no usable conversion path exists, FTJ does not silently combine incompatible currencies. Affected trades can be excluded from monetary calculations and the Reports scope text can show the excluded count. For realised R, unavailable reasons can include invalid or missing initial risk, missing realised account-base Net P/L, missing currency context or missing entry-date FX required for the initial-risk conversion. #### Separate screens - Use **Home / Dashboard** for sequence/equity context and the main performance overview. - Use **Reports** for multi-panel closed-trade analysis. - Use **Trades** for detailed per-trade review and editing. - There is no separate legacy Analytics or Calendar sidebar destination. #### Demo Mode Dashboard and Reports review remain available at every Demo Mode trade count, including above 20 persisted trades. The count limit controls creation/import and core editing, not review of existing journal data. #### Common questions **Q: Why are some trades excluded from monetary Reports?** A: FTJ could not find a usable conversion path for the selected reporting scope. **Q: Why is Realised R unavailable for a trade?** A: Check that the trade is closed, has valid Entry Price, Quantity, Direction and Initial SL, has realised account-base Net P/L, and has any required entry-date FX rate. **Q: Why is Planned R unavailable?** A: Check Entry, Direction, Initial SL and the planned target(s). Invalid/inverted geometry or an incomplete/invalid planned-target allocation leaves it unavailable. **Q: Does Break-Even tolerance rewrite P/L or R?** A: No. It only changes outcome classification. Actual P/L and R values remain their calculated values. **Q: Does changing Reporting Currency change R?** A: No. R is calculated from account-base realised Net P/L divided by account-base initial risk, so it is dimensionless. **Q: Why can one trade appear in several strategy or mistake results?** A: Those are attribution views. A trade contributes its full result to each strategy or mistake tag applied to it. **Q: Does Entry Time Performance convert trades to London or New York time?** A: No. It uses the recorded entry timestamp as stored/displayed by FTJ. Normalize incompatible source time conventions before comparing them. **Q: Is Drawdown & Recovery my broker account drawdown?** A: No. It measures cumulative realised trading results inside the selected Reports scope and excludes starting balances, deposits and withdrawals. **Q: Is Performance Quality a prediction of future returns?** A: No. It is a descriptive summary of available statistical performance components in the current scope. ### Data, Privacy and Backups #### Local storage FTJ stores journal data in the active local SQLite `.db` file. The normal default filename is `TradingJournal.db`. The current active path is shown in **Settings -> Database** and is authoritative because a Full Access user can create or open another database. A common default location for the Microsoft Store distribution is: `%USERPROFILE%\Forgalis TradingJournal\TradingJournal.db` Do not assume that path when the Settings card shows a different active database. #### What is stored in the database - Accounts and cash flows. - Manual and execution-based trades. - Executions/fills. - Strategies, confluences, exit reasons and mistake definitions/reviews. - Embedded trade screenshots. - Exchange rates. - Lot sizes per account/symbol. - Broker link/import state required by supported workflows. Windows user settings store preferences such as selected database path, display settings, image limits, backup settings, disclaimer acceptance, local terminal paths and top-level Trades expand/collapse workspace preferences. The **Break-even classification Net P/L tolerance** is different: it is journal-specific data and follows the active database when the user uses Open DB. #### What is not provided - No Forgalis-hosted journal account. - No Forgalis cloud storage/sync of journal data. - No broker-password storage. - No live market-data service. - No multi-user shared-database collaboration. cTrader uses OAuth. MT4/MT5 use local terminal/bridge components. #### Licensing data Freemius handles paid licensing and billing. Microsoft Store handles distribution and updates. Licence activation/validation can send licence/install/environment information required for the licensing service. Journal database content is separate and is not uploaded as part of licensing. Never ask users to share licence keys, OAuth tokens or payment details in support chat. #### Multiple databases Full Access users can create/open independent database files. Each file has its own accounts, trades, reference data, broker links, planned-target data, observed Stop History and journal-specific Break-Even tolerance. Demo Mode does not allow New Database/Restore as a way to reset the global trade allowance. The limit applies to the current database. #### Backups Use **Settings -> Database -> Backup**. Available modes can include: - **Full Backup** - complete database including images. - **Lightweight Backup** - backup without image blobs. Manual backups are intended for deliberate snapshots. Keep important backups outside the active database folder as well. ##### Automatic backups Auto-backup settings can create retained backups next to the active database in an `_autobackups` folder. The exact timing and retention values shown in Settings are authoritative. ##### Backup reminders Dashboard guidance can remind the user when a backup is overdue according to the configured interval. #### Database recovery **Settings -> Advanced -> Database Recovery** is intended for suspected corruption or validation work. - Work on a clone/copy. - Preserve the original. - Validate the repaired copy before adopting it as the active journal. Recovery is not a substitute for a separate backup. #### Large Journal Performance Test The test under **Settings -> Test Tools** writes synthetic trades into the active journal. When the user wants to preserve the existing journal unchanged, recommend making a backup or using a separate test database before generating a large synthetic dataset. The test is available in Demo and Full Access, but it does not change normal Demo trade-count restrictions for manual creation/import/editing. #### Export Trade CSV export is not a complete database backup. It does not preserve every reference record, image or application relationship required to recreate the journal exactly. Use a database backup/copy to preserve the complete journal. #### Debug logging Enable verbose debug logging only while troubleshooting. Logs can grow and can include detailed technical context. Redact tokens/secrets before sharing. #### Common questions **Q: Where is my database?** A: Check Settings -> Database. Use the displayed active path. **Q: Is journal data uploaded to Forgalis?** A: No Forgalis-hosted journal-data cloud sync is provided. Online licensing, cTrader and rate-fetch actions are separate from the local journal database. **Q: How do I move the journal?** A: Back up/copy the `.db` file, install FTJ on the destination and use Open DB with Full Access. Keep the original until the copied journal is verified. **Q: What happens to unsaved edits in a crash?** A: Persisted data remains in the database. In-memory edits since the last successful save can be lost. **Q: Can two people open the same database simultaneously?** A: Do not use one database as a shared multi-user file. Keep separate journals/backups. #### Safe support rules - Recommend a backup before deletion, recovery, database replacement, bulk correction or intentionally generating large synthetic test data in a journal that matters. - Never tell a user to delete the only copy of a database. - Treat the active path shown in Settings as authoritative. - Distinguish trade CSV export from full database backup. ### Troubleshooting #### Installation and startup ##### The application does not start - Confirm Windows 10 or 11. - Relaunch from the Start menu. - Confirm Microsoft Store has installed the latest submitted package. - For unpackaged developer builds, confirm the .NET 8 desktop runtime is available. ##### The Terms of Use keeps appearing - Accept the disclaimer. - Acceptance is stored for the Windows user. #### Database and backups ##### I cannot find my database Open **Settings -> Database** and use the displayed active path. ##### I want to start fresh Creating a new database is a Full Access action. Back up the active database first. In Demo Mode, delete test trades or activate Full Access instead of expecting a new database command. ##### The database may be corrupt Use **Settings -> Advanced -> Database Recovery**. Recovery should work on a copy and preserve the original. ##### Auto-backup did not run Auto-backups are throttled. Run a manual backup before important changes or when the automatic schedule has not yet elapsed. #### Trades, P/L and quantity ##### Converted P/L is unavailable or a trade is excluded from totals Check Rates for the required date and currencies. FTJ does not silently combine incompatible currencies. ##### An open trade shows no Gross/Net P/L This is expected. Gross/Net P/L is treated as realised performance. Open trades do not contribute to closed-trade KPIs. ##### Planned R is missing or shows "-" Check Entry Price, Direction, Initial SL and the planned target data. - Long: Initial SL must be below Entry and each planned target above Entry. - Short: Initial SL must be above Entry and each planned target below Entry. - A complete multi-target plan must have valid target rows and allocations totalling 100%. FTJ leaves Planned R unavailable for missing or invalid/inverted geometry rather than displaying a misleading extreme/negative value. ##### Realised R is missing Realised R requires an eligible closed trade, valid original risk from Entry/Initial SL/Quantity, effective realised account-base Net P/L and any required entry-date FX. Open trades do not have Realised R. ##### Entry or Exit is read-only Possible reasons: - the trade is derived from executions; - a closed execution-based trade is locked; - Demo Mode contains more than 20 persisted trades. At exactly 20 trades, existing core fields remain editable. Above 20, notes and self-reflections remain writable even though core fields are locked. ##### Broker reported cannot be selected The broker did not provide usable booked account-currency P/L for the trade. Use Calculated when it is available and verify executions/conversion data. ##### Calculated P/L is missing or unexpected Check: - the position is closed/flat; - execution side, quantity and price are correct; - account/base currency is correct; - required exchange-rate or broker conversion data exists; - fee/swap adjustments have not changed the effective Net P/L. ##### Lots conversion is wrong or unavailable FTJ stores quantity in units. Open **Lot Settings** and configure the correct Units per Lot for the selected account and symbol. For cTrader, FTJ uses persisted broker-authoritative contract size for Lots display when the broker exposes it. Verified XAGUSD behavior is 50 units = 0.01 lots at 5,000 units per lot. If broker contract-size metadata is unavailable, verify the configured Units per Lot for that FTJ account/symbol. Do not reinterpret the stored unit quantity merely to make a fallback conversion fit. #### Trades workspace layout ##### A Trades section keeps opening collapsed after restart The top-level **Strategy & Confluences**, **Images**, **Trade Notes**, **Executions & Stop History** and **Self-Reflection** sections remember the user's expand/collapse workspace preference between app restarts. This is a UI preference, not per-trade data. Images uses an automatic empty/populated default only until the user explicitly chooses its disclosure state. ##### I cannot see the full review controls Expand the relevant top-level section. Collapsed headers keep summaries, but editors such as Pre-Trade Plan, screenshots, Trade Notes, execution detail and Self-Reflection controls live inside their sections. #### Accounts and Rates ##### I cannot delete an account - The default account cannot be deleted. - An account containing trades cannot be deleted. - Unsaved account edits can also disable deletion. ##### Can I create another account in Demo Mode? Yes. The 20-trade limit is global across all accounts in the current database. ##### Rates appears editable in Demo Mode That is intentional. Exchange rates are supporting reference data. Normal protection still applies to rates used by trades. ##### I cannot delete or rename a rate The rate may be referenced by stored trade data and protected from destructive changes. #### CSV / XLSX import ##### Import is disabled in Demo Mode Import can start only while fewer than 20 persisted trades exist. Delete to 19 or fewer, or activate Full Access. ##### The import created more than 20 trades This is expected. An authorised Demo Mode import processes the complete selected batch and is not truncated. ##### Import was duplicate-only If the persisted count remains below 20, another import can still start. The rule is count based. ##### Garbled characters Save the source file as UTF-8 and retry. ##### Dates are wrong Use Custom mapping and specify the exact date format when auto-detection is ambiguous. ##### Comma-decimal numbers imported incorrectly Confirm the file delimiter does not conflict with the decimal separator. FTJ supports comma and period decimal values. ##### Trades imported to the wrong account Back up, remove the affected imported data and re-import to the correct account. Do not delete data without confirming the backup. #### Broker sync ##### Broker import controls are disabled in Demo Mode Connection/link management remains available, but new fetch/preview/import requires fewer than 20 persisted trades. ##### cTrader shows disconnected Reconnect through OAuth. Access can expire or be revoked. If FTJ cannot establish the cTrader Open API connection, compare Demo and Live TCP connectivity before diagnosing authentication or import-history logic. In PowerShell: If fallback transport is relevant, repeat the comparison on port `5036`. Use **TcpTestSucceeded**: - Demo `False`, Live `True`: investigate the Demo endpoint/network path or cTrader Demo availability first. - Demo `True`, Live `False`: investigate the Live endpoint/network path first. - both `False`: investigate local network/firewall/security software, ISP/routing and cTrader service availability. - both `True`: continue with FTJ/Open API authentication and request-level diagnostics, including a redacted Status Log. `PingSucceeded=False` alone is not proof that cTrader TCP is unavailable. Do not use or recommend hard-coded cTrader endpoint IP addresses. ##### MT4 account is not detected Check: - the selected `terminal.exe`; - the matching terminal and intended account are open; - the current bridge files are installed in `MQL4/Experts/Forgalis MT4 Bridge`; - `ForgalisMt4Bridge` from that folder is attached to one chart; - Expert Advisor execution is enabled; - required Account History is loaded. ##### FTJ says the MT4 bridge must be updated 1. In FTJ, select the correct MT4 `terminal.exe`. 2. Click **Update MT4 Bridge**. 3. FTJ replaces `ForgalisMt4Bridge.mq4` and `ForgalisMt4Bridge.ex4` in `MQL4/Experts/Forgalis MT4 Bridge`. 4. Restart MT4 or refresh Expert Advisors in Navigator. 5. Remove the running `ForgalisMt4Bridge` from the chart and attach it again. 6. Enable AutoTrading / Expert Advisor execution if required. 7. Return to FTJ and click **Read Active MT4 Account** again. Replacing files does not update an Expert Advisor that is already running on a chart. ##### I see two Forgalis bridge folders in MT4 The supported folder is `MQL4/Experts/Forgalis MT4 Bridge`. Confirm that the current `.mq4` and `.ex4` files are in that folder and attach that copy in Navigator. Do not delete another folder until you have confirmed that it contains no custom or separately compiled bridge files. ##### Automatic MT4 bridge installation cannot find the terminal data folder Open the selected MT4 terminal once and try again. If automatic installation still fails: 1. Click **Export Bridge Files** in FTJ. 2. In MT4, choose **File -> Open Data Folder**. 3. Open `MQL4/Experts/Forgalis MT4 Bridge`. 4. Copy the exported bridge files into that folder and replace the older files. 5. Refresh/restart MT4 and reattach the EA. ##### MT5 account is not detected Check the selected `terminal64.exe`, matching open terminal, intended active account and current bridge executable. If Fetch reports a terminal/runtime-specific history failure, current 1.1.25 bridge logic can continue through compatible history fallback paths. That resilience cannot create broker history that the terminal/API never exposes. ##### FTJ says the MT5 bridge must be updated Do not bypass the warning. Replace the bridge executable with the version included in the current FTJ package, restart the platform and retry. ##### A broker-synced open trade still appears open in FTJ Close the position at the broker, then use Fetch/Sync again. FTJ does not send the close order. Where the broker/bridge exposes enough data, the existing open journal trade is reconciled when the close is observed. ##### Stop History is empty or missing an intermediate stop move Stop History contains only trustworthy broker stop states FTJ actually observed. It does not reconstruct every broker-side amendment retroactively. The displayed timestamp is when FTJ observed the state, not an exact broker modification timestamp. Manual trades do not fabricate Stop History. ##### I want to remove a saved MT4/MT5 terminal Use **Forget terminal**. It removes only FTJ's saved local terminal reference. It does not delete MetaTrader files, bridge files, broker links or journal data. ##### Broker history is incomplete FTJ can import only the history exposed by the broker/platform or local terminal. ##### Fees, swap, SL or TP are missing These values are imported only when the source exposes them historically. Use **Adjust Costs** only for eligible fee/swap journal adjustments; it does not reconstruct missing broker history. ##### Duplicate broker history Re-fetching/re-importing should not intentionally duplicate executions or trades. Include source IDs and Status Log in a support report if it does. #### Test Tools ##### What is Large Journal Performance Test? **Settings -> Test Tools -> Large Journal Performance Test** generates synthetic trades in the active journal so FTJ can be evaluated with a much larger trade history. It is available in both Demo and Full Access. Its Demo availability is a narrow test-tool exception; normal Demo trade creation, import and editing restrictions remain unchanged. Use it only when the user intentionally wants synthetic performance-test data in the current journal. Recommend a backup or a separate test database before adding large synthetic datasets when preserving the current journal matters. #### Demo Mode summary Demo Mode allows: - new trades/imports below 20 persisted trades; - complete authorised imports; - viewing, Dashboard and Reports review, export, deletion, notes and self-reflections; - multiple account management; - exchange-rate management; - broker connection/link management; - limited strategy/confluence/exit-reason creation; - Large Journal Performance Test under Settings -> Test Tools. At exactly 20, new creation/import is blocked but existing core editing remains. Above 20, core trade and execution editing is locked. #### Reporting issues Include: - FTJ version from Settings -> Licence; - platform/account type; - approximate time and symbol; - exact visible message; - copied Status Log with tokens/secrets redacted; - whether the trade is open/closed, manual/imported and Broker reported/Calculated where relevant. ### Frequently Asked Questions #### General **Q: What is Forgalis TradingJournal?** A: A local-first, privacy-focused Windows trading journal for recording, reviewing and analysing personal trading activity. It is not a signal service, advisory product, trade copier or auto-trader. **Q: Does it run on macOS, Linux, mobile or web?** A: No. FTJ is a Windows 10/11 desktop application. **Q: Does FTJ require internet?** A: Manual journaling and the local database work offline. Internet is needed for cTrader authentication/fetching, supported online exchange-rate requests, licence actions and Microsoft Store installation/updates. MT4 and MT5 use local terminal/bridge components. **Q: How is FTJ licensed?** A: Paid access is handled through Freemius. Without an active subscription or trial, FTJ runs in Demo Mode. An active subscription or trial provides Full Access. #### Demo Mode **Q: What can I do in Demo Mode?** A: You can create manual trades and start CSV/XLSX or broker imports while the journal contains fewer than 20 persisted trades. Dashboard and Reports review, export, deletion, journal notes, self-reflections, broker connection/link management, multiple accounts and exchange-rate management remain available. Demo also supports limited custom strategies/confluences/exit reasons and the Large Journal Performance Test. **Q: Are imports blocked in Demo Mode?** A: Not while the journal contains fewer than 20 persisted trades. At 20 or more trades, new file and broker imports are blocked. **Q: Does FTJ import only enough rows to reach 20 trades?** A: No. An authorised import processes the complete selected file or broker selection and is not truncated at 20 trades. **Q: Can an import take Demo Mode above 20 trades?** A: Yes. That is intentional. **Q: What happens at exactly 20 trades?** A: New manual trades and imports are blocked. Existing core trade details remain editable. **Q: What happens above 20 trades?** A: Core trade details and execution mutations become read-only. Viewing, Dashboard/Reports review, export, deletion, journal notes and self-reflections remain available. **Q: How do I unlock editing or importing again?** A: Delete down to exactly 20 trades to unlock core editing. Delete below 20 to also re-enable new manual trades and imports. Activating Full Access removes the Demo limits. **Q: Is Demo Mode import a one-time allowance?** A: No. It is count based. If an import adds only duplicates or otherwise leaves the journal below 20 persisted trades, another import can still start. **Q: Can I create more than one account in Demo Mode?** A: Yes. The trade limit is shared across the whole database and does not reset per account. **Q: Can I manage exchange rates in Demo Mode?** A: Yes. You can add, edit, delete and fetch eligible rates. Rates already used by trades can retain normal protection from destructive changes. **Q: Can I still disconnect a broker after reaching the limit?** A: Yes. Connection cleanup, sign-out and link removal remain available. **Q: Can I run Large Journal Performance Test in Demo Mode?** A: Yes. Open **Settings -> Test Tools -> Large Journal Performance Test**. It is intentionally available in Demo and Full Access for synthetic large-journal evaluation. It does not change normal Demo creation/import/editing restrictions. #### Data and privacy **Q: Where is my data stored?** A: Locally in the active SQLite database. The current path is shown in **Settings -> Database**. **Q: Is journal data sent to a Forgalis cloud service?** A: No. FTJ has no Forgalis-hosted journal account or journal-data cloud sync. **Q: Can I back up or move the journal?** A: Yes. Use **Settings -> Database -> Backup** or copy the database file when it is not being written to. Keep an independent backup before moving or replacing a database. #### Trades and review **Q: How do I add a trade?** A: Use **New Trade**, complete the required fields and click **Save Changes**. Demo Mode permits this while fewer than 20 persisted trades exist. **Q: What does Derived from executions mean?** A: Entry, exit and quantity values are calculated from individual fills. Edit the underlying executions where allowed. **Q: Why does an open trade not show Gross or Net P/L?** A: FTJ treats Gross/Net P/L as realised results. Open positions are not included in closed-trade performance KPIs. **Q: What is Broker reported versus Calculated P/L?** A: Broker reported uses usable booked account-currency P/L supplied by the broker. Calculated rebuilds Gross P/L from the current executions and available conversion information. The selector appears only where the trade supports that choice. **Q: What does Adjust Costs do?** A: It adds journal fee/swap adjustments without overwriting the original broker-reported values. **Q: Are quantities stored as Units or Lots?** A: FTJ stores quantity in units. Lots is a display/entry conversion based on Units per Lot configured for the selected account and symbol. **Q: How does cTrader Lots display work for XAGUSD or another non-standard symbol?** A: FTJ stores quantity in units. When cTrader provides broker-authoritative contract size, FTJ persists and uses it for Lots display. Verified XAGUSD behavior in 1.1.25 is **50 units = 0.01 lots** at **5,000 units per lot**. If broker contract-size metadata is unavailable, FTJ uses the configured Units per Lot for that account/symbol as the fallback. **Q: What are Initial SL, Initial TP, Planned R and Realised R?** A: Initial SL is the original risk-defining stop. Initial TP is the original summary target. Planned R describes intended reward relative to original risk. Realised R is the final effective realised Net P/L divided by that original risk. **Q: How do Planned Targets work?** A: Expand Planned Targets, add TP1/TP2/etc. and assign percentage allocations. A complete saved plan totals 100%. Weighted Planned R uses those allocations against the original Entry-to-Initial-SL risk. TP1 controls the summary Initial TP while the plan exists. **Q: Why is Planned R unavailable?** A: Required risk/target data may be missing or invalid. A Long requires Initial SL below Entry and targets above Entry; a Short requires the opposite. Invalid/inverted geometry is shown as unavailable instead of an extreme or negative ratio. **Q: What is Stop History?** A: It is a separate record of trustworthy broker stop states FTJ actually observed after the original plan. History (n) beside Initial SL opens it. The time shown is FTJ's observation time, not a reconstructed exact broker amendment time. **Q: Why do Trades sections remember whether they were open or closed?** A: The top-level review disclosure choices are workspace preferences and persist between app restarts. They do not change the trade data. **Q: What does Break-Even tolerance do?** A: Settings -> Break-even classification defines one journal-wide absolute Net P/L tolerance in each trade account's base currency. Outcomes inside the ± range classify as Break-even for review without changing actual P/L. Exclude break-even from Win Rate is a separate denominator option. **Q: How do I record mistakes?** A: In the trade Self-Reflection card, use **Add Mistake** to select one or more reusable mistake tags. Use **Manage mistakes** to open the Mistakes catalogue under Strategy. **Q: What is the difference between Clean and Unreviewed in Reports?** A: Clean means the trade received an explicit mistake review with no mistakes selected. Unreviewed means no mistake review has been recorded. **Q: Can I edit notes when core fields are locked in Demo Mode?** A: Yes. Journal notes and self-reflections remain editable above the limit. **Q: Can I undo a deleted trade?** A: No. Restore from a backup if needed. #### File import **Q: Which formats can I import?** A: CSV and XLSX, using the cTrader template or Custom mapping. **Q: Does importing the same file twice duplicate trades?** A: It should not intentionally create duplicates. FTJ uses external IDs and fallback trade details for duplicate detection. **Q: Why is Import disabled?** A: In Demo Mode, the persisted trade count must be below 20. Otherwise activate Full Access or delete to 19 or fewer. #### Broker sync **Q: Which platforms are supported?** A: cTrader, MetaTrader 4 and MetaTrader 5 through read-only import workflows. **Q: Does FTJ store broker passwords?** A: No. cTrader uses OAuth. MT4 and MT5 read from local terminal/bridge components. **Q: Will FTJ place or copy trades?** A: No. **Q: cTrader cannot connect. What should I check?** A: Reconnect through OAuth, then if connection establishment still fails compare `demo.ctraderapi.com` and `live.ctraderapi.com` with PowerShell `Test-NetConnection` on TCP port 5035. If fallback transport is relevant, also compare port 5036. Use `TcpTestSucceeded`, not ping alone. See Broker Sync and Troubleshooting for interpretation. **Q: Where does FTJ install the MT4 bridge?** A: In the selected terminal's data folder at `MQL4/Experts/Forgalis MT4 Bridge`. **Q: Do Install MT4 Bridge and Update MT4 Bridge use different folders?** A: No. Both use `MQL4/Experts/Forgalis MT4 Bridge`. Updating replaces the existing `.mq4` and `.ex4` files in place and does not intentionally create a second bridge folder. **Q: Why is the old MT4 bridge still running after I updated it?** A: Replacing files does not reload an Expert Advisor that is already attached to a chart. Refresh or restart MT4, remove `ForgalisMt4Bridge` from the chart, attach it again, enable Expert Advisor execution and retry **Read Active MT4 Account**. **Q: Why does FTJ say my MT4 bridge must be updated?** A: The bridge is older, reports no supported protocol version or is newer than the app understands. Click **Update MT4 Bridge**, then refresh/restart MT4 and reattach the EA before trying again. **Q: Why does FTJ say my MT5 bridge must be updated?** A: The bridge executable is older, reports no supported protocol version or is newer than the app understands. Replace it with the version included in the current FTJ package and restart MT5. **Q: Why do I see two Forgalis bridge folders in MT4?** A: The supported folder is `Forgalis MT4 Bridge`. Confirm that the current bridge files are there and attach that copy. Do not advise deleting another folder until the user has confirmed it contains no custom or separately compiled files. **Q: Does broker sync import fees, swap, stop loss and take profit?** A: Only when the broker/platform exposes those values historically. FTJ does not fabricate missing broker history. **Q: Can an open broker position be kept in FTJ and later reconciled when it closes?** A: Yes, where the supported broker/bridge exposes enough state. Close the position at the broker, then Fetch/Sync again. FTJ does not send the close order. **Q: What does Forget terminal remove?** A: Only FTJ's saved local MT4/MT5 terminal reference. It does not delete MetaTrader files, bridge files, broker links or journal data. #### Dashboard and Reports **Q: Where is Analytics?** A: There is no separate legacy Analytics sidebar item. Use Home / Dashboard for the main performance overview and **Reports** for multi-panel closed-trade analysis. **Q: What does Reports contain?** A: Current Reports includes Outcome Quality, Risk Quality, Realised R analysis, strategy/weekday/exit-reason/symbol/direction views, Entry Time Performance, Tagged Sessions, Drawdown & Recovery, Stability, Performance Quality and discipline/mistake views. These are panels inside Reports, not separate sidebar pages. **Q: Does Break-Even tolerance change P/L or Realised R?** A: No. It changes Win/Break-even/Loss classification only. Actual P/L and R calculations remain unchanged. **Q: Is Drawdown & Recovery my broker account-equity drawdown?** A: No. It is based on cumulative realised Net P/L in the selected Reports scope and excludes starting balance, deposits and withdrawals. **Q: Does Entry Time Performance convert timestamps to a market timezone?** A: No. It uses the recorded entry timestamp as stored/displayed by FTJ. **Q: Is Performance Quality a prediction or trading score?** A: No. It is a descriptive 0-100 summary of available statistical performance components for the selected Reports scope and is not a forecast, signal or discipline score. **Q: Why are metrics empty?** A: Core performance metrics use closed trades and may also require loss data, Stop Loss values, enough valid samples or usable exchange rates. **Q: Why are some trades excluded from reporting-currency totals?** A: FTJ could not find a usable conversion path for the required date and currencies. Add or fetch the missing rate in Rates. #### Support **Q: What should I include in a broker support report?** A: FTJ version, platform, account type, approximate execution time, symbol and a copied Status Log with secrets redacted.