Best Practices And Tips
This page gives a practical workflow for testing BananaEA settings without turning the process into curve fitting.
The purpose is not to create a perfect backtest. The purpose is to decide whether a setup is worth testing further.
Testing Workflow
Use this order:
- Define the setup you want to test.
- Run a baseline backtest.
- Review the main metrics and chart behavior.
- Optimize only if there is a clear reason.
- Validate selected settings on out-of-sample data.
- Run sensitivity checks.
- Forward test on demo.
- Start live only with small risk, if you choose to use it live.
- Monitor and keep records.
Before You Test
Write down:
- EA version
- Symbol
- Timeframe
- Broker
- Spread and commission assumptions
- Preset or
.setfile - Date range
- Initial deposit
- Risk settings
- What you are trying to learn
This prevents accidental cherry-picking after you see the result.
Baseline Backtest
Run a baseline before optimizing.
Check:
- Does the EA run without errors?
- Does it trade the expected symbol and timeframe?
- Are stop loss and take profit distances sensible?
- Does the trade count look reasonable?
- Are spread and commission assumptions realistic?
Do not optimize until the baseline setup is understood.
Optimization Rules
Keep optimization small:
- Optimize one to three meaningful settings.
- Use practical ranges.
- Avoid tiny step sizes.
- Avoid optimizing cosmetic or notification settings.
- Review the top group of results, not only the top result.
- Look for stable parameter areas, not one perfect number.
If the result only works at one exact setting, treat it as suspicious.
Out-Of-Sample Validation
Out-of-sample data must be untouched during optimization.
After selecting settings:
- Lock the settings.
- Test them on the later unseen period.
- Compare profit factor, drawdown, trade count, average trade, and consecutive losses.
- Reject the setup if it fails badly or behaves very differently.
Do not keep re-optimizing on the out-of-sample period until it looks good.
Forward Testing
Forward testing means running the setup on a demo account or very small live size under current market conditions.
Check:
- Broker execution
- Spread behavior
- Order rejections
- Slippage
- VPS stability
- Whether trade frequency resembles the backtest
- Whether drawdown stays within your limit
Forward testing takes time. A handful of trades is usually not enough to confirm a setup.
Live Deployment
If you use a setup live:
- Start with small risk.
- Use one preset at a time until you understand behavior.
- Monitor the platform.
- Avoid changing settings after every loss.
- Pause if lot size, drawdown, or execution looks wrong.
Live trading introduces real execution issues that Strategy Tester cannot fully reproduce.
Common Mistakes
Avoid:
- Testing only the best-looking historical period.
- Ignoring losing periods.
- Optimizing too many inputs.
- Trusting a small trade sample.
- Treating net profit as the only metric.
- Ignoring spread, commission, swap, and slippage.
- Changing broker or symbol without retesting.
- Treating a backtest as a promise.
Testing Journal Template
Test ID:
Date:
EA version:
Symbol:
Timeframe:
Broker:
Model:
Spread:
Commission:
Date range:
Preset:
Changed settings:
Net profit:
Profit factor:
Max drawdown:
Trade count:
Average trade:
Max consecutive losses:
Notes:
Decision:
Next action:
Monthly Review
Review live or demo performance regularly.
Ask:
- Is the EA behaving as expected?
- Are spreads and execution similar to the test?
- Has drawdown stayed inside your limit?
- Are losses part of normal variance or caused by setup errors?
- Has the broker changed symbol specifications?
- Do you have enough trades to judge anything?
Do not re-optimize automatically every month. Re-optimize only when there is a clear reason and enough data.
When To Re-Optimize
Reasonable reasons:
- Major market regime change.
- New production EA version with relevant setting changes.
- Broker symbol specifications changed.
- Long-term demo/live behavior no longer resembles testing.
- You are building a new preset for a different symbol or timeframe.
Poor reasons:
- One losing trade.
- One losing day.
- Boredom.
- Wanting a smoother backtest.
- Trying to force a setup to pass.
Final Checklist
Before treating a setup as a candidate:
- Baseline test completed.
- Optimization used limited, meaningful inputs.
- Out-of-sample test completed.
- Parameter sensitivity checked.
- Spread and commission assumptions reviewed.
- Trade count is large enough to review.
- Demo forward test is planned or completed.
- Risk setting is small enough for live uncertainty.