
The New York Liquidity Reversal Quantitative Trading Strategy is an intraday trading system focused on the New York trading session, primarily utilizing the previous day’s high and low points as key liquidity areas, combined with price action confirmation signals for trade execution. This strategy targets price reversal phenomena after breakouts of previous day highs and lows, capitalizing on directional changes following liquidity absorption. The strategy operates between 8:00 AM and 10:30 AM Eastern Time, employs fixed risk-reward ratio settings, and allows only one entry per direction per instrument per trading day to control risk and improve trade quality.
The core principle of the New York Liquidity Reversal Strategy is based on market microstructure and liquidity hunting theory. Specifically, the strategy posits that when price breaks through the previous trading day’s high or low and subsequently shows reversal signals, it likely indicates that large institutions have completed their liquidity collection, and the market will develop in the opposite direction. The main execution logic is as follows:
The essence of the strategy lies in capturing the liquidity collection behavior of large institutions near key price levels, which often leads to short-term price reversals. By waiting for confirmation signals (engulfing patterns), the strategy improves the success rate of trades.
Clear Market Logic: The strategy is based on liquidity collection and price action theory, supported by clear market logic rather than merely relying on statistical models or technical indicators.
Time Filtering Mechanism: By executing trades only during the New York session, the strategy focuses on the time period with optimal market liquidity and highest information content, avoiding noisy trades during low liquidity periods.
Multiple Confirmation Mechanism: The strategy combines price breakouts of previous day highs/lows with engulfing patterns as confirmation signals, significantly reducing the possibility of false breakout trades.
Strict Risk Control:
Visual Aids: The strategy marks trading signals and key price levels on the chart, facilitating real-time monitoring and strategy optimization.
Alert Functionality: Built-in trading signal alert system ensures traders don’t miss key trading opportunities.
False Breakout Risk: Despite using engulfing patterns as confirmation, false breakouts followed by reverse movements may still occur in highly volatile markets, triggering stop losses. Solution: Consider adding additional filtering conditions, such as volume confirmation or longer timeframe trend consistency checks.
Time Dependency: The strategy only operates within specific time periods, which may cause missed high-quality trading opportunities at other times. Solution: Develop complementary strategies covering other time periods, or adjust trading time windows based on different market characteristics.
Fixed Stop Loss Limitation: Using fixed point stop losses may not be suitable for all market conditions, especially in cases of sudden increased volatility. Solution: Consider implementing adaptive stop loss mechanisms that dynamically adjust stop loss points based on current market volatility.
Single Confirmation Mechanism Dependency: The strategy primarily relies on engulfing patterns as reversal confirmation, but a single indicator may lead to unstable signal quality. Solution: Integrate other price action confirmation signals or technical indicators, such as momentum indicators or support/resistance levels.
Lack of Volatility Filtering: In low volatility environments, breakouts of previous day highs/lows may lack sufficient momentum leading to losing trades. Solution: Add an ATR (Average True Range) filter to trade only when market volatility is adequate.
Dynamic Stop Loss Mechanism: Replace fixed point stop losses with ATR-based adaptive stop losses, allowing the strategy to better adapt to volatility changes under different market conditions. This provides tighter stops in low volatility markets and wider stop space in high volatility markets.
Integrate Market Structure Analysis: Incorporate higher timeframe market structure (such as H4 or daily trend direction) considerations, trading only in the direction consistent with the larger trend, which can improve win rate and average returns.
Volume Confirmation: Add volume analysis components to ensure liquidity breakouts are accompanied by sufficient volume support, filtering out low-quality breakout signals.
Time Optimization: Conduct more refined optimization of trading time windows, determining the optimal trading period for each instrument through backtesting, rather than using a uniform time window.
Multiple Timeframe Analysis: Introduce multiple timeframe confirmation mechanisms, for example, requiring entry signals at lower timeframes to be consistent with higher timeframe trend directions, reducing counter-trend trading.
Profit Target Optimization: Implement dynamic profit target settings adjusted according to market structure (such as key support/resistance positions) or volatility indicators, rather than simply using fixed ratios.
Partial Profit Taking: Implement a tiered profit-taking strategy, moving stops or partially closing positions after reaching certain profit levels to lock in partial profits while allowing remaining positions to track larger price movements.
The New York Liquidity Reversal Quantitative Trading Strategy is a clearly structured, logically sound intraday trading system focused on capturing reversal opportunities after liquidity breakouts of key price levels during the New York trading session. The strategy builds a relatively robust trading framework by combining time filtering, liquidity analysis, and price action confirmation. Its main advantages lie in clear market logic, strict risk control, and multiple confirmation mechanisms, while also facing challenges such as false breakout risks and fixed parameter limitations.
By implementing the suggested optimization directions, especially dynamic stop loss mechanisms, multiple timeframe analysis, and market structure integration, the strategy has the potential to further improve its performance and adaptability. For intraday traders, this strategy provides a valuable framework that can be customized and extended according to individual risk preferences and market views.
Ultimately, the success of the strategy depends on the trader’s understanding of market microstructure and continuous optimization of strategy parameters. By combining solid market knowledge with disciplined execution, the New York Liquidity Reversal Strategy can become an effective tool in a trader’s arsenal.
/*backtest
start: 2025-07-16 00:00:00
end: 2025-07-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_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")