Portfolio

Trade journal exporter engine

An export module writing each trade to a daily CSV with the fields that matter — session, stop distance, signal module — reconciled against the terminal report.

MT5 Professional trader Elham Nouri Data-driven trader

Project specifications

Project specifications

Market
XAUUSD / EURUSD
TF
M15
Platform
MT5
Client type
Professional trader
Delivery window
6 weeks
Stack
MQL5, CSV, a Python analysis script
Strategy
Structured trade export
Modules
Daily CSV + custom fields
Testing
Reconciled against terminal reports

Who this was for

Elham Nouri

Role
Data-driven trader
City
Tehran
Project reference
TBT-1405-17
Trade flow

The client's idea

Elham Nouri works XAUUSD / EURUSD on M15; the opening brief was: I want my trades exported with full detail into a clean file — not screenshots of the terminal.

Initial challenge

Trade analysis was manual: every trade copied out of the terminal, and a typo in the data would invalidate the results.

Solution

An export module writing each trade to a daily CSV with the fields that matter — session, stop distance, signal module — reconciled against the terminal report.

Why this design

The columns were agreed with the client up front, because the analysis questions follow from them. It matches how XAUUSD / EURUSD is actually traded and can be tested against the data already available.

Safeguards and risk control

New code lives in pure functions without hidden global state, and order-execution errors are caught and logged.

Our next-step proposal

The next step is automated tests over the calculation functions and documentation of the internal API.

Portfolio

Measured results

These are the figures the test produced — not a promise about future performance.

  • 12 Configurable inputs
  • 60 ms Order round-trip time
  • 1,480 Trades reviewed
  • 7 scenarios Scenario test coverage

Portfolio

How the delivery ran

Every project moves through these five phases, with the window for each agreed in the specification.

  1. Discovery and problem framing

    Completed

    Reading the existing code or the client's requirement and fixing the scope of the change on XAUUSD / EURUSD.

    Day 1–3

  2. Written specification

    Completed

    Writing the function contract, file layout and naming rules before any code.

    Day 4–10

  3. Implementation

    Completed

    Implementing in MQL with separated layers and no logic duplicated across files.

    Day 11–25

  4. Testing and validation

    Completed

    Compiling without warnings, unit-testing the functions and running historical XAUUSD / EURUSD data.

    Day 26–33

  5. Handover and support

    Completed

    Handover of an organised, commented source that is ready for the next change.

    Day 34–37