Skip to content
Free TradingApp

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 .eld import

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

  1. Import (double-click) EP_RobustnessSnapshot.eld.
  2. 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

  1. Set the Folder (§4.1) — this is where every candidate's trades file will be written.
  2. 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.
  3. Fill in Symbol, Interval, and the rest of Data Settings/Costs/Trade Size (§4.3–§4.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.
  5. 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

FieldWhat it does
FolderThe base output folder. Every candidate's trades file lands in Folder\StrategyName\, a subfolder the tool creates automatically.
BrowseDue 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

FieldWhat it does
Strategy dropdownEvery strategy currently compiled in TradeStation.
Name columnThe strategy's input names — filled in automatically when you pick a strategy.
Base columnThe strategy's current saved input values — filled in automatically, read-only in practice (this is always your real, actual baseline).
Var 1–6 columnsYour 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

FieldWhat it does
Last DateEnd date of the history window, used for every candidate.
Days BackHow much trading history to load, in trading days.
Symbol / Interval (Data1)The market and bar interval every candidate runs on.
DATA2 / DATA3 / DATA4Optional 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

FieldWhat it does
Commission / SlippageDollars per contract / per side, applied per trade.
ContractsPosition 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):

ColumnMeaning
CandidateWhich column this row came from (Base, Var 1, Var 2, ...).
StatusRunning while in progress, then Complete or Failed.
Net Profit / Max DDThat candidate's actual results.
NP diff / DD diffPercent 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 / TradesThat 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.

Stay in the loop

Get new tools as they ship

One short email when a new free TradingApp or a major EdgeProof update is released. No noise, unsubscribe any time.

We only use your address for these updates. See the Privacy Policy.