> For the complete documentation index, see [llms.txt](https://docs.metacopier.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.metacopier.io/features/pro-features/news-filter.md).

# News filter

{% hint style="info" %}
This feature is added at the **copier** level. It reads the same data as the [Economic calendar](/features/economic-calendar.md).
{% endhint %}

The **News filter** stops new positions from being copied on a symbol while a calendar event that affects that symbol is inside its blackout window. Spikes around a release are where slippage, widened spreads and requotes live, and a copied entry into that spike rarely matches the master's fill.

{% hint style="warning" %}
The filter **never blocks a close**. Closes, partial closes and exits are always copied, so the slave is never left holding a position the master has already exited.
{% endhint %}

## How it works

1. The copier knows which currencies a symbol depends on. `EURUSD` depends on EUR and USD, `XAUUSD` on USD, and you can override this with your own symbol mappings.
2. From the calendar, every event that matches your event selection and touches one of those currencies is turned into a blackout window: `blackout before` minutes ahead of the release until `blackout after` minutes past it.
3. While a symbol is inside such a window, new opens on that symbol are skipped and, if enabled, written to the log.
4. Outside the window the copier behaves exactly as it does without the feature.

## Event selection

Both news features share the same event selection block.

* **Minimum impact:** High, Medium, Low or Holiday. High only is the usual choice, everything else quickly blocks most of the trading day.
* **Include global events:** Events without a currency (OPEC, G20, geopolitics) apply to every symbol. Enabled by default.
* **Include bank holidays:** Treats bank holidays as events. Off by default, holidays are handled separately, see below.
* **Category blacklist:** Event categories to ignore. Bond auctions (`bnd`) are ignored by default because they are noise for a trade copier.
* **Currency whitelist:** If set, only these currencies count. Empty means the currencies are derived from the symbol, which is what you normally want.
* **Event title blacklist / whitelist:** Case insensitive title fragments, one per line. A whitelist is the sharpest tool available here: filling it with `Non-Farm`, `CPI` and `Rate Decision` reduces the filter to the three releases that actually matter to you.
* **Symbol mappings:** Manual `pattern = currencies` overrides, evaluated top to bottom, for instruments whose name does not reveal its currencies, for example `US30 = USD`.

## Settings

* **Blackout before / after (minutes):** The window around the release. Maximum 240 minutes on each side. Longer windows are indistinguishable from switching the copier off.
* **Skip market orders:** Market opens are skipped during the window. Enabled by default.
* **Skip pending orders:** Pending orders (limit, stop) are skipped as well. Off by default, since a pending order placed before the window is usually intentional.
* **Block modifications:** Stop loss and take profit changes are blocked during the window. Off by default.
* **Log skipped trades:** Writes every skipped copy to the account log with the symbol, the event and the remaining window.

## Bank holidays

Liquidity on a bank holiday is thin, and thin liquidity turns an ordinary trade size into an outsized risk.

* **Enable holiday mode:** Turns on the holiday handling.
* **Holiday countries:** ISO-2 country codes whose holidays count. Empty means the countries are derived from the traded currencies.
* **Holiday action:** **Reduce size** (default), **Skip new opens** or **None**.
* **Size factor:** The percentage of the normal lot size used when the action is Reduce size. Default 50 %.

## Warnings

The filter can tell you before it acts, through the notification channels of the project.

* **Warn before (minutes):** One warning per entry, for example 360 and 60 for a six hour and a one hour heads-up. Empty disables the warnings.
* **Warn only if exposed:** Stay silent when nothing is open on the affected symbols. Enabled by default, otherwise a busy calendar produces a lot of irrelevant messages.
* **Daily agenda:** One digest per day at a fixed UTC time instead of many single warnings.
* **Notification targets:** Where the warnings go. Empty means every notification channel of the project.

Warnings created by this feature also appear under **Pending alerts** in the Economic calendar.

## Per-symbol configuration

You can define a different configuration for individual symbols, for example a 30 minute window on `XAUUSD` and 15 minutes everywhere else.

{% hint style="info" %}
A per-symbol entry **replaces the whole configuration** for that symbol, it does not merge field by field. Set every value you want that symbol to use.
{% endhint %}

## Notes

* The filter applies to opens. It does not close anything. If you want existing positions protected, add [News protection](/features/pro-features/news-protection.md) on the account.
* A skipped open is not caught up later. The trade idea is gone, exactly as it would be with any other filter.
