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.
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội Quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội Quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.