When does a held DCA transition to execution?
A held DCA order transitions to execution when the Volatility Gate confirms that explosive momentum has cooled, neutralized, or reversed, or when the configured safety timeout is reached.
Execution is never random. It follows strict, measurable release conditions.
🔁 The Transition Trigger
Once a DCA order enters observation (HELD state), it is evaluated every 60 seconds.
At each polling cycle, the system recalculates:
- Smoothed 1-minute kline movement
- Directional adverse momentum
- Neutral or reversal threshold status
- Observation duration
The held DCA transitions to execution when any one of the following release conditions is satisfied.
✅ 1️⃣ Neutral Momentum Confirmation
A held DCA is executed when:
Adverse smoothed movement falls below the configured
neutral_threshold_pctfor the required number of consecutive readings.
Example (Long trade):
- Explosive threshold = 3.0%
- Neutral threshold = 0.5%
- Required streak = 2
Observation cycle:
| Poll | Smoothed Movement | Status |
|---|---|---|
| T+60s | -4.8% | Still volatile |
| T+120s | -1.7% | Still volatile |
| T+180s | -0.4% | Neutral (1) |
| T+240s | -0.3% | Neutral (2) → RELEASE |
The consecutive streak requirement prevents premature execution during temporary pauses in a continuing crash.
🔄 2️⃣ Reversal Confirmation
A held DCA also transitions to execution if:
Smoothed adverse movement crosses the configured
reversal_threshold_pct.
This means momentum has flipped back toward your trade direction.
For a long position:
- Reversal occurs when downward momentum turns upward
For a short position:
- Reversal occurs when upward momentum turns downward
Example:
- Reversal threshold = -0.3%
- Smoothed movement shifts from -2.5% to +0.4%
That reading qualifies as reversal confirmation.
If the required streak is satisfied → execution occurs.
This allows the DCA to enter during early recovery rather than mid-collapse.
⌚ 3️⃣ Timeout Safety Release
To prevent indefinite blocking, a held DCA will execute when:
Observation time exceeds
max_observation_minutes.
Default example: 120 minutes.
This ensures:
- Strategy continuity
- No permanent suppression
- Predictable system behavior
Timeout release occurs regardless of current volatility state.
It acts as a fail-safe, not the primary release method.
📊 Important: Execution Price
When the transition happens:
- The DCA order is placed at live market price
- Not the original deviation trigger price
This is critical because:
- The market may have moved further
- The low/high may have formed
- The average entry improves significantly
🔍 What Does NOT Trigger Execution
A held DCA will NOT execute when:
- Momentum is still above explosive threshold
- A single neutral reading occurs but streak is incomplete
- Volatility temporarily dips then spikes again
- Market is still accelerating in adverse direction
If volatility spikes again:
- Neutral streak resets
- Observation continues
🧠 Why the Transition Logic Matters
This structured transition prevents:
- Stacking DCA orders into ongoing crashes
- Overexposure during liquidation cascades
- Entering during peak panic
Instead, it ensures execution occurs:
- During stabilization
- During exhaustion
- During reversal
- Or via controlled timeout
🏁 Summary
A held DCA transitions to execution when:
- Momentum cools to neutral for required consecutive polls
- Momentum reverses toward your trade direction
- Or maximum observation time is reached
In simple terms:
The system waits until the market stops accelerating against you — then it executes with confirmation instead of emotion.
If you’d like, I can also provide:
- A numeric mathematical breakdown of adverse movement logic
- A flowchart-style state transition explanation
- Or edge-case scenarios (extreme volatility, fake reversals, chop markets)