What is the difference between over-optimization, history reading, curve fitting, hard-coding, and neural networks.
What is the difference between over-optimization, curve fitting, history reading, hard-coding, and neural networks.
When traders see a flawless equity curve in MetaTrader 5 — no drawdowns, nearly 99% winning trades — the first instinct is to buy or use that EA immediately.
But such results don’t always mean the strategy truly works.
They often result from hidden tricks or flawed development practices that make the EA perform only on historical data — not in live markets.
This article explains the differences between over-optimization, curve fitting, history reading, hard-coding, and neural networks, showing which methods are legitimate and which are fraudulent.
Best Broker for European Clients with trading leverage 1:500
1️⃣ Over-Optimization (Parameter Tuning)
What It Is
Over-optimization happens when a developer tunes the EA’s parameters too precisely to past data just to make the backtest look good.
The EA is not truly “learning” — it’s simply matching the past price patterns it has already seen.
Example:
Th EA is optimized on 2022–2024 data. After multiple optimization cycles, the results become “perfect.”
But when tested on 2025 or another symbol — performance collapses.
How It Looks in the Tester
-
Smooth, linear growth with no drawdowns
-
Unrealistically stable profitability
-
Completely different results on other periods or symbols
Why It’s Not Fraud (But a Mistake)
Over-optimization is not deliberate fraud — it’s a technical error caused by excessive parameter tuning.
However, selling such an EA as a “universal system” is misleading.
✅ Legitimate: If the author discloses the optimization period and validates it on new data (out-of-sample test).
❌ Not legitimate: If the author hides the fact that results are limited to one historical range.
2️⃣ Curve Fitting (The “Fit Curve EA”)
What It Is
Curve fitting is the extreme form of over-optimization — where the EA is effectively designed to reproduce a specific historical curve.
Instead of identifying trading logic, it learns every detail of the past, losing all predictive power.
A curve-fitted EA doesn’t have a consistent trading principle — it simply memorizes the history.
How It Looks
-
Nearly perfect backtest curve with 99% profitable trades
-
Dozens of adjustable parameters (filters, periods, indicators, etc.)
-
Total failure on new data or after minor market regime changes
Why It’s Dangerous
Curve fitting creates a statistically meaningless model.
It works only on the data it was “fit” to and immediately breaks in real trading.
✅ Partially legitimate only for research, not for live deployment.
❌ Fraudulent, if used to sell a product as “AI” or “universal.”
3️⃣ History Reading
What It Is
This is the most blatant and fraudulent technique.
The EA’s code intentionally or accidentally reads future data that would be unknown in real-time.
Example:
if (Close[i+1] > Open[i+1]) Buy();
Here the EA checks the next candle ( i+1 ), which is impossible during live trading.
In the MT5 tester, this creates “perfect” results because the EA literally knows the future.
How It Looks
-
100% profitable trades
-
Always buys at the exact low, sells at the exact high
-
Complete collapse in live trading
⚠️ 100% Fraud
This isn’t optimization — it’s data manipulation.
The EA cheats by accessing information from the future.
✅ Signs: Unrealistic entries, one-direction trading, no stops or TPs.
❌ Completely fraudulent.
4️⃣ Hard-Coding
What It Is
Hard-coding means embedding specific historical information directly into the EA’s logic — dates, levels, or even events.
Instead of reacting to market data, it simply follows a preprogrammed schedule.
Example:
if (TimeCurrent() >= D'2023.01.01' && TimeCurrent() <= D'2023.06.01') Buy();
This EA “knows” what happened in 2023 — because it was coded that way.
How It Looks
-
Works flawlessly during a known period
-
Instantly fails in new years or different symbols
-
No logical explanation for decisions
⚠️ 100% Fraud
This method is intentionally deceptive, as users cannot see these built-in historical rules.
The EA doesn’t analyze — it reenacts the past.
❌ Completely illegitimate technique.
5️⃣ Neural Networks (Machine Learning / AI)
What It Is
An EA powered by a neural network uses machine learning to find complex, non-linear relationships in price data, volatility, and technical features.
The model is trained on one part of the data (in-sample) and validated on unseen data (out-of-sample).
How It Looks
-
Realistic performance with ups and downs
-
Logical adaptation to volatility and structure changes
-
Varying but explainable behavior
⚙️ When It’s Legitimate
A neural-based EA is 100% legitimate when:
-
The training and test data are separated
-
The model is fixed before testing (no hidden curve fitting)
-
Forward testing is performed to confirm generalization
✅ Legitimate when transparently trained and validated.
❌ Fraudulent when the “AI” claim is fake or used as a marketing label for curve fitting.
🧩 Summary Comparison
| Approach | Description | Legitimacy | Common Problem |
|---|---|---|---|
| Over-Optimization | Excessive parameter tuning on historical data | ⚠️ Conditionally legitimate if tested properly | Loses generalization |
| Curve Fitting | EA designed to reproduce past equity curve | ❌ Mostly fraudulent in trading use | Memorizes history, zero prediction |
| History Reading | EA accesses future data in tester | ❌ 100% Fraud | Impossible in real-time |
| Hard-Coding | Fixed rules tied to specific dates or events | ❌ 100% Fraud | Pure data reenactment |
| Neural Networks | Model learns real market dependencies | ✅ Legitimate | Risk of overfitting if poorly trained |
💬 Final Thoughts
-
Over-Optimization is a common mistake — not a crime — if the author is transparent and validates results outside the training period.
-
Curve Fitting crosses the line — the EA doesn’t trade, it memorizes.
-
History Reading and Hard-Coding are outright frauds that fake results.
-
Neural Networks are legitimate, modern tools — but require discipline and validation to avoid overfitting.


