# A realistic year of retail forex trading: random-entry traders on real EUR/USD prices - specification

Specification written and **frozen 2026-10-14 (approved by the owner the same day, draft 1 unchanged)**, before any simulation of this study was run. Once frozen, any change is documented; bugs may be fixed.

## Why this study
- **Chosen by the owner** on 2026-10-14 for the article "Why Most Forex Traders Lose Money" ("lumea trebuie sa stie realitatea"). Official figures say most retail CFD and forex accounts lose money (ESMA 2018: 74% to 89%; brokers' current warnings, for example 70% and 74.1%). This study shows the mechanics behind such figures on real prices: what costs, trading frequency, risk per trade and leverage do to a trader **without an edge**, over one calendar year.
- It is a simulation of a trader who picks entries at random, not a test of a strategy: no gates and no verdict. Real traders are not random; the study shows the baseline a trader has to beat.

## Data
- EUR/USD, the 1-minute bid history of the IC Markets MetaTrader 4 demo server used in our EUR/USD tests (`fb_clock.loadEur({ fix: false })`), calendar years **2005 to 2025** (21 complete years). The clock issue of this file does not matter here: entry times are random over the whole week.

## The trader
- Starts each year with **$10,000** (a US-dollar account; one standard lot of EUR/USD is worth $10 a pip).
- **Entries:** K x (trading days in the year) start times are drawn uniformly at random among the year's 1-minute bars; trades are taken one at a time, in time order, and a start that falls while a position is open is skipped (trades taken are reported). **Direction:** long or short with equal probability. **Entry** at the open of the start minute.
- **Exit:** a stop and a target at the same distance S pips from the entry (1:1). They are checked on every minute from the entry minute on; if both are inside one minute, the stop is taken; if a minute opens beyond a level (a gap), the exit is at that open. A position still open at the end of the year is closed at the last price of the year.
- **Styles:** **scalper** S = 5 pips, K = 20 starts a day; **day trader** S = 15 pips, K = 5; **swing trader** S = 50 pips, K = 1.
- **Position size:** the lots that lose **r% of the current equity** at the stop (compounding), rounded down to 0.01 lot, and **capped by the leverage limit**: notional (lots x 100,000 x price) at most L x equity. Below 0.01 lot the trader cannot trade any more and stops (counted as blown).
- **Risk per trade r:** 1%, 5%, 10%. **Leverage limit L:** 30:1 (the EU/UK retail limit for major pairs) and 500:1 (common offshore).
- **Costs:** c pips per round trip x lots x $10, with **c = 1.0** (a low-cost account, as in our EUR/USD tests) and **c = 2.0** (a higher-cost account). **Reference:** c = 0 for each style at 1% risk and 500:1, to show the result before costs.
- **Swap:** every 17:00 New York rollover crossed while a position is open is charged at today's IC Markets EUR/USD swap (long -$7.99, short +$1.31 per lot per night, Wednesday counting three), not a historical rate; it matters mainly for the swing trader and is reported separately.
- Not modelled: margin close-outs other than the stop (positions are small next to the leverage limit except where the limit binds), requotes, slippage beyond the cost, news filters, behaviour.

## Simulation
- **1,000 simulated traders per year per cell**, 21 years: 21,000 trader-years per cell; seeds fixed. Cells: 3 styles x 3 risks x 2 costs x 2 leverage limits = 36, plus 3 zero-cost reference cells = **39**.
- **Reported per cell:** the share of trader-years that ended with a loss, with a loss of 50% or more, and with a loss of 90% or more (or unable to trade); median and mean return; trades taken; costs and swap paid as a share of the starting $10,000; how often the leverage limit cut the intended size; for one cell (day trader, 1%, 1 pip, 30:1) the share losing in each year.

## Checks before any result is shown
1. **Exit outcomes:** the precomputed exit (minute and price) for every start minute equals a naive forward scan, on a sample of start minutes for each S.
2. **Sizing and charges by hand:** lots with and without the leverage cap, the 0.01-lot floor, cost, swap nights (Wednesday triple), a gap exit.
3. **Independent re-implementation:** a separate, plainly written minute-by-minute simulation of a trader-year gives exactly the same trades and ending equity as the engine for several seeds and cells.
4. **No edge before costs:** with c = 0 the average result per trade is close to zero (slightly below, because of the stop-first rule), reported with its error.

## Before the article
The numbers go to the owner first. Published figures quoted in the article (ESMA, brokers' risk warnings, academic studies) are cited with their sources and dates, as theirs, not ours, including studies that find the opposite.

## Reading the result
A random-entry trader is a baseline, not a portrait of real traders. The study shows how costs, frequency, risk and leverage turn "no edge" into losses on real prices; it cannot say how many real traders have an edge.
