VWAP + EMA9/EMA21 Pullback Scalper at a glance
| Kind of rule | Time of day (session and opening range) |
|---|---|
| Buys or sells | It can buy, and it can bet on falling prices. |
| Built on | ATR, EMA, SMA, VWAP |
| Where it was published | TradingView, by its author, as a Pine Script strategy |
| Tested on | 12 cells: 12 coins, October 2021 to June 2026, no fee |
| Trades placed | none |
| Page updated | 2026-11-08 |
VWAP + EMA9/EMA21 Pullback Scalper backtest results, every cell
There is no cloud of cells to draw. The frame below says why.
How VWAP + EMA9/EMA21 Pullback Scalper works
Rules in this group usually work like this. It only acts during set hours, such as the London or New York morning. Crypto never closes, so those hours are a choice, not a fact of the market. The question is whether those hours behave the same way on more than one coin. The next paragraph is this particular rule, which can be narrower than the group.
It can buy, and it can bet on falling prices. It acts only when several checks agree at once. It leans on ATR, EMA, SMA, VWAP; those names are explained on their own pages, further down. The exact line is in the list below, in the author's names, and you can skip that list. When it enters, it also sets a stop or a target, so a trade can close without a new signal.
Each trade uses a fixed size of 1. It holds one trade at a time.
The exact condition, from the code
Same rule, translated from the code, in the author's names. You can skip this list if the paragraph above was enough.
- Enters long when not (Restrict to session? (on)) and Enable LONG trades (on) and no position is open and cd left equals 0 and bias up and (not (Confirm price on correct side of VWAP on entry TF (on)) or the close is above VWAP) and the low is at or below touch level long and reclaim long and volume ok.
- Enters short when not (Restrict to session? (on)) and Enable SHORT trades (on) and no position is open and cd left equals 0 and bias dn and (not (Confirm price on correct side of VWAP on entry TF (on)) or the close is below VWAP) and the high is at or above touch level short and reclaim short and volume ok.
- Places a stop at (stop swing when Stop mode (Swing) equals 'Swing', else VWAP), a target at (entry px + (risk unit × TP1 in R-multiples (1))) when a long position is open.
- Places a stop at (the larger of the larger of entry px and the 9-period EMA of the close and (stop swing when Stop mode (Swing) equals 'Swing', else VWAP) when tp1 hit and After TP1: trail remainder using EMA Fast (with BE floor/ceiling) (on), else (stop swing when Stop mode (Swing) equals 'Swing', else … when a long position is open.
- Places a stop at (stop swing when Stop mode (Swing) equals 'Swing', else VWAP), a target at (entry px + (risk unit × TP1 in R-multiples (1))) when a short position is open.
- Places a stop at (the smaller of the smaller of entry px and the 9-period EMA of the close and (stop swing when Stop mode (Swing) equals 'Swing', else VWAP) when tp1 hit and After TP1: trail remainder using EMA Fast (with BE floor/ceiling) (on), else (stop swing when Stop mode (Swing) equals 'Swing', else … when a short position is open.
| Buys or sells | It can buy, and it can bet on falling prices. |
|---|---|
| Tools it calculates | ATR, EMA, SMA, VWAP |
| A second chart speed | Yes. It also looks at a second chart speed. |
| Only at certain hours | Yes. It only acts during set hours. |
| Adding to a trade | It holds one trade at a time. |
| How much it trades | Each trade uses a fixed size of 1. |
| Cost the author assumed | The author assumed no trading cost. |
Default settings
The test used the defaults in the middle column. Nothing was turned to help a coin.
| Setting | Default | Group |
|---|---|---|
| Restrict to session? | on | |
| Trade session (exchange time) | 0935-1555:23456 | |
| Cooldown bars after a trade closes | 3 | |
| Enable LONG trades | on | |
| Enable SHORT trades | on | |
| Bias timeframe (VWAP + EMA trend) | 5 | |
| Require HTF EMA200 filter? | off | |
| HTF for EMA200 filter | 15 | |
| EMA Fast | 9 | |
| EMA Slow | 21 | |
| HTF EMA length | 200 | |
| VWAP source | hlc3 | |
| Pullback must touch EMA Slow (21)? (Else EMA Fast touch is enough) | off | |
| Confirm price on correct side of VWAP on entry TF | on | |
| Relative Volume filter | on | |
| RVOL length | 20 | |
| RVOL threshold (e.g., 1.2) | 1.2 | |
| Stop mode | Swing | |
| Swing stop lookback (bars) | 7 | |
| ATR length | 14 | |
| ATR buffer beyond swing stop (0 = none) | 0 | |
| TP1 in R-multiples | 1 | |
| TP1 percent to close | 50 | |
| After TP1: trail remainder using EMA Fast (with BE floor/ceiling) | on |
and 1 more settings, left at the author's defaults.
How the backtest was run
Every strategy was tried the same way, on the settings the author published.
The years are October 2021 to June 2026. The prices are from Bybit, for 13 widely traded coins, mostly on hourly, 4-hour and daily charts, with some faster charts. That was 47,242 tries. The window stored in the files is 2021-09..2026-06.
599 rules produced a finished try. A rule that finished above zero on at least 12 cells, before any fee, was tried again with a fee of 0.12 percent per side. Only buys are counted in that second try. 273 rules got it.
The method, the aggregate results and a downloadable table are on the study page. What the desk does with the results beyond these pages is its own.
Before any fee, it was tried on 12 cells, and it placed no trades.
It was not run a second time with a fee. That second pass happens only when at least 12 cells finished above zero before fees. 273 rules got that pass.
| Cells tried | 12 |
|---|---|
| Cells that placed a trade | 0 |
| Finished above zero | 0 |
Label: backtest · old prices, zero commission · Oct 2021 – Jun 2026. Hypothetical results; see the risk disclosure.
How to read the result
How to read the number
No cell took a trade, so there is no return to read. The rule above is the whole note.
What this does not show
The useful question is whether the same hours work on other coins. Crypto has no closing bell, so the hour is a choice.
There is no cell to single out, and this note does not invent one. Other years, another exchange, or another fee would be a different measurement.
Questions about VWAP + EMA9/EMA21 Pullback Scalper
What is VWAP + EMA9/EMA21 Pullback Scalper?
VWAP + EMA9/EMA21 Pullback Scalper is a session and opening range trading strategy published on TradingView as a Pine Script. In plain terms it is a rule of the kind this site calls time of day. It can buy, and it can bet on falling prices. It is built on ATR, EMA, SMA, VWAP. This page reads the rules from the code and reports what they did on old crypto prices.
How does VWAP + EMA9/EMA21 Pullback Scalper work?
It can buy, and it can bet on falling prices. It acts only when several checks agree at once. It leans on ATR, EMA, SMA, VWAP; those names are explained on their own pages, further down. The exact line is in the list below, in the author's names, and you can skip that list. When it enters, it also sets a stop or a target, so a trade can close without a new signal.
Is VWAP + EMA9/EMA21 Pullback Scalper profitable in a backtest?
There is no result to judge. The rule was tried on 12 cells and never placed a trade, usually because a condition never came true on these coins and chart speeds with the author's default settings.
Where can I find the VWAP + EMA9/EMA21 Pullback Scalper script?
It is published on TradingView by its author. Search TradingView for the title to find the original script. This page is an independent reading and is not affiliated with the author.
What does backtest mean on this page?
Backtest means the rule was replayed on old prices from Bybit. No real money moved. Every number on this page carries that label, and old prices do not promise anything about new ones.
Words used on this page
- Backtest
- The rule was tried on old prices. No real money moved.
- Cell
- One coin on one chart speed. Bitcoin every 4 hours is one cell. Bitcoin once a day is another.
- Chart speed
- How often a new price bar is drawn. 15m means every 15 minutes, 1h means hourly, 4h means every 4 hours, 1D means once a day.
- Fee, per side
- A cost taken each time the rule trades. Per side means once on the way in and once on the way out.
- Median
- Line the cells up from the biggest loss to the biggest gain. The median is the middle one. Half the cells did better and half did worse.
- Drawdown
- The deepest fall from a high point along the way, as a percent of the account at that high.
- Above zero
- The account finished with more than it started.
The indicators VWAP + EMA9/EMA21 Pullback Scalper uses
Each has its own page: what it measures, how it is read, where it misleads.
- ATR (average true range): the volatility number behind most stops
- Exponential moving average (EMA): what it measures and where it misleads
- Simple moving average (SMA): the plainest average, and why it still runs half the strategies
- VWAP: the volume-weighted average price, and why its anchor is the whole question
"VWAP + EMA9/EMA21 Pullback Scalper" was published on TradingView by its author, under the author's own license. This page is an independent reading of those rules and of what they did on these old prices. It is not written with the author, and it is not a recommendation. Not every detail survives the translation onto this page, so read the original before you rely on it.