Overview
The JIMENEZ Dynamic Volatility-Adjusted Enhanced Trend Breakout-Retest Trading Strategy is a tactical trading system designed specifically for volatile markets. The core concept of this strategy is based on identifying retest points after market breakouts and precisely entering positions when trend continuation is confirmed. The system integrates swing structure validation, smart cooldown and price spacing logic, stop-loss compression after 3 bars, and dynamic profit targets based on candle strength and ATR. This strategy is particularly suitable for traders seeking precise entries and controlled risk exposure in volatile markets.
Strategy Principles
The fundamental principles of the JIMENEZ strategy are built on identifying market structure changes and trend continuation signals, with the following key components:
Candle Anatomy Analysis: The strategy first conducts a deep analysis of candle formations, identifying indecisive candles (body less than 30% of total wick) and strong body candles (body greater than 1.5 times the total wick and larger than the previous candle's body). This provides the morphological foundation for breakouts and retests.
Breakout-Retest Logic:
- Bullish Breakout: The previous candle is indecisive, the current candle closes above its open, and has a larger body than the previous candle
- Bullish Retest: The previous candle's low approaches the close of the candle two periods ago (within ±0.3% range) and closes above its open
- Bearish breakout and retest logic follows the opposite pattern
Smart Cooldown Mechanism: To avoid overtrading, the strategy introduces a dynamic cooldown concept. During periods of volatility spikes, the cooldown period is automatically halved, allowing more frequent trading; under normal market conditions, the standard cooldown period is maintained.
Price Spacing Control: Prevents repeated entries at similar price levels by requiring a minimum price difference between new entry points and previous entry points, or sufficient time must have elapsed.
Dynamic Risk Management:
- Dynamic profit target setting: Adjusts profit targets based on candle strength and volatility status, increasing the ATR multiplier from 1.5 to 2.5 under strong conditions
- Stop-loss setting based on ATR, maintaining a constant 1.0x ATR distance
- Optional trailing stop-loss implemented through a buffer multiplier
Multiple Filtering Conditions: The strategy combines time filtering, volatility filtering, volume confirmation, and other multiple conditions to ensure entry only under ideal conditions.
Strategy Advantages
Precise Entry Conditions: By combining breakout-retest patterns, candle formation analysis, and multiple filters, the strategy ensures entry points have high-probability trend continuation characteristics, significantly improving trade success rates.
Strong Adaptability: The strategy automatically adjusts trading frequency and profit targets according to market volatility status, taking more aggressive opportunities during high volatility periods and being more conservative during low volatility periods.
Fine-Tuned Risk Control: Fixed ATR multiple stop-loss settings ensure risk is proportional to market volatility, while dynamic profit targets adjust according to market strength, optimizing the risk-reward ratio.
Prevention of Overtrading: Smart cooldown periods and price spacing logic effectively prevent frequent trading under similar conditions, reducing ineffective trades and commission costs.
Visualized Trading Signals: The strategy provides clear visual markers, including entry points, stop-loss levels, and profit targets, helping traders intuitively understand the potential risk and reward of each trade.
Multiple Confirmation Mechanisms: Requiring conditions such as volume above the moving average, ATR above the minimum threshold, and trading within specific time periods to be simultaneously satisfied greatly reduces the possibility of false signals.
Adaptive Position Management: Using a percentage of equity approach for position sizing ensures risk management adjusts proportionally with account size, suitable for traders with different capital scales.
Strategy Risks
Retest Point Misjudgment Risk: The strategy's definition of the retest area (previous close ±0.3%) may be too strict or too loose in certain market environments, leading to missed valid signals or false signals. The solution is to adjust this parameter according to the characteristics of different trading instruments.
Volatility Mutation Risk: In extreme market conditions, ATR may fluctuate dramatically in the short term, leading to unreasonable stop-loss and profit target settings. It is recommended to pause the strategy during extreme volatility periods or incorporate a volatility conversion mechanism to smooth ATR values.
Consecutive Signal Quality Decline: When the strategy quickly re-enters (in cases where the cooldown period is halved), the quality of subsequent signals may not be as good as the first signal. Consider adding extra confirmation conditions for quick re-entry signals.
Insufficient Price Space Risk: In sideways ranges or narrow channels, the minimum price spacing requirement may cause missed valid signals. The solution is to set the price spacing parameter as a relative value (such as a percentage of ATR) rather than an absolute value.
Optimization Excess Risk: The strategy includes multiple adjustable parameters, posing a risk of overfitting historical data. Forward testing and out-of-sample testing are recommended to verify the robustness of parameters.
Volume False Confirmation: Relying solely on volume above EMA as confirmation may be insufficient, especially in cases of false breakouts accompanied by high volume. Consider adding volume distribution analysis or relative volume indicators.
Specific Time Dependency: The strategy's time filter may cause it to miss important trends outside trading hours. Consider introducing filtering mechanisms based on price action rather than fixed times.
Strategy Optimization Directions
Dynamic Adjustment of Retest Ranges: The current strategy uses a fixed retest range (±0.3%), which could be optimized to a dynamic retest range that automatically adjusts based on recent volatility. This would improve signal accuracy in different volatility environments, as high-volatility markets typically require wider retest areas, while low-volatility markets need narrower retest areas.
Enhanced Swing Structure Analysis: The current strategy's swing structure analysis is relatively simple and could be enhanced by introducing zigzag indicators or high-low point sequence analysis to improve market structure recognition capabilities, helping the strategy more accurately identify true breakout points.
Integration of Market Sentiment Indicators: Introducing indicators such as RSI, MACD, or Bollinger Bands to assess overall market sentiment and potential trend strength would help avoid entries in counter-trend situations, improving the strategy's win rate.
Adaptive Stop-Loss Mechanism: The current strategy compresses stop-loss after 3 bars, which could be further optimized to a dynamic stop-loss adjustment mechanism based on market structure and price action, such as moving stops to key support/resistance levels or adjusting stop distances through volatility.
Segmented Profit-Taking Mechanism: Consider implementing a segmented profit-taking strategy, such as closing part of the position at 1.0x ATR and another part at 2.0x ATR, which would secure partial profits while allowing a portion of the position to capture larger moves.
Trading Session Optimization: Determine the optimal trading sessions for different instruments through statistical analysis, rather than using fixed start and end hours, which would improve the strategy's adaptability to different markets and time zones.
Signal Quality Scoring System: Develop a signal quality scoring system that comprehensively considers factors such as market structure, volatility status, and volume confirmation strength, adjusting position size according to the score – using larger positions for high-quality signals and reducing risk exposure for marginal signals.
Summary
The JIMENEZ Dynamic Volatility-Adjusted Enhanced Trend Breakout-Retest Trading Strategy is a well-designed tactical trading system that provides traders with a complete trading solution through precise breakout-retest mechanisms, dynamic risk management, and smart cooldown mechanisms. The strategy particularly emphasizes precise entries and risk control in volatile markets, ensuring trades are only executed in high-probability situations through multiple filtering conditions.
The core advantages of the strategy lie in its adaptability and fine-tuned risk control mechanisms, which automatically adjust trading parameters according to market conditions, adapting to different market environments while maintaining strategy consistency. However, the strategy also has some potential risks, such as parameter setting sensitivity and possible over-optimization issues.
By implementing the suggested optimization directions, especially dynamic adjustment of retest ranges, enhanced market structure analysis, and the introduction of a signal quality scoring system, the strategy has the potential to further improve its performance and robustness. Overall, the JIMENEZ strategy offers a worthy option for investors seeking precise trading in volatile markets, especially those who value risk control and trading discipline.
Strategy source code
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("FS JIMENEZ)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs === //
lookback = input.int(20, "Swing Structure Lookback")
cooldownBars = input.int(5, "Base Cooldown Between Trades")
minATR = input.float(1.0, "Min ATR Filter")
startHour = input.int(7, "Start Hour (24h)")
endHour = input.int(20, "End Hour (24h)")
minSpacing = input.float(5.0, "Minimum Price Spacing (pts)")
spacingTimeout = input.int(12, "Bars to Re-allow Entry at Same Price")
trailingBuffer = input.float(1.0, "Trailing Buffer Multiplier")
// === Candle Anatomy === //
body = math.abs(close - open)
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
totalWick = upperWick + lowerWick
isIndecisive = body < totalWick * 0.3
strongBody = body > totalWick * 1.5 and body > body[1]
// === Filters === //
atr = ta.atr(14)
atrSMA = ta.sma(atr, 20)
volOK = volume > ta.ema(volume, 20)
atrOK = atr > minATR
volatilitySpike = atr > atrSMA * 1.2
timeOK = (hour >= startHour and hour <= endHour)
freeToTrade = strategy.position_size == 0
// === Setup Logic (Widened Retest Range) === //
bullBreakout = isIndecisive[1] and close > open and body > body[1]
bullRetest = low[1] < close[2] * 1.003 and low[1] > close[2] * 0.997 and close[1] > open[1]
longRaw = bullBreakout and bullRetest and strongBody and atrOK and timeOK and volOK
bearBreakout = isIndecisive[1] and close < open and body > body[1]
bearRetest = high[1] > close[2] * 0.997 and high[1] < close[2] * 1.003 and close[1] < open[1]
shortRaw = bearBreakout and bearRetest and strongBody and atrOK and timeOK and volOK
// === Smart Cooldown Logic === //
var int lastLongBar = na
var int lastShortBar = na
var float lastLongPrice = na
var float lastShortPrice = na
fastReEntry = volatilitySpike and strongBody
cooldownLong = fastReEntry ? math.floor(cooldownBars / 2) : cooldownBars
cooldownShort = fastReEntry ? math.floor(cooldownBars / 2) : cooldownBars
longTooClose = not na(lastLongPrice) and math.abs(close - lastLongPrice) < minSpacing and bar_index - lastLongBar <= spacingTimeout
shortTooClose = not na(lastShortPrice) and math.abs(close - lastShortPrice) < minSpacing and bar_index - lastShortBar <= spacingTimeout
longValid = longRaw and freeToTrade and (na(lastLongBar) or bar_index - lastLongBar > cooldownLong) and not longTooClose
shortValid = shortRaw and freeToTrade and (na(lastShortBar) or bar_index - lastShortBar > cooldownShort) and not shortTooClose
if longValid
lastLongBar := bar_index
lastLongPrice := close
if shortValid
lastShortBar := bar_index
lastShortPrice := close
// === TP/SL === //
tpMultiplierLong = strongBody and volatilitySpike ? 2.5 : 1.5
tpMultiplierShort = strongBody and volatilitySpike ? 2.5 : 1.5
tpLong = math.round(close + atr * tpMultiplierLong)
slLong = math.round(close - atr * 1.0)
tpShort = math.round(close - atr * tpMultiplierShort)
slShort = math.round(close + atr * 1.0)
// === Trade Execution === //
if longValid
strategy.entry("Long", strategy.long)
strategy.exit("TP/SL Long", from_entry="Long", limit=tpLong, stop=slLong, trail_points=trailingBuffer > 0 ? atr * trailingBuffer : na)
if shortValid
strategy.entry("Short", strategy.short)
strategy.exit("TP/SL Short", from_entry="Short", limit=tpShort, stop=slShort, trail_points=trailingBuffer > 0 ? atr * trailingBuffer : na)
Strategy parameters
The original address: Dynamic Volatility-Adjusted Enhanced Trend Breakout-Retest Trading Strategy
This strategy sounds like the Swiss Army knife of breakout trading—volatility-adjusted, trend-enhanced, and even retest-approved! Love the layered logic. Now if only it could make coffee too 😄 Great share!