New York Liquidity Reversal Quantitative Trading Strategy

EMA RR SL TP 日内交易 流动性 突破 价格行为
Created on: 2025-07-24 08:58:12 Modified on: 2025-07-24 08:58:12
Copy: 0 Number of hits: 171
avatar of ianzeng123 ianzeng123
2
Follow
319
Followers

 New York Liquidity Reversal Quantitative Trading Strategy  New York Liquidity Reversal Quantitative Trading Strategy

Overview

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.

Strategy Principles

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:

  1. Time Filter: Trading only during the New York session (8:00-10:30 AM ET), which is a period of high market activity with frequent directional movements.
  2. Liquidity Sweep Confirmation:
    • Long Condition: Price breaks below the previous day’s low (sweepLow) then recovers, while forming a bullish engulfing pattern (bullishEngulf)
    • Short Condition: Price breaks above the previous day’s high (sweepHigh) then recovers, while forming a bearish engulfing pattern (bearishEngulf)
  3. Daily Trade Restriction: Only one entry per direction per instrument per day is allowed
  4. Risk Management: Uses fixed stop loss points and risk-reward ratio (default 3.0) to set take profit levels

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.

Strategy Advantages

  1. 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.

  2. 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.

  3. 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.

  4. Strict Risk Control:

    • Fixed stop loss point settings
    • Predefined risk-reward ratio
    • Limit of one trade per direction per asset class per day
    • Percentage-based money management (strategy defaults to using 1% of account equity)
  5. Visual Aids: The strategy marks trading signals and key price levels on the chart, facilitating real-time monitoring and strategy optimization.

  6. Alert Functionality: Built-in trading signal alert system ensures traders don’t miss key trading opportunities.

Strategy Risks

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Strategy Optimization Directions

  1. 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.

  2. 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.

  3. Volume Confirmation: Add volume analysis components to ensure liquidity breakouts are accompanied by sufficient volume support, filtering out low-quality breakout signals.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

Conclusion

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.

Strategy source code
/*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")