XAUXXJournal
← Back to the journal

EA backtest curve looks good—first verify these test conditions

Distinguish modeling methods from real tick-by-tick data, record spread assumptions, parameter selection, and independent check intervals, so that EA test conclusions can be reviewed.

Thomas · Updated 2026-10-06

Author: Thomas | EA and Platform Practice | October 6, 2026

An upward backtest curve cannot explain under what conditions the program was running, let alone directly represent live performance. When comparing gold EAs, first verify the test conditions, then read the results—this is more useful than only picking the report with the highest net profit. This article discusses the conventional MT4 tester and does not conflate its functions with those of MT5 or third-party testing tools.

First save a test record that can be reviewed

Before running tests, keep the EA version, parameter files, full instrument name, chart timeframe, date range, initial capital and its currency, as well as the data source and terminal version. Each time parameters or conditions are modified, record the reason; do not save only the best run after seeing the results.

The purpose of these records is not to add pages to the report, but to let others know what the test actually compared. Even if two curves look similar, as long as the contract conditions, volume, or capital basis differ, they may not be directly comparable. Missing conditions in a report should be marked as unknown and cannot be filled in by guesswork.

The modeling method needs to correspond to the program logic

The official MT4 help lists different historical modeling methods. Testing only by open prices and programs that rely on intrabar price changes may not reflect the same trigger process. When choosing a method, first confirm whether the EA makes decisions after a complete candlestick has formed, or relies on price, exit, and order changes within the same candlestick.

The Every tick mode in the official documentation also uses smaller-timeframe data and interpolation to generate price changes, and is not automatically equivalent to a complete historical record of real tick-by-tick trades. You cannot see the words “every tick” and conclude that all market details have been reproduced. If third-party data or additional tools are used, their source and method should be explained separately.

Spread assumptions are not the same as the historical trading environment

According to the official MT4 help, the conventional tester by default uses the current spread of the instrument at the start of the test to simulate Ask, and a custom value can also be set in the Spread field. This means the spread assumption of the test needs to be clearly recorded, and a fixed assumption cannot be treated as the real floating spread over the entire historical period.

Trading conditions during data releases, liquidity changes, or abnormal periods may not be fully represented by a single set of fixed settings. Commissions, overnight fees, and other execution impacts should also be checked against the specific report and whether the tool considers them and what basis it uses. Parts that are not simulated must be clearly stated; do not replace these checks with “backtest passed.”

Optimization results are only a ranking under specific conditions

MT4 optimization results can display statistics such as profit, number of trades, drawdown, and expected payoff for different parameter combinations. Ranking first means that this combination achieved the corresponding metrics under the selected range and conditions; it does not mean it will still rank first in the future.

When analyzing, do not only look at the best row; also observe whether a completely different result appears after nearby parameters are slightly changed. If performance is concentrated in only a very narrow combination, it indicates that the conclusion may be sensitive to settings, but this phenomenon alone cannot be used to conclude that the program must be invalid. Continue to verify the logic, data, and test conditions, and keep both favorable and unfavorable results.

Set aside data not used for parameter tuning, then perform checks

You can predefine an interval for adjusting parameters and an independent check interval that does not participate in parameter tuning. The division method and evaluation metrics should be determined before seeing the check results. If, after checking, you repeatedly use the same segment of data to change parameters, that segment is no longer a completely independent test.

This is a research arrangement, not a certification process that guarantees profit. The sample size, position exposure, and differences in results under different market states still need to be recorded; you cannot ignore insufficient samples or coverage of only a single environment just because one independent check was profitable.

When conditions change, keep before-and-after comparisons

While keeping other conditions the same, changing one clearly defined assumption and comparing the results can help reveal the program's sensitivity to conditions. Record the change, the basis, the test results, and the limitations not covered, rather than only giving an unverifiable assessment such as “more stable.”

A demo run can be used to check the program flow and record the actual quote environment, but simulated fills are still not equivalent to live trading. Before entering any operating stage, clarify the checking process for abnormal orders, disconnections, position deviations, and when losses reach limits; do not temporarily loosen rules in order to keep the backtest curve going.

Finally, write conclusions as conditional statements

A clear summary should state: under what data, parameter, and cost assumptions what results were observed; which risks were not covered; and what still needs verification. Retaining unknowns is more helpful for later review than packaging research results as a profit promise.

Leveraged trading can cause significant losses. This article is for explaining EA testing and research methods and does not constitute advice to purchase a program, trade, or take positions. Backtest, demo, and optimization results cannot guarantee live safety or future returns.

Risk notice: leveraged trading can cause substantial losses. Content is for research and education, with no return guarantees. Past performance does not predict future results.