> 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/smartentry/re-entry-signal-confirmation.md).

# Re-Entry Signal Confirmation

How grid re-entry positions are determined by SmartEntry

There are 4 options for applying re-entry logic to a grid, determined by Re-Entry Signal Confirmation.

SmartEntry only decides re-entries when the grid uses Dynamic re-entry, and only beyond the Static Zone (see [Position behaviors](/ea-configuration/ea-settings/grid.md#position-behaviors)). Static positions always open on the fixed step. New grids (Anchors) are decided separately, by the [Anchor Signal Settings](/ea-configuration/ea-settings/smartentry/anchor-signal-settings.md), [Market Regime](/ea-configuration/ea-settings/smartentry/market-regime.md) and [Anchor Vetoes](/ea-configuration/ea-settings/smartentry/anchor-vetoes.md#extreme-dd).

Beyond the Static Zone, each re-entry is decided in four steps:

1. **Spacing.** Price must first move the re-entry spacing beyond the last rung (see [Minimum Step gap](#minimum-step-gap) below).
2. **Risk Zone.** The grid's size picks its Risk Zone. The size is the distance from the anchor to the furthest rung, in steps. Green runs up to "Low Risk = Green zone upper bound" × step (default 5), Yellow up to "Medium Risk = Yellow zone upper bound. Above this - Red" × step (default 10), and Red is beyond that. With only the anchor open, the distance from the anchor to the current price is used. The zone changes when the furthest rung changes, not every time price moves.
3. **Signals vote.** There are 3 Re-Entry Signals: Micro Bounce, Momentum Shift and Range Breakout. Each one is checked on the zone's timeframe. A signal adds its weight to the score if it fired within the zone's confirm window (the last N bars).
4. **Score vs threshold.** The re-entry opens when the score reaches the zone's threshold. The signals don't compete, and the first one to fire doesn't win on its own unless one signal is enough to reach the threshold.

<details>

<summary>Re-Entry Signal Confirmation</summary>

`Enumerator`

Default: Balanced

1. Lenient - confirmation within 40/20/10 bars. The most permissive preset, good for volatile markets with strong retrace characteristics
2. Balanced - confirmation within 20/10/5 bars. Less permissive than Lenient, providing a good flow of new position entries for PCL to be effective
3. Strict - confirmation within 10/5/5 bars. The most restrictive preset, especially as grids start to extend into the Yellow and Red risk zones
4. Custom - uses the advanced weight inputs directly. For advanced users who would like control of which signals are active, how much each one counts, and the score and window of each risk zone. See [Custom Re-Entry configuration](/ea-configuration/ea-settings/smartentry/custom-re-entry-configuration.md)

What each preset needs, per zone (Green / Yellow / Red):

<table><thead><tr><th width="140">Preset</th><th>Signals needed</th><th>Fired within (bars)</th></tr></thead><tbody><tr><td>Lenient</td><td>1 / 1 / 1</td><td>40 / 20 / 10</td></tr><tr><td>Balanced</td><td>1 / 1 / 2</td><td>20 / 10 / 5</td></tr><tr><td>Strict</td><td>2 / 2 / 3</td><td>10 / 5 / 5</td></tr></tbody></table>

In the three presets every signal is on and worth 1, so "2" means any 2 of the 3 signals. Strict's Red Zone needs all three signals within 5 bars. The presets ignore the Custom Confirmation Only settings (weights, thresholds and confirm windows).

The presets are the simpler way to begin using Dynamic grids, with Custom available when more control is wanted. The videos and Re-Entry concepts explain these ideas in more depth.

</details>

Re-Entry logic is substantially more complex than Anchor logic because it must adapt to the current state of the grid. A re-entry into a small healthy grid should have different permissiveness than a re-entry into a deep, heavily-exposed grid

### Settings used in every mode

The zone timeframes and the Momentum Shift sensitivity apply to the presets and to Custom alike.

<details>

<summary>Green Zone Timeframe</summary>

`Timeframe`

Default: M15

The timeframe the signals use when the grid is in the Green Zone. The confirm window is counted in bars of this timeframe. It is also the ATR timeframe for ATR spacing in the Green Zone.

Typically between M15 and H1.

</details>

<details>

<summary>Yellow Zone Timeframe</summary>

`Timeframe`

Default: M30

The timeframe the signals use when the grid is in the Yellow Zone, and the ATR timeframe for ATR spacing in that zone.

Typically between M15 and H1. Usually this is higher than the Green Zone timeframe, meaning less permissive.

</details>

<details>

<summary>Red Zone Timeframe</summary>

`Timeframe`

Default: H1

The timeframe the signals use when the grid is in the Red Zone, and the ATR timeframe for ATR spacing in that zone.

Typically between M15 and H1. Usually this is higher than the Yellow Zone timeframe, meaning less permissive.

</details>

The asset class being traded is a big determinant of these settings. Usually as the grid extends into higher risks the timeframes get higher in order to be more restrictive. Some traders like to start out restrictive when the market is less likely to retrace and be more permissive in the Red Zone as retraces become more likely. Its a personal choice, and also determined by the size of the risk zones and asset being traded.

<details>

<summary>Momentum Shift ATR Sensitivity (lower = fires more)</summary>

`Double`

Default: 0.75

Sets how big a move Momentum Shift needs: the zone timeframe's ATR × this value (see the signal below). A lower setting is more permissive. It has no effect when Momentum Shift is disabled in Custom (weight 0).

</details>

### The Re-Entry Signals

The three signals are what allow a re-entry. Each one is checked for the direction of the grid (described here for a buy grid; a sell grid is the mirror image), on the timeframe of the grid's current zone.

<details>

<summary>Micro Bounce</summary>

Fires when price has just rejected a recent low. The lowest low of the last 10 completed bars must be in one of the last 3 bars, that bar must have closed up (close above open), and price now must be above that bar's close.

Micro Bounce is the fastest signal and catches small retracements.

In Custom, "Micro Bounce Weight" (default 1) sets how much it adds to the score. 0 disables it.

</details>

<details>

<summary>Momentum Shift</summary>

Fires when momentum turns. Over the two bars before, price fell by more than the threshold, and over the latest two bars (the current bar included) it rose by more than the threshold. The threshold is the zone timeframe's ATR × Momentum Shift ATR Sensitivity, so it scales with the timeframe and with volatility.

Momentum Shift confirms a local reversal has started.

In Custom, "Momentum Shift Weight" (default 1) sets how much it adds to the score. 0 disables it.

</details>

<details>

<summary>Range Breakout</summary>

Fires when price breaks out of the recent range in the grid's direction. The current bar's high must go above the highest high of the last 10 completed bars by a buffer (the larger of 10% of the range or 10% of the zone timeframe's ATR). A range smaller than 0.2 × ATR doesn't count. There is no limit tied to the step size.

On instruments that rarely form a range, this signal fires less often.

In Custom, "Range Breakout Weight" (default 1) sets how much it adds to the score. 0 disables it.

</details>

If the zone timeframe's ATR isn't available yet, Momentum Shift and Range Breakout don't fire.

When using Custom signal confirmation, any of the signals can be disabled with a weight of 0. If the weights of the signals left on can't add up to a zone's threshold, no re-entry can pass in that zone. With every weight at 0, no re-entry beyond the Static Zone passes unless that zone's threshold is 0.

{% hint style="info" %}
Extreme DD is no longer a re-entry setting. It only stops **new grids** from opening, and grids already open keep re-entering. It is described with the other new-grid checks on [Anchor Vetoes](/ea-configuration/ea-settings/smartentry/anchor-vetoes.md#extreme-dd).
{% endhint %}

### Minimum Step gap

Before the signals are asked, price must move a minimum gap beyond the last rung. Static positions always use the step. Beyond the Static Zone the gap is set in one of two ways.

The default is to use the minimum step size already configured. In this mode re-entry waits for this gap before evaluating for a new entry opportunity.

The second option is to use an ATR based evaluation, which offers greater flexibility and acknowledgement of the assets underlying volatility.

The gap answers *"has price moved far enough to bother asking?"*. The signals then answer *"is this a good moment to add?"*. The two are set independently.

### ATR based evaluation

#### The Master Switch

<details>

<summary>Re-Entry Spacing Mode</summary>

`Enumerator`

Selecting the default uses the Minimum Step Size as the gap. The ATR selections calculate the gap from ATR instead, but the result is always kept between the two safety limits below. With the default minimum of 1.0, ATR spacing is never tighter than the step.

Only acts with Dynamic re-entry, beyond the Static Zone.

Default: Fixed Step (legacy, default)

Options:

* Fixed Step (legacy, default) : All ATR settings will be inert
* ATR - Current : Spacing = multiplier × ATR right now
* ATR - Average/Baseline : Spacing = multiplier × long-period ATR
* ATR - Baseline x Clamped Ratio : Spacing = multiplier × baseline ATR × clamped(current/baseline)

If ATR isn't available (for example, not enough history yet), the gap falls back to the step.

</details>

#### The ATR Zone Multipliers

As the grid gets deeper and the zone escalates, rungs get further apart. Note that the ATR timeframe is the zone's timeframe, so this works as a double ratchet.

<details>

<summary>Green Zone ATR Multiplier</summary>

`Double`

Default: 2.0

ATR 'step size' when grid is in the configured Green Zone

</details>

<details>

<summary>Yellow Zone ATR Multiplier</summary>

`Double`

Default: 3.0

ATR 'step size' when grid is in the configured Yellow Zone

</details>

<details>

<summary>Red Zone ATR Multiplier</summary>

`Double`

Default: 4.0

ATR 'step size' when grid is in the configured Red Zone

</details>

#### The two ATR periods

There are two distinct ATR periods which can be configured depending on which ATR Re-Entry you have selected to use.

<details>

<summary>Spacing ATR Period (current)</summary>

`Int`

Default: 14

The ATR period used in ATR - Current and ATR - Baseline x Clamped Ratio

</details>

<details>

<summary>Spacing ATR Period (baseline/average)</summary>

`Int`

Default: 50

The ATR period used in ATR - Average/Baseline and ATR - Baseline x Clamped Ratio

</details>

{% hint style="success" %}
**Important subtlety:** these periods run on each **zone's own timeframe** (Green Zone Timeframe = M15, Yellow Zone Timeframe = M30, Red Zone Timeframe = H1 by default). So period 14 means 14×M15 bars in Green but 14×H1 bars in Red. Your Red Zone ATR is already both bigger and slower-moving — that's a free extra ratchet on top of the multipliers.
{% endhint %}

#### The ATR Ratio Clamps (Only for ATR - Baseline x Clamped Ratio)

When using the Ratio ATR we introduced a Floor and Ceiling clamp to ensure gaps do not cause compaction or extensions beyond a defined tolerance.

The clamps keep the useful signal and cut off both tails.

<details>

<summary>Ratio Mode: min current/baseline</summary>

`Double`

Default: 0.75

If the calculated ratio drops below this value, then clamp to this value. Avoids gaps that are too small.

</details>

<details>

<summary>Ratio Mode: max current/baseline</summary>

`Double`

Default: 1.5

If the calculated ratio is above this value, then clamp to this value. Avoids gaps that are too large.

</details>

#### The safety rails (all ATR modes)

Final hard clamp, expressed as a multiple of your configured Minimum Step Size. With step = 20 units and the defaults, spacing can never go below 20 or above 200 units regardless of what ATR says.

**This is the one most likely to confuse you mid-optimization.** If you sweep Red multiplier from 4 to 12 and results stop changing above \~8, the spacing has probably hit the 10× ceiling — that's the rail, not a genuine plateau.

<details>

<summary>Safety: min spacing (x Step Size)</summary>

`Double`

Default: 1.0

Value x Minimum Step size. If the calculated ATR step is smaller than this value, clamp to this size. At 1.0, ATR spacing is never tighter than the step.

</details>

<details>

<summary>Safety: max spacing (x Step Size)</summary>

`Double`

Default: 10.0

Value x Minimum Step size. If the calculated ATR step is greater than this value, clamp to this size.

</details>

{% hint style="info" %}
The Risk Policy setting "Maximum missing steps gap" counts in rungs of the spacing in use. With ATR spacing, a gap of 5 means price ran 5 ATR rungs past the last position, not 5 base steps.
{% endhint %}

### Other limits on re-entries

The signals decide whether a re-entry is wanted. A few separate settings can still hold it back:

* **Market Cooldown/Delay Trading** (off by default): at most one re-entry per side in each bar of the Cooldown Timing timeframe (default H4). See [Market Cooldown](/ea-configuration/ea-settings/trade-settings.md#market-cooldown).
* **Maximum positions** (0 = no limit): no add once the side has this many positions open. See [Risk Policy](/ea-configuration/ea-settings/trade-settings.md#risk-policy).
* **Breakout Re-entries** (Off by default, and only active when Breakout Lag is above 0): during a market breakout, adds on the side against the break are frozen (Freeze) or capped at the Base lot or Frontier lot. Adds on the other side are not affected. See [Risk Policy](/ea-configuration/ea-settings/trade-settings.md#risk-policy).

{% hint style="info" %}
After running a back test, [**GridSense**](/concepts/concepts/gridsense.md) reporting will reveal advanced diagnostic data on signal execution across the duration of the test. This is extremely useful when fine tuning dynamic grids and the re-entry logic.
{% endhint %}
