[Development Log] The EA's Blind Spot: Lack of Environmental Awareness — Why Assuming the Ideal Environment Can Be Fatal
This article is a general overview that reorganizes the previous episodes 1, 5, 7, and 10 from the perspective of “lack of environmental awareness.”
■ In short
Many EAs are evaluated based on an ideal trading environment where the spread is constant, executions are instant, and communication is stable. In real trading environments, friction is inevitable, so the gap between these premises and reality directly translates into differences in performance. Therefore, when evaluating performance, you should check not only the numbers themselves but also which environment those numbers assume.
■ Q1. What is meant by “environmental awareness” here?
“Environment” has two meanings. One is the market environment, i.e., whether the trend or range, and whether volatility is high or low, which was discussed in Episode 18. The other is the trading environment, conditions such as spread, execution, communication, and events when actually trading. This article deals with the latter. The two have different causes and remedies, so mixing them up would blur the focus of validation.
■ Q2. What is “absolute friction”
In the lab concept, costs, latency, and constraints related to trading are called “absolute friction.” Like physical friction, it cannot be reduced to zero. Whether an EA is designed to incorporate friction influences stability in real operation. Designs that ignore friction can make validation performance appear better than actual capability.
The lab lists four design flaws that can break real operation:
Lack of absolute friction (assumed ideal environment)
Asymmetry in risk management
Lack of a global perspective (short-term timeframes)
Disparity between testing and reality
This article focuses on items 1 and 4.
■ Q3. How do ideal and real differ?
We summarize the differences between backtesting assumptions and real trading environments below.
In tests, spreads are treated as constant, but they vary by time of day and events. Executions involve delays and price slippage, and servers and communications can experience interruptions and latency. Individually these seem small, but as they recur with every trade, accumulatively they become non-negligible differences. For overnight positions, rollover causes swaps, and liquidity can drop at certain times, broadening spreads.
■ Q4. How are past episodes related?
Past episodes treat the sources of friction individually. In summary, they are as follows:
Episode 1 covers spreads and slippage, Episode 5 covers VPS and latency, Episode 7 covers execution power and swaps by broker, Episode 10 covers spread widening at economic data releases. All deal with the points where ideal environment assumptions collide with reality. They may look like separate topics when read individually, but they share a common theme in how the premises are set. Note that the abnormality detection discussed in Episode 4 (automatic stops during rapid spread widening) is also a preparation against friction.
■ Q5. What determines the magnitude of the impact?
It is determined mainly by two factors.
First, the ratio of friction to the profit per trade. The same friction cuts into profits more when the profit per trade is smaller. Also, frequent trading EA increases the number of times friction accumulates per trade, amplifying the impact.
Second, the volatility around events. For example, around economic indicators, spreads tend to be non-constant.
In tests, spreads are assumed constant, so this fluctuation is not reflected in performance. This difference is the main portion of the discrepancy described in Q4: “Testing vs. Real.”
Designs that are less sensitive to friction tend to have larger profit per trade, fewer trades, and avoid volatile times. The lab’s product descriptions note that actual execution prices and spreads may differ from those in backtests, reflecting this point. In the lab’s validation, the first axis is “survival and friction,” focusing on whether profits remain after accounting for costs.
■ Q6. What should you verify before deployment?
・Whether backtests incorporate spreads and costs
・How much profit per trade relative to friction
・How the behavior around indicators releases and overnight periods is handled in the design
・If a high-trade-frequency system, whether the cumulative friction per trade remains manageable
・Whether the broker or VPS used differs greatly from the validation environment
■ Q7. Will testing with friction solve the issue?
Partial effectiveness exists, but it does not solve the problem. In MT4 Strategy Tester, spreads are typically fixed, and slippage or delays in executions are not reproduced. Even with friction incorporated, some real-world differences remain.
Therefore, assume there is a gap between test results and reality, and proactively anticipate its width. Performance evaluation should use the friction-inclusive numbers as the baseline and conservatively account for real-world differences.
■ Summary
“Lack of environmental awareness” occurs not only in market environment but also in trading environment. EAs designed with ideal assumptions diverge from reality due to friction. By confirming assumptions before deployment, you can preemptively isolate causes of divergence. It is more practical to check premises beforehand than to search for causes after performance collapses.
Also, validation is based on historical data and does not guarantee future results.
If you want to confirm what environment your current EA assumes, please consult the General Consultation Desk.