Skip to main content

How to Import Trade History into FTJ

Importing trade history is the fastest way to bring existing trades into Forgalis TradingJournal when you already have data from a broker export or spreadsheet.

This tutorial shows the basic import workflow in FTJ: select a trade-history file, choose an import template, check the column mapping, preview the rows, choose the target account, confirm the currency, and review the import summary.

FTJ is a local-first Windows desktop trading journal. Imported trades are stored in your local journal database under the account you choose during import.

This is a product walkthrough, not trading advice.

Video walkthrough

Watch the walkthrough first, then try the same workflow with a small sample file before importing a larger trade history.


What this tutorial covers

In this tutorial, you will learn how to:

  • Open the import workflow from Settings
  • Select a CSV or XLSX trade-history file
  • Choose between the cTrader and Custom import templates
  • Check automatic column mapping
  • Correct a mapping manually if needed
  • Use the file preview before importing
  • Choose the target journal account
  • Confirm the import currency
  • Read the import summary
  • Understand added and skipped rows
  • Verify the imported trades in the Trades view


Step-by-step guide

1. Create or confirm the journal account first

Before importing, make sure the account you want to import into already exists in FTJ.

For the tutorial video, the example account is Demo CFD Account. Use your own account when importing real journal data.

If you have exports from multiple accounts, import one file per account. This keeps the journal cleaner and reduces the chance of mixing trade history from different sources.


2. Open the import workflow

Open Settings, find the Database card, and click Import.

FTJ will ask you to select a trade-history file from your computer.


3. Select a CSV or XLSX file

Choose your prepared trade-history file.

FTJ supports CSV and XLSX imports for this workflow. Use a clean export with a header row and trade rows underneath it.


For your first test, do not start with your full trading history. Create a small sample file first, for example five to ten rows, and confirm that the result looks correct before importing a larger file.


4. Choose an import template

After selecting the file, choose the import template.

FTJ has two main import templates:

cTrader

Use this when your file comes from a cTrader XLSX export. The template is designed to map cTrader export columns to FTJ trade fields automatically.

This is not the same thing as the cTrader connection workflow. CSV/XLSX import is a file import. cTrader connection is a separate workflow covered in a later tutorial.

Custom

Use this for other CSV or XLSX files, including broker exports or spreadsheets with your own column names.

The Custom template opens the mapping screen so you can connect the columns in your file to FTJ trade fields.


5. Check the column mapping

The mapping screen connects file columns to trade fields in the journal.

For example, your file might use column names like:

  • Symbol
  • Side
  • Open Time
  • Open Price
  • Volume

FTJ needs those columns mapped to the trade fields it uses internally.

The importer tries to match common column names automatically, but you should still check the result before continuing. Do not assume the mapping is correct just because the column names look similar.


6. Use the preview before importing

Use the preview at the bottom of the mapping dialog to confirm that the selected columns match the first rows in the file.

Check that:

  • The symbol column contains instruments
  • The direction column contains Long/Short, Buy/Sell, or similar direction values
  • The entry date column contains entry timestamps
  • The entry price column contains prices
  • The quantity column contains position size
  • Exit fields are only mapped if the file contains closed trade data
  • Fees and swap are mapped only if those columns exist and contain the correct values

If one field is wrong, change the dropdown manually before importing.


7. Required fields

For a basic import, the required fields are:

  • Symbol — the instrument or market name
  • Direction — Long/Short or Buy/Sell style direction
  • Entry Date — when the trade was opened
  • Entry Price — the entry price
  • Quantity — the position size

The import cannot create useful trade records without these fields.



8. Optional fields

Optional fields can add more context when your file contains them:

  • Exit Date — when the trade was closed
  • Exit Price — the closing price
  • Fees — commissions or fees
  • Swap — overnight swap, rollover, or financing cost

Exit Date and Exit Price are useful when importing closed trades. If exit data is missing, the trade may be imported as open.

Fees and Swap are optional, but they can make the imported trade record more complete when your export includes those values.


9. Choose the target account

After the mapping step, choose the journal account that should receive the imported trades.

In the tutorial, the target account is Demo CFD Account.

Use the account that matches the trade-history file. If you import into the wrong account, the cleanest fix is usually to delete the imported rows, select the correct account, and import again.

Back up your database before doing cleanup on a large import.

10. Confirm the import currency

FTJ may ask which base currency should be used for the file.

Choose the currency that matches the account and import file. In the tutorial sample, the account and file both use USD.

This matters because imported P&L, fees, swap, and account-level review can depend on the correct currency context.

11. Run the import

When the file, template, mapping, account, and currency look correct, run the import.

FTJ processes the rows and then shows an import summary.

12. Read the import summary

After import, FTJ shows how many trades were added and how many rows were skipped.

Added means new trades were imported into the selected journal account.

Skipped means FTJ did not add those rows. Skipped rows can happen when a row is invalid or when the same trade already exists in the database.

If there are errors, read the details before importing a larger file.

13. Understand duplicate safety

Import files are easy to run twice while testing the mapping or updating trade history later.

FTJ checks for existing trades and skips rows that appear to already exist. Re-importing the same file should not create duplicate trades.

If you import the same sample file again using the same settings, FTJ should report that no new trades were imported because the rows already exist.


14. Verify the result in Trades

After the import, open the Trades view.

Confirm that the imported rows are visible under the selected account. Check a few rows before moving on:

  • Instrument
  • Direction
  • Entry date
  • Entry price
  • Quantity
  • Exit data, if included
  • Fees or swap, if included

Do this before importing a large file.


15. Continue to Dashboard review

After verifying the imported trades, you can return to the Dashboard and confirm that the journal now has more data available.

Do not over-analyze the Dashboard in this step. The next tutorial covers the Dashboard review workflow separately.


Import template explanation

The import template tells FTJ how to understand the file.

Use cTrader when the file is a cTrader XLSX export.

Use Custom when the file comes from another broker, platform, or spreadsheet. Custom import is more flexible, but it also requires you to check the mapping carefully.

The safest import workflow is:

  1. Start with a small sample file.
  2. Choose the right template.
  3. Check the mapping.
  4. Use the preview.
  5. Import into the correct account.
  6. Read the summary.
  7. Verify the result in Trades.
  8. Only then import a larger history.

Duplicate and skipped rows

Skipped rows are not always a problem.

A row may be skipped because:

  • The trade already exists in the selected account
  • Required data is missing
  • Required data cannot be parsed
  • Quantity is missing or invalid
  • Entry date or entry price cannot be read

If you are testing the same file more than once, skipped duplicate rows are expected.

If you expected new trades to be imported but they were skipped, check the summary and review the source file before trying again.


Why this matters

A trading journal is only useful if the data is structured correctly.

Importing a large file with the wrong mapping can create messy records that take time to clean up. That is why the preview step matters. It lets you catch simple mistakes before the data enters your journal.

Start small, confirm the result, then import more history when the workflow is correct.


Common mistakes and notes

Importing too much too soon

Do not start with thousands of rows. Use a small sample file first.

Choosing the wrong template

Use cTrader only for cTrader XLSX exports. Use Custom for other CSV or XLSX files.

Trusting automatic mapping without checking

Automatic mapping helps, but it is not a substitute for checking the preview.

Mapping the wrong quantity column

Broker files may use terms like volume, quantity, units, size, contracts, or lots differently. Check the sample values before importing.

Importing into the wrong account

Choose the account carefully before running the import. Imported trades are stored under the selected account.

Ignoring skipped rows

Skipped rows can be expected during duplicate testing, but they can also point to invalid data. Read the import summary.

Mixing cTrader file import with cTrader connection

This tutorial covers CSV/XLSX file import.

The cTrader connection workflow is separate and covered later in the tutorial series.


Next tutorial

Download FTJ

Forgalis TradingJournal is a local-first Windows desktop trading journal built for structured trade review.

Download FTJ from Microsoft Store and test the import workflow with a small sample file first:

Download Forgalis TradingJournal from Microsoft Store

Watch FTJ demo