> For the complete documentation index, see [llms.txt](https://help.hydravision.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.hydravision.ai/ea-configuration/ea-settings/back-testing.md).

# Back testing

Settings related to back testing only

<details>

<summary>Export Backtest Report</summary>

`Boolean`

Default: false

At the end of the test, exports a JSON report for further analysis, which you can upload to the portal. It saves to your MT5 Common Files folder, in a subfolder for the account you tested on: `Common\Files\hydra_exports\<account number>`. The file is named `HV_Report_<symbol>_<test end date>_<n>.json`, where `<n>` is the next free number, so re-running the same test never overwrites an earlier report.

</details>

<details>

<summary>Export Hydra Replay file (beta)</summary>

`Boolean`

Default: false

At the end of the test, writes a Hydra Replay file that you can open in the Hydra Replay player to watch the run back. It saves to `Common\Files\HydraReplay`. Only single tests export a replay file; optimisation runs do not.

Hydra Replay is a beta feature that has to be enabled on your licence. If it is not, the test still runs and the Experts journal notes that the replay export was skipped. The **Hydra Replay Made Simple** guide covers the player in full.

</details>

<details>

<summary>Tester Modelling Mode (for report)</summary>

`Enumerator`

Default: Every tick based on real ticks

The modelling method you chose in the Strategy Tester for this back test. MT5 does not let the EA read this itself, so the value you set here is only a label that is written into the exported report. It does not change how the test runs. The report also records how many ticks the test actually processed, so two reports can be compared even when this label is left unspecified or set wrongly.

1. Unspecified (not declared)
2. Every tick based on real ticks
3. Every tick
4. 1 minute OHLC
5. Open prices only
6. Math calculations

</details>

<details>

<summary>Data sample category for back testing</summary>

`Enumerator`

Default: In Sample

Is the date range being tested classified as your In Sample range? Running the same configuration against different 'random' date ranges (Out of Sample) will aid in ensuring configurations do not curve fit.

1. In Sample
2. Out of Sample

</details>

### Simulated withdrawals and deposits

We run some strategies which require the simulation of the original capital, and deposits on trigger drawdowns.

<details>

<summary>Simulate capital withdrawal</summary>

Boolean

Default: false

If enabled, then the original starting balance will be withdrawn once the account balance has doubled and no grids are open. This happens once per test.

</details>

<details>

<summary>Simulate an Account Topup on Drawdown</summary>

Boolean

Default: false

If enabled, then a Deposit will be made into the account when a configured drawdown is hit. This will be auto-withdrawn when the account stabilises.

</details>

<details>

<summary>Maximum Drawdown to activate Top-up (negative)</summary>

Double

Default: -1000

If simulated top-up is enabled, then this is the floating drawdown value that will trigger a top-up

</details>

<details>

<summary>Value in the Safety Buffer</summary>

Double

Default: 1000

If simulated top-up is enabled, then this is the amount which will be deposited into the account if top-up is triggered

</details>

### Drawdown Breach Counts

Understanding drawdown propensity is critical in trading, not just what the maximum drawdown was. In Hydra Vision the trader can configure 5 levels of % drawdown breaches, and 5 levels of currency drawdown breaches. These 10 values will be displayed on both the Journal and Exported reports.

Breaches are counted per **drawdown episode** on the account. An episode starts when equity falls below its highest point so far, and ends when equity gets back to that high. Within one episode only the deepest level reached is counted. So if equity falls 2.5%, then keeps falling to 5% before recovering, that episode counts once, at 5%. The next fall after equity has recovered starts a new episode and counts again.

<details>

<summary>Enable DD Breach Tracking</summary>

Boolean

Default: false

Enable for breach reporting

</details>

<details>

<summary>Percent Level 1 - 5</summary>

`Double`

Default: 2.5, 5, 10, 15, 20 (%)

5 settings for percentage breach threshold, each level incrementing in value. The percentage is the fall in equity measured from its highest point.

</details>

<details>

<summary>Currency Level 1 - 5</summary>

`Double`

Default: 1000, 2500, 5000, 7500, 10000 (account currency)

5 settings for value breach threshold, each level incrementing in value

</details>
