DEV Community

FMZQuant
FMZQuant

Posted on

New York Liquidity Reversal Breakout Trading Strategy

Overview
The New York Liquidity Reversal Breakout Trading Strategy is a quantitative trading system focused on the New York trading session, designed to capture market reversals by identifying liquidity area breakouts around previous day's high and low levels, combined with price action confirmation signals. The core of the strategy is to look for price reversal patterns after breaking previous day's extremes during the New York market hours (8:00 AM to 10:30 AM ET), using candlestick pattern confirmations and employing a fixed risk-reward ratio for trade management. This strategy specifically targets reversal scenarios following liquidity hunts, capitalizing on market participants' behavioral responses to key price levels.

Strategy Principles
This strategy is based on market liquidity theory and price action analysis, with its core operating principles as follows:

Time Filtering: The strategy operates exclusively during the New York trading session (8:00 AM to 10:30 AM ET), which is a period of high market activity and volatility.

Liquidity Area Definition: Previous day's high and low points are used as key liquidity areas, which typically attract a large number of orders and become focal points for market participants.

Liquidity Hunt Identification:

  • Long condition: Price breaks below the previous day's low (sweepLow) but closes above it, indicating bullish control.
  • Short condition: Price breaks above the previous day's high (sweepHigh) but closes below it, indicating bearish control.

Price Action Confirmation:

  • Long confirmation: Bullish engulfing pattern (bullishEngulf) confirms the long signal.
  • Short confirmation: Bearish engulfing pattern (bearishEngulf) confirms the short signal.

Trade Frequency Control: The strategy limits trading to one entry per direction per session per asset per day, preventing overtrading.

Risk Management: Fixed stop loss (10 pips) and take profit based on risk-reward ratio (default 3:1) ensure consistency in money management.

Strategy Advantages

  1. Market Psychology Exploitation: The strategy effectively leverages market participants' behavioral patterns at key price levels, particularly reversal opportunities following liquidity traps.

  2. Time Filtering Effectiveness: By focusing on the New York trading session, the strategy captures the market's most liquid and volatile time window, enhancing signal quality.

  3. Multiple Confirmation Mechanisms: Combines price breakouts, reversal confirmations, and engulfing patterns as multiple confirmation mechanisms, reducing false signal risks.

  4. Clear Risk Management: Employs preset stop-loss and risk-reward-based take-profit settings, making money management more standardized and systematic.

  5. Trade Frequency Control: Limiting to one trade per direction per asset per day avoids overtrading and accumulation of trading costs.

  6. Streamlined Efficient Design: The strategy logic is clear and concise, with minimal computational burden, suitable for real-time market analysis and quick execution.

  7. Visual References and Alert Functionality: Includes chart markers and alert functions for monitoring and executing trades.

Strategy Risks
False Signal Risk: Despite multiple confirmation mechanisms, market noise can still lead to false signals, especially on days with extremely low or high volatility.

Solution: Consider adding additional filtering conditions, such as volatility indicators or trend confirmation indicators, to reduce false signals.

Fixed Stop Loss Risk: Using a fixed pip stop loss may not be suitable for all market environments, potentially leading to premature stops in high-volatility situations.

Solution: Consider using volatility-based dynamic stop losses, such as ATR (Average True Range) adjusted stop levels.

Time Window Limitation: Focusing solely on the New York trading session may miss good opportunities in other sessions.

Solution: The strategy could be extended to include London or Asian trading sessions, but would need optimization for each session's characteristics.

Single Confirmation Pattern: Relying solely on engulfing patterns for confirmation may not be robust enough.

Solution: Consider integrating other price action patterns or technical indicators as additional confirmation.

Money Management Risk: Fixed risk-reward ratio may not adapt to all market conditions.

Solution: Consider dynamically adjusting target profit points based on market volatility and support/resistance levels.

Strategy Optimization Directions
Dynamic Liquidity Area Definition: Currently, the strategy only uses the previous day's high and low as liquidity areas. Consider expanding to multi-day extreme points or key structural positions.

Optimization Rationale: Multi-day extreme points typically accumulate more order flow, forming more significant liquidity areas that may provide higher quality reversal signals.

Volatility Filtering: Add volatility indicators such as ATR to avoid trading in low-volatility environments or adjust parameters accordingly.

Optimization Rationale: Reversal signals in low-volatility environments are typically of lower quality, while high-volatility environments require wider stop settings.

Trend Direction Filtering: Add longer-term trend determination and only trade reversals in the trend direction.

Optimization Rationale: Trading reversals in the direction of the trend typically has a higher success rate, potentially improving overall win rate.

Multi-Timeframe Confirmation: Add confirmation signals from higher timeframes.

Optimization Rationale: Signals from higher timeframes are typically more reliable and can reduce false breakouts.

Dynamic Stop Loss and Target Setting: Adjust stop loss and target positions based on market volatility or key price levels.

Optimization Rationale: Fixed pip stops don't adapt to all market conditions; dynamic adjustment can improve money management efficiency.

Volume Confirmation: Add volume analysis to confirm the authenticity of breakouts and reversals.

Optimization Rationale: Effective reversals are typically accompanied by volume characteristic changes; adding this dimension can improve signal quality.

Machine Learning Parameter Optimization: Use machine learning methods to automatically adjust strategy parameters to adapt to different market environments.

Optimization Rationale: Automated parameter optimization can improve strategy adaptability across different market conditions.

Summary
The New York Liquidity Reversal Breakout Trading Strategy is a quantitative trading system based on market microstructure and price action, trading by identifying breakouts of key liquidity areas and subsequent reversal signals. The strategy's strengths lie in its clear logic, strict time filtering, clear risk management, and multiple confirmation mechanisms. Despite some limitations, such as fixed stop-loss settings and single time window trading, through the suggested optimization directions like dynamic liquidity area definition, volatility filtering, and multi-timeframe confirmation, strategy performance can be further enhanced. This strategy is particularly suitable for traders who understand market liquidity dynamics and price action, offering practical value for quantitative traders seeking high-probability reversal trading opportunities.

Strategy source code

/*backtest
start: 2025-06-22 00:00:00
end: 2025-07-11 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT","balance":2000000}]
*/

//@version=6
strategy("NY Liquidity Reversal - Debug Mode", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1, calc_on_order_fills=true, calc_on_every_tick=true)

// === User Inputs ===
sl_pips = input.int(10, "Stop Loss (pips)", minval=1)
rr_ratio = input.float(3.0, "Reward-to-Risk Ratio", minval=1.0)
tp_pips = sl_pips * rr_ratio
pip = syminfo.mintick * 10

// === Time Definitions ===
ny_start = timestamp("America/New_York", year, month, dayofmonth, 08, 00)
ny_end = timestamp("America/New_York", year, month, dayofmonth, 10, 30)
in_ny = (time >= ny_start and time <= ny_end)

// === Session Limiter ===
currentDay = dayofmonth + (month * 100) + (year * 10000)
var int lastTradeDay = na
canTradeToday = na(lastTradeDay) or (currentDay != lastTradeDay)

// === Previous Day High/Low ===
prevHigh = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
prevLow = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)

// === Simplified Engulfing Logic ===
bullishEngulf = close > open and close > close[1] and open <= close[1]
bearishEngulf = close < open and close < close[1] and open >= close[1]

// === Liquidity Sweep with Confirmation ===
sweepHigh = high > prevHigh and close < prevHigh
sweepLow = low < prevLow and close > prevLow

longCondition = in_ny and canTradeToday and sweepLow and bullishEngulf
shortCondition = in_ny and canTradeToday and sweepHigh and bearishEngulf

// === Trade Execution ===
if longCondition
    entryPrice = close
    stopLoss = entryPrice - sl_pips * pip
    takeProfit = entryPrice + tp_pips * pip
    strategy.entry("Long", strategy.long)
    strategy.exit("Long TP/SL", from_entry="Long", stop=stopLoss, limit=takeProfit)
    label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white)
    lastTradeDay := currentDay

if shortCondition
    entryPrice = close
    stopLoss = entryPrice + sl_pips * pip
    takeProfit = entryPrice - tp_pips * pip
    strategy.entry("Short", strategy.short)
    strategy.exit("Short TP/SL", from_entry="Short", stop=stopLoss, limit=takeProfit)
    label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white)
    lastTradeDay := currentDay

// === Visual References ===
plot(prevHigh, title="Prev Day High", color=color.red, linewidth=1)
plot(prevLow, title="Prev Day Low", color=color.green, linewidth=1)

// === Alerts ===
alertcondition(longCondition, title="Long Signal", message="BUY Setup Triggered")
alertcondition(shortCondition, title="Short Signal", message="SELL Setup Triggered")

Enter fullscreen mode Exit fullscreen mode

Strategy parameters

The original address: New York Liquidity Reversal Breakout Trading Strategy

Top comments (1)

Collapse
 
raxrb_kuech_d051e85bdc3db profile image
Raxrb Kuech

This is a really smart approach—tying breakout logic to New York session liquidity levels adds a nice contextual edge. The timing alignment makes sense given the volume spikes during that window. Definitely worth testing further with different pairs. Appreciate the clear breakdown!