Trade Journal Exporter: Closed Positions to CSV

Trade Journal Exporter: Closed Positions to CSV
Download ALL MT5 scripts (351)
YouTube Video Thumbnail



Similar MetaTrader Tools

Trade Journal Exporter: Closed Positions to CSV

Info

The Trade Journal Exporter: Closed Positions to CSV is a Script for MetaTrader 5 that a trading journal provides a significant competitive advantage at no cost. This script exports your raw trading data from the terminal in a single operation.

Usage

This tool is typically used for enhancing chart analysis and decision making.

Platform

This Script works exclusively on MetaTrader 5 (both build 600+ and newer versions).

Setup

Place the downloaded file in MQL5/Scripts folder via File ? Open Data Folder in MetaTrader 5.


How to Install and Use Trade Journal Exporter: Closed Positions to CSV

1. Installation: Move your script file into the MQL/Scripts directory and restart the platform.

2. Execution: Drag the script onto a chart; it will perform a one-time action, such as closing all open orders or clearing chart objects.

3. Editing: Use MetaEditor (F4) to modify code, click "Compile," and verify no errors appear in the terminal before running.

4. Removing: Scripts stop automatically, but you can remove them manually by right-clicking the chart and choosing "Remove Script."

Frequently Asked Questions

Q: How are scripts different from EAs? A: Scripts execute a single action and then stop; EAs monitor the market and trade continuously.

Q: Can I assign a hotkey to a script? A: Yes, right-click the script in the Navigator, select "Set Hotkey," and define your preferred keyboard shortcut.

Q: Why did my script stop? A: Scripts are designed to stop immediately after finishing their programmed command; this is normal behavior.

What this tool does

A trading journal provides a significant competitive advantage at no cost.

Typical Use Case

This Script excels in automated trading and technical analysis on MetaTrader 5.

Compatible Platform & Setup

This Script works on MetaTrader 5. Place the file in the MQL5/Scripts folder and restart the terminal.

Description & Settings

Related: advanced trade history exporter: mae, mfe, and time-based analysis - another powerful script for MetaTrader 5 traders.

A trading journal provides a significant competitive advantage at no cost. This script exports your raw trading data from the terminal in a single operation.

Also recommended: asq trading journal export - similar script with strong performance on MetaTrader 5.


The tool selects account history for a specified number of past days (user-defined). It processes all deals, aggregating them into closed positions based on position ID. This ensures accuracy for both netting and hedging accounts and correctly handles partial fills by calculating volume-weighted entry and exit prices across all related deals.

Each row in the exported CSV file includes the following information: position ID, symbol, direction, volume, open time and volume-weighted open price, close time and volume-weighted close price, profit in points (adjusted for direction), commission, swap, net profit, duration in minutes, and the comment from the first associated deal (useful for strategy filtering).

User inputs allow for customization: the period in days, the output file name (defaults to TradeJournal_YYYY-MM-DD.csv if left empty), the CSV separator (default is ';' for direct Excel compatibility), an optional common folder for output, and an optional filter to include only the symbol from the current chart.

The output file is saved in the MQL5\Files directory or the common Files folder. Open positions and positions whose opening deal falls outside the selected period are excluded. This is an export-only tool and does not modify any account settings.

Last updated 2026.

You may also like: show trade lines service - excellent alternative for script users on MetaTrader 5.

Source Code

#property copyright "RobotFX"
#property version     "1.00"
#property description "This code is educational. Feel free to use, modify and upgrade as you wish. Visit ROBOTFX.ORG for professional trading tools"
#property script_show_inputs
input int    InpDaysBack       = 30;
input string InpFileName       = "";
input string InpSeparator      = ";";
input bool   InpCommonFolder   = false;
input bool   InpOnlyThisSymbol = false;
struct PositionRecord

.......

Leave your opinion, ask a question, share some knowledge

Limitations & Risk Warning

  • This tool is provided for educational and testing purposes only.
  • Past performance does not guarantee future results.
  • Trading involves substantial risk of loss. Use on a demo account first.
  • Results may vary depending on market conditions, broker, and settings.
  • We recommend thorough backtesting and forward testing before using with real funds.
© ROBOTFX Free educational tools by RobotFX. Use entirely at your own risk; we are not liable for any financial losses incurred.