OPEN-SOURCE SCRIPT
Kim Lisa – A+ Rejection System (EMA48 + VWAP + TrendSlope)

Overview
The A+ Rejection System is a price-action–based strategy designed to identify high-quality reversal or continuation setups at dynamic support and resistance levels.
It combines the EMA48, VWAP, and a TrendSlope filter to detect moments where price interacts with these levels and immediately rejects them with strong wick-based candles.
This strategy focuses on clean market structure, dynamic levels, and wick dominance — without relying on repainting logic or lagging confirmation indicators.
🔍 How the Strategy Works
1. Dynamic Levels
The strategy uses two key dynamic levels:
EMA48 – short-term dynamic support/resistance
VWAP – volume-weighted mean price, used as institutional value anchor
Price must touch either EMA48 or VWAP for a valid setup.
2. TrendSlope Requirement
The touched level must show an actual slope:
Positive or negative slope is allowed
Flat levels are filtered out (no trades when EMA48 or VWAP is horizontal)
This avoids trading low-quality setups during sideways markets.
3. Rejection Candle Requirements
A valid rejection candle must show:
A clear wick dominance against the level
Body closing away from the level
For buys: strong lower wick + bullish close
For sells: strong upper wick + bearish close
This identifies strong rejection behavior with orderflow imbalance.
4. Trend Filter
Instead of using a traditional EMA200 filter, the strategy uses:
Price above VWAP → only long setups
Price below VWAP → only short setups
This allows adaptive trend following in both high- and low-volatility environments.
5. Time Filters (Europe Sessions)
Trades are allowed only during:
07:15–13:00 (German morning session)
14:00–18:00 (German afternoon/NY overlap)
This avoids low-volume overnight trading.
6. Order Placement
For every valid signal:
Entry:
Long: buy stop above candle high
Short: sell stop below candle low
Stop-Loss:
Based on rejection candle high/low
Take-Profit:
Fixed Risk-to-Reward 1:2
No pyramiding is used.
📊 What This Strategy Aims to Capture
This strategy is designed to capture:
Rejections at dynamic institutional levels
Pullback entries in ongoing trends
Liquidity sweeps into EMA/VWAP followed by reversal
Momentum bursts after failed retests
It works particularly well on:
XAUUSD
Indices (NAS100, SP500, DAX)
Forex majors
Futures micro contracts
⚠️ Important Notes
This script does not repaint.
Past performance does not guarantee future results.
Optimizing RR, time windows, and wick-strength criteria may improve performance depending on the market.
The A+ Rejection System is a price-action–based strategy designed to identify high-quality reversal or continuation setups at dynamic support and resistance levels.
It combines the EMA48, VWAP, and a TrendSlope filter to detect moments where price interacts with these levels and immediately rejects them with strong wick-based candles.
This strategy focuses on clean market structure, dynamic levels, and wick dominance — without relying on repainting logic or lagging confirmation indicators.
🔍 How the Strategy Works
1. Dynamic Levels
The strategy uses two key dynamic levels:
EMA48 – short-term dynamic support/resistance
VWAP – volume-weighted mean price, used as institutional value anchor
Price must touch either EMA48 or VWAP for a valid setup.
2. TrendSlope Requirement
The touched level must show an actual slope:
Positive or negative slope is allowed
Flat levels are filtered out (no trades when EMA48 or VWAP is horizontal)
This avoids trading low-quality setups during sideways markets.
3. Rejection Candle Requirements
A valid rejection candle must show:
A clear wick dominance against the level
Body closing away from the level
For buys: strong lower wick + bullish close
For sells: strong upper wick + bearish close
This identifies strong rejection behavior with orderflow imbalance.
4. Trend Filter
Instead of using a traditional EMA200 filter, the strategy uses:
Price above VWAP → only long setups
Price below VWAP → only short setups
This allows adaptive trend following in both high- and low-volatility environments.
5. Time Filters (Europe Sessions)
Trades are allowed only during:
07:15–13:00 (German morning session)
14:00–18:00 (German afternoon/NY overlap)
This avoids low-volume overnight trading.
6. Order Placement
For every valid signal:
Entry:
Long: buy stop above candle high
Short: sell stop below candle low
Stop-Loss:
Based on rejection candle high/low
Take-Profit:
Fixed Risk-to-Reward 1:2
No pyramiding is used.
📊 What This Strategy Aims to Capture
This strategy is designed to capture:
Rejections at dynamic institutional levels
Pullback entries in ongoing trends
Liquidity sweeps into EMA/VWAP followed by reversal
Momentum bursts after failed retests
It works particularly well on:
XAUUSD
Indices (NAS100, SP500, DAX)
Forex majors
Futures micro contracts
⚠️ Important Notes
This script does not repaint.
Past performance does not guarantee future results.
Optimizing RR, time windows, and wick-strength criteria may improve performance depending on the market.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.