Robustness Snapshot
Test whether your current strategy settings survive small parameter changes, without running a full optimization search.
- TradingApp
- EP_RobustnessSnapshot
- Requires
- TradeStation Desktop
- Install
- Single
.eldimport
EP_RobustnessSnapshot
Single .eld file. Import into TradeStation Desktop via File → Import.
1. What This Tool Does
EP_RobustnessSnapshot is a free, standalone TradeStation TradingApp that checks whether a strategy's
performance holds up when you nudge its parameters slightly — without running a full optimization
search. You provide your strategy's current settings plus a small number of hand-picked variations you
already have in mind, the tool runs each one and shows the results side by side, on the same equity
chart and in the same metrics table.
Your current settings + a few "what if" variations → side-by-side metrics and equity curves
This answers "is what I already have robust against small changes?" — it does not search for better parameters for you. If you're looking for that, that's a different kind of tool entirely.
1.1 Who Is This For
Built for anyone who already has a set of parameters in mind — their own, or one they're evaluating — and wants a quick sanity check on how sensitive the results are to small changes, without owning the paid EdgeProof app.
You do not need to be a programmer. Everything is point-and-click. The only prerequisites are TradeStation itself and a compiled strategy.
1.2 How It Fits Into Your TradeStation Workflow
EP_RobustnessSnapshot is a stand-alone TradingApp — no chart required, and no dependency on the paid
EdgeProof app. Open it from TradeStation Apps like any other TradingApp; it stays available for the
life of your session.
2. Installation
- Import (double-click)
EP_RobustnessSnapshot.eld. - In any Workspace, go to the TradeStation Apps and click on
EP_RobustnessSnapshot.
That's it — there's no separate installer and nothing to configure before first use.
3. Quick Start
- Set the Folder (§4.1) — this is where every candidate's trades file will be written.
- Pick a Strategy from the dropdown — this fills in the Name and Base columns of the Candidate grid automatically, from that strategy's own current saved input values.
- Fill in Symbol, Interval, and the rest of Data Settings/Costs/Trade Size (§4.3–§4.4).
- In the Candidate grid, fill in any Var column(s) with the specific variations you want to test — for each one, only change the input(s) you actually want to vary; leave the rest of that column blank and it'll use the Base value automatically.
- Click Start Robustness Test.
The click returns immediately — the run happens in the background, one candidate at a time, and both the Results grid and the equity chart fill in live as each one finishes.
4. Field Reference
4.1 Work Environment
| Field | What it does |
|---|---|
| Folder | The base output folder. Every candidate's trades file lands in Folder\StrategyName\, a subfolder the tool creates automatically. |
| Browse | Due to a TradeStation constraint — pure EasyLanguage has no proper folder-selection dialog, only a file picker — you'll need to select any file inside the folder you want to use, rather than the folder itself. |
4.2 Strategy Selection & the Candidate Grid
| Field | What it does |
|---|---|
| Strategy dropdown | Every strategy currently compiled in TradeStation. |
| Name column | The strategy's input names — filled in automatically when you pick a strategy. |
| Base column | The strategy's current saved input values — filled in automatically, read-only in practice (this is always your real, actual baseline). |
| Var 1–6 columns | Your hand-picked variations. Fill in only the cell(s) you want to change for that column; any blank cell in a Var column uses the Base value for that input. A Var column left entirely blank is skipped — since it would just be an exact duplicate of Base, running it would tell you nothing new. |
You don't need to fill in every Var column. Test as many or as few variations as you actually want to check — an empty column just doesn't run.
4.3 Data Settings
| Field | What it does |
|---|---|
| Last Date | End date of the history window, used for every candidate. |
| Days Back | How much trading history to load, in trading days. |
| Symbol / Interval (Data1) | The market and bar interval every candidate runs on. |
| DATA2 / DATA3 / DATA4 | Optional fixed auxiliary data streams, if your strategy references a second, third, or fourth security internally. Each pair (Symbol + Interval) must be either both filled in or both left blank — if your strategy uses one of these and you leave it blank, that data simply isn't attached and the run will fail or behave incorrectly. |
4.4 Costs & Trade Size
| Field | What it does |
|---|---|
| Commission / Slippage | Dollars per contract / per side, applied per trade. |
| Contracts | Position size for every candidate. |
5. Reading the Results
5.1 Results Grid
One row per candidate that actually ran (Base always runs; empty Var columns are skipped — see §4.2):
| Column | Meaning |
|---|---|
| Candidate | Which column this row came from (Base, Var 1, Var 2, ...). |
| Status | Running while in progress, then Complete or Failed. |
| Net Profit / Max DD | That candidate's actual results. |
| NP diff / DD diff | Percent difference from Base — blank on the Base row itself, since there's nothing to compare it to. A variation with a small diff performed similarly to Base; a large diff (especially on DD) is the kind of thing this tool exists to surface. |
| Win Rate / Profit Factor / Trades | That candidate's own trade statistics — Trades in particular is worth watching, since a variation with a much lower trade count than the others usually explains why its other numbers look different too (fewer trades taken, not necessarily "worse" trades). |
A failed candidate doesn't stop the run — the tool logs it and moves on to the next one, so one bad variation doesn't cost you the results for the rest.
5.2 Equity Chart
One line per candidate, each in its own distinct color — Base is always the thick blue line; every variation gets its own consistent color, matching that same candidate's row color in the Messages log (§5.3). Lines that track closely together are a good sign; a line that visibly diverges — especially one that's noticeably shorter than the others — is worth a closer look via the Results grid's Trades column.
5.3 Messages
Status and error log. Each "Done: ..." line is printed in that candidate's own color (matching the chart), and failures print in red — so you can tell at a glance which line in the chart a message belongs to. Ends with a one-line summary once the whole run finishes.
6. Tips & Troubleshooting
Trades files are permanent, not scratch. Every candidate's trades file in Folder\StrategyName\ is
a real, permanent file — nothing gets deleted automatically. Each file is named after its candidate
label so it's easy to tell which is which.
These trades files work with EP_TradesExporter's and EP_MonteCarlo's Browse buttons too, if you
want to dig deeper into any one candidate's trade-by-trade detail.
Common issues:
- Start Robustness Test stays grayed out — a run is still in progress. Wait for the Messages summary line.
- A candidate shows Failed — check its line in Messages for the underlying TradeStation error; usually a data issue with that specific candidate's Symbol/Interval, not the tool itself.
- DATA2/3/4 blocks the run with a validation message — one of the Symbol/Interval fields in that pair is filled in and the other is blank. Fill in both, or clear both.
- A Var column you filled in didn't run — double check at least one cell in that column actually has a value different enough to notice; an entirely blank column is always skipped (§4.2).
TradeStation®, EasyLanguage®, and PowerEditor® are registered trademarks of TradeStation Technologies, Inc. EdgeProof is an independent entity and is not affiliated with, endorsed, sponsored, or certified by TradeStation Technologies, Inc. or any of its affiliates. Nothing here is trading advice.