Fetching the page
Fetching the page
GIO4X Labs · Simulation
Build a trading rule from parts and test it on invented prices. Then watch the same rule meet forty other markets, and see how much of a good result was the market it happened to meet.
The bench
Choose a market, say when to get in, set the stop, the target and the risk. Every change runs the test again.
Trade by hand on the practice deskOn market 2027 the rule made 13 trades: 2 gained and 11 lost. The example account went from 10,000.00 to 9,088.04 SIM (−911.96), of which the spread took 120.00. At its worst it was 9.9% below its peak.
Figures are in SIM, an invented unit, on an example account of 10,000.00. Example pair: 480 invented bars, a fixed spread of 15 points. Not a real instrument and not GIO4X’s trading conditions.
Market (each one invented)
Long when the fast average closes above the slow one; short when it closes below.
The rule, in words
Go long when the 10-bar average closes above the 30-bar average (short when it closes below). The stop is 2 average ranges from the entry, with no target. Each trade risks 1% of the balance. An opposite signal closes the trade.
One result is not a finding
Now the same rule, unchanged, on 40 other markets of the same kind: it gained on 13 and lost on 27. The middle result was −258.89 SIM, and the spread cost 148.22 on average. These prices are a random walk, so no rule can know where they go: what separates the gains from the losses here is luck, and the costs are the only certain part.
| # | Side | Lots | In | Out | Closed by | Result |
|---|---|---|---|---|---|---|
| 1 | Short | 0.80 | 1.19755 | 1.19880 | stop | −99.66 |
| 2 | Long | 0.72 | 1.20159 | 1.20022 | stop | −98.43 |
| 3 | Short | 0.73 | 1.20099 | 1.20233 | stop | −97.72 |
| 4 | Long | 0.59 | 1.20181 | 1.20017 | stop | −96.84 |
| 5 | Short | 0.77 | 1.21068 | 1.21192 | stop | −95.15 |
| 6 | Long | 0.54 | 1.20312 | 1.20129 | stop (after a gap) | −98.82 |
| 7 | Short | 0.66 | 1.20059 | 1.20201 | stop | −93.44 |
| 8 | Long | 0.46 | 1.19446 | 1.19448 | opposite signal | +0.92 |
| 9 | Short | 0.66 | 1.19433 | 1.19574 | stop | −92.78 |
| 10 | Long | 0.40 | 1.19227 | 1.18998 | stop | −91.66 |
| 11 | Short | 0.72 | 1.18986 | 1.19112 | stop | −90.93 |
| 12 | Long | 0.60 | 1.19329 | 1.19327 | opposite signal | −1.20 |
| 13 | Short | 0.35 | 1.19312 | 1.19187 | end of the test | +43.75 |
Your own EA or indicator
Written an Expert Advisor, an indicator or a script? Send the source and a member of staff will read it. It is not run here and it is not published.
The platformsThe test’s rules
Ordinary software and a seeded random number generator: no language model, no data feed, nothing sent anywhere and nothing stored. The sizing formula is the Position Size tool’s.
SimulationInvented prices, invented instruments and an example account. Educational information, not investment advice or a recommendation to trade.
480 bars, each made of 12 small steps, with faster stretches now and then and a rare gap between two bars. The same market number always produces the same bars. There is one invented market for each kind of instrument: currency pair, metal, index, energy, share, crypto.
It can see only the bars that have already closed. A signal is acted on at the open of the next bar, never at the price that produced it.
A long opens one spread above the next open and a short one spread below it, so every trade starts slightly negative. The spread is fixed; a real one widens and narrows.
Lots = (balance × risk %) ÷ (stop distance × contract size), rounded down to 0.01. The stop distance is a number of average ranges: the average, over 14 bars, of how far a bar travelled.
If one bar touches both, the test counts the loss. If a bar opens beyond the stop after a gap, the trade closes at that open, which is worse than the stop: a stop is an instruction, not a promise of a price.
It closes at the next open, and a trade the other way opens there if the rule allows that side. Whatever is still open at the last bar is closed at its close.
What it is not
The bench teaches how a test is put together and how easily one result misleads. It does not find rules that work, and nothing it shows says what any market will do.
A random walk has no memory. No rule has an edge on it, so every gain on this page is luck and the only reliable effect is the cost. A real market is not a pure random walk, but a test on real prices can be fooled by luck in exactly the same way.
A rule tuned until it looks good on one stretch of prices has been fitted to that stretch. The forty other markets show what the same rule does when it meets prices it was not tuned on.
Every order is filled in full at the price the test names. Margin is not modelled, the spread never widens, there is no swap and no commission. Real costs are larger and less regular.
MetaTrader runs MQL programs and TradingView runs Pine Script; a web page cannot run either. This bench runs only the rules that can be built from its own parts.
Trading foreign exchange on margin carries a high level of risk, and may not be suitable for all investors. The high degree of leverage can work against you as well as for you. Before deciding to trade foreign exchange you should carefully consider your investment objectives, level of experience, and risk appetite. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose.