> 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/trade-settings.md).

# Trade Settings

General settings for trading unrelated to PCL or SmartEntry

### Bias Trading

When enabled, Bias trading acts as a filter, forcing positions in one direction only. If Bias is set to Buy, then SmartEntry will only allow Buy positions to open.

<details>

<summary>Bias Selection</summary>

`Enumerator`

Default: No Bias - Buy or Sell

Enables or disables forced bias trading:

1. No Bias - Buy or Sell - Positions can be opened Buy or Sell (not simultaneously)
2. Buy Bias - Only open Buy positions when permitted by SmartEntry
3. Sell Bias - Only open Sell positions when permitted by SmartEntry

</details>

<details>

<summary>Ignore Entry Signal (Bias Trading Only)</summary>

`Boolean`

Default: false

When Bias Selection is set to Buy Bias or Sell Bias, the trader can opt to ignore SmartEntry and trade continuously.

</details>

### Market Cooldown

Cooldown can be used on both Dynamic and Fixed grid layouts.

Enforces that no 2 positions can be opened in the same timeframe. This can be useful when a market experiences a sudden directional move extending your grid. Usually a few unnecessary positions would be opened in this situation. With Cooldown we experience a gap in the grid, meaning our end result is a superior grid VWAP - lower risk.

{% hint style="warning" %}
Using Cooldown should be tested before using in Live Strategies as there are consequences (grid gaps), as with everything. Understand the trade-offs such as not being able to capitalise on sharp pullbacks after a market extension.
{% endhint %}

<details>

<summary>Market Cooldown/Delay Trading</summary>

`Boolean`

Default: false

Enable market cooldown

</details>

<details>

<summary>Cooldown Timing</summary>

`Enumerator`

Default: H4 (4 hours)

The timeframe to be used if Cooldown is enabled. Shorter timeframes are less effective.

</details>

### Risk Policy

Defining a solid Risk Policy is good practice, and will help eliminate any surprises. These are EA wide settings on the Symbol being traded only. If you are trading multiple symbols, they will each require their own Risk Policy to be configured.

<details>

<summary>Enable Hard Stop (force close on max loss)</summary>

`Boolean`

Default: false

When enabled all open positions will be closed and the EA forced into graceful stop mode when the floating pnl of a grid side breaches the defined Max Drawdown before auto close (negative).

The close is not made while spread or market conditions are poor (closing into a spread spike would realise the spread as a loss); it is re-checked on the next tick. The breach must also hold for 3 consecutive ticks before positions are closed.

</details>

<details>

<summary>Max Drawdown before auto close (negative)</summary>

`Double`

Default: -100000.00

A negative double that sets the maximum permissible loss in floating pnl. By default set to -100,000 (purposefully high to avoid misconfiguration mistakes). Only used when Enable Hard Stop (force close on max loss) is on.

The limit applies to each grid side (the Buy grid and the Sell grid) separately. Because it uses the floating pnl of the active grid, it will not take into consideration the floating pnl of any other activity on the Account that is not to do with this EA AND this symbol.

</details>

<details>

<summary>Warn at % of max loss (0 = no warning)</summary>

`Double`

Default: 0 (0 = no warning)

A percentage of Max Drawdown before auto close (negative), not of equity. When a grid side's floating loss reaches this share of the limit, a warning notification is delivered to your customer dashboard (Hydra Agent must be connected). For example, with a limit of -1,000 and a setting of 50, the warning is sent at -500.

If the trader has enabled Notifications on MT5, then a message will be sent to the trader's device as well.

When the warning fires, new grids are also blocked on this pair. Positions that are already open keep being managed.

The warning only works when Enable Hard Stop (force close on max loss) is on. Values from 0 to 99 are accepted.

</details>

<details>

<summary>Maximum positions (0 for infinite)</summary>

`Integer`

Default: 0

The maximum number of positions in a grid before suspending any more. Use with caution and test thoroughly before using.

</details>

<details>

<summary>Maximum missing steps gap</summary>

`Integer`

Default: 5

Number of rungs. The distance is measured from the last (Frontier) position to price, and is this number x the spacing the grid is using for its next position: the Minimum Step Size on Every Step grids, on Dynamic grids using Fixed Step spacing and in the Static Zone, the ATR spacing when a Re-Entry Spacing Mode based on ATR is selected on a Dynamic grid, and the current step on Step with Increasing/Decreasing distance grids. A setting of 5 means price has run 5 rungs past the last position, whatever the spacing.

When using Dynamic Grids, and especially with Cooldown enabled, there can be cases where the market moves fast and far, leaving a large gap in the grid. If the gap size exceeds this, then close the grid positions and restart. This will NOT shut down the EA.

</details>

<details>

<summary>Max Volume per Position</summary>

`Double`

Default: 5

The maximum volume (in lots) of a re-entry position. Once re-entry reaches this volume it will be capped and retained flat.

</details>

<details>

<summary>Breakout Re-entries (needs Breakout Lag > 0)</summary>

`Enumerator`

Default: Off - re-enter as normal

A breakout is when price moves above the high, or below the low, of the Market Context range measured without the last N days (Breakout Lag: range ignores the last N days (0 = off), under Anchor Regime). This setting changes how an open grid adds positions on the side against the break: sell re-entries on an upward break, buy re-entries on a downward break. It does not change new grids.

This setting needs Breakout Lag above 0. The EA will not accept a Breakout Re-entries mode while Breakout Lag is 0.

* Off - re-enter as normal
* Base lot - re-enter at the starting lot\
  Re-entries against the break are sized at the Starting Volume (this can produce an inverse grid)
* Frontier lot - re-enter at no more than the frontier lot\
  Re-entries against the break are no bigger than the current Frontier position's volume, so the grid stops growing in volume
* Freeze - no re-entries until back inside\
  No re-entries against the break until price is back inside the level it broke.

</details>

<details>

<summary>Breakout Ease: release over N days (0 = back in range)</summary>

`int`

Default: 0

Shown when Breakout Re-entries is not Off and Breakout Lag is above 0. With 0, a breakout ends when price is back inside the level it broke. With N days, the release level moves from the broken level towards the furthest price reached since the break, getting there after N days. Early in a breakout a deep retrace is needed to end it; later a smaller pullback is enough. For example if the Breakout Lag is 10 Days, Ease Days could be 5 Days.

Breakout Ease must be less than Breakout Lag. The portal will not save a setfile where it isn't, and the EA will not start with one.

</details>

### Trading Sessions

The session filter applies to new grids only: it decides whether a new grid's first (Anchor) position may open. Once a grid is live, re-entries, PCL closes, and stop losses all continue to run outside the session windows. A grid must be managed to completion regardless of the clock. The filter only acts when Enable Session Filter (initial entries only) is on (default off).

Session times follow the Session Time Base, which defaults to GMT. Broker server clocks vary by broker and shift with the broker's own DST rules, so server-time windows are only correct if you know your broker's offset. GMT is a fixed, well-documented reference: the defaults below are standard session hours in GMT and are correct on every broker without adjustment. The EA measures the broker's GMT offset itself and re-measures it periodically, so a broker DST change is picked up automatically.

Times are 24h HH:MM in whichever base is selected. Sessions that wrap midnight (start > end, e.g. 23:00-08:00) are handled. Note the GMT defaults make the Asian window a wrapping one. When enabled sessions overlap (for example London and New York), the overlap is simply tradeable.

<details>

<summary>Enable Session Filter (initial entries only)</summary>

`Bool`

Default: false

Enable/Disable session filtering. Set to False and every session will be traded

</details>

<details>

<summary>Session Time Base</summary>

`Enum`

Default: GMT / UTC (recommended)

Select which time base to use to define the session start and end time

1. GMT / UTC (recommended)
2. Broker server time (chart clock) - the times are read against the clock on your chart

</details>

<details>

<summary>Trade Asian Session</summary>

`Bool`

Default: true

Trade the Asian Session. Usually lower liquidity and can experience erratic market moves with false signals. Worth excluding in testing to baseline.

</details>

<details>

<summary>Asian Start (HH:MM)</summary>

`String`

Default: 23:00

Start of the Asian session

</details>

<details>

<summary>Asian End (HH:MM)</summary>

`String`

Default: 08:00

End of the Asian session

</details>

<details>

<summary>Trade London Session</summary>

`Bool`

Default: true

Trade the London Session.

</details>

<details>

<summary>London Start (HH:MM)</summary>

`String`

Default: 07:00

Start of the London session

</details>

<details>

<summary>London End (HH:MM)</summary>

`String`

Default: 16:00

End of the London session

</details>

<details>

<summary>Trade New York Session</summary>

`Bool`

Default: true

Trade the New York Session. End of session is market close.

</details>

<details>

<summary>New York Start (HH:MM)</summary>

`String`

Default: 12:00

Start of the New York session

</details>

<details>

<summary>New York End (HH:MM)</summary>

`String`

Default: 21:00

End of the New York session

</details>
