Portfolio

News and session filter panel

A calendar panel that reads the news windows from the calendar file, blocks new entries inside them, and shows the system state on the chart.

MT5 Professional trader Negar Bayat News and index trader

Project specifications

Project specifications

Market
EURUSD / XAUUSD
TF
M5
Platform
MT5
Client type
Professional trader
Delivery window
5 weeks
Stack
MQL5, CSV calendar file, on-chart panel
Strategy
Calendar filter + session control
Modules
Time pause + live status
Testing
One year of news-window data

Who this was for

Negar Bayat

Role
News and index trader
City
Tehran
Project reference
TBT-1402-07
Trade flow

The client's idea

Negar Bayat works EURUSD / XAUUSD on M5; the opening brief was: Do not force-close my trades on news — just stop the bot opening anything in that window.

Initial challenge

Unwanted entries in the minutes around rate announcements were the single biggest drag on the results.

Solution

A calendar panel that reads the news windows from the calendar file, blocks new entries inside them, and shows the system state on the chart.

Why this design

The calendar file is refreshed weekly so the filter works independently of the terminal's internet feed. It matches how EURUSD / XAUUSD 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.

  • 20 min Pause around news releases
  • 3 Sessions controlled
  • 14 Configurable inputs
  • 99.9 % Runtime stability in test

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 EURUSD / XAUUSD.

    Day 1–2

  2. Written specification

    Completed

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

    Day 3–8

  3. Implementation

    Completed

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

    Day 9–21

  4. Testing and validation

    Completed

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

    Day 22–29

  5. Handover and support

    Completed

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

    Day 30–33