Ultimate Pullback Indicator

Never Miss A Pullback Opportunity Again!

View on TradingView

TradingView Username:

14.95 USD / month

Or Join My Mailing List for a 14 Day Free Trial!

What is the Ultimate Pullback Indicator?

This indicator detects pullback trading opportunities by analyzing price action in a very specific manner. It is designed to detect pullbacks in the forex markets, but it can be used profitably in all markets with the appropriate rules.

By combining simple trend filters with various advanced candlestick patterns it detects high-probability trend-continuation setups (and optional exits).

If you use this script to set alerts then you will never miss a pullback trading opportunity ever again!

I personally use this indicator to profitably trade pullback signals in the forex markets on multiple timeframes, from the 15-Minute chart to the 4-Hour and Daily chart. I also included an option that will draw your stop loss size (in pips) directly to your chart above each setup which I’ve found to be extremely helpful for speeding up my backtesting process.

There are many different variations of rules you can use with this indicator to create consistently profitable strategies including many I haven’t even thought of, so I don’t want to limit your imagination – but you can view the performance of my personal strategy in my forex trading journal.

This indicator has proven its value to myself and many of my trading friends who use it in their own trading. If you want to learn the specific rules that I use to trade profitably with this indicator, check out my trading mentor’s website.

I currently use this script to trade live money in the forex markets, but I’m also constantly testing and improving it. Therefore this is a constant work-in-progress and I’m always taking meticulous care to make it better.

That’s why this is a premium script that requires payment to access. The other advantage of charging for it is that it retains exclusivity to only a select few dedicated traders.

If you don’t want to pay for this script then I completely understand and I have plenty of other free scripts that you might be interested in!

How It Works

I created this script because I wanted to be alerted to high-probability trend-continuation and momentum setups.

It’s inspired by Steven Hart’s pullback strategy which is the first profitable forex trading strategy I ever learned. The accuracy of the script is fairly high now which is why I decided to release it publicly.

Basically, it works as follows:

When price is above the 50-EMA the script will wait for a pullback of at least two red candles. Once we have that condition met, it begins searching for advanced entry patterns.

The opposite is true for short trades – price must be below the 50-EMA and must pull back by at least two green candles before it will begin searching for entry reasons.

Once it detects a valid entry reason it will draw a green arrow (for longs) or a red arrow (for shorts) and your stop loss and target price (the red and green lines).

But these settings can be customized however you like. You can change the EMA to any period you want, you can adjust your stop loss distance, you can enable or disable the entry and exit reasons as you wish, and you can adjust the rules for some of the patterns.

For example, you can make hammer and shooting star candles require a wick that is 3x the size of the candle body in order to be considered valid.

Bullish Pullback Signals

  • Price must be above the EMA
  • Price must pull back by at least 2 red candles
  • Price must put in an advanced candlestick entry pattern

Bearish Pullback Signals

  • Price must be below the EMA
  • Price must pull back by at least 2 green candles
  • Price must put in an advanced candlestick entry pattern

Candlestick Entry Patterns

Bullish Entry Signals

Ultimate Pullback Indicator - Bullish Engulfing Candle Example
Ultimate Pullback Indicator - Bullish Doji Example
Ultimate Pullback Indicator - Bullish Hammer Candle Example

Bearish Entry Signals

Ultimate Pullback Indicator - Bearish Doji Example
Ultimate Pullback Indicator - Bearish Shooting Star Example

I’ll be adding more entry patterns as I identify more that work well with this strategy.
Feel free to email me any suggestions!

Exit Reasons

The script also comes with some inbuilt exit signals which I use for my own personal testing and trading.


The first exit reason is a higher-high higher-close / lower-low lower-close.

This signal is generated when price exceeds the profit target and then prints a higher-high higher-close candle (for short exits) or a lower-low lower-close (for long exits).

Ultimate Pullback Indicator - Higher High Higher Close Exit Reason Example
Higher-High Higher-Close
Lower-Low Lower-Close

The second exit reason is the same as above, but it requires two higher-high higher-close or lower-low lower-close candles in a row.

This exit reason can keep you in trending moves longer which may make more money in the long-term, but can also sacrifice profits on your average winning trade which might increase your max drawdown – so one is not better than the other.

EMA Breach

The third exit reason is a break and close above or below the EMA.

If you’re in a short trade, the script will generate an alert when price closes above the EMA. If you’re in a long trade, then the alert will occur when price closes below the EMA.

Pretty simple, but very effective.

Bearish EMA Breach
Bullish EMA Breach

Be mindful that this method will sacrifice profits on your average winning trade which might increase your max drawdown.

So even though it can capture massive moves in the market, it still requires skilled discretion to know when to use it and when not to use it in order to execute it profitably over the long-term.

For beginner traders and more conservative traders, I recommend sticking to either a fixed target or a simple HHHC/LLLC exit.

Fixed Target

Fixed Target

Alternatively, you could use a fixed target – simply set a take-profit order at the green line whenever a signal is generated (and a stop loss order at the red line).

This isn’t the most ideal way of trading because it limits your profit potential, which is never a great idea. But if you struggle with self-discipline and consistency issues with your trading, then this is a very effective way to train yourself to stick to the plan.

I used this method to trade profitably for over six months before I began employing more advanced exit methods, and I had a handful of months where I gained 10%+ while risking only 1% per trade – so never underestimate the power of fixed targets when you have a highly accurate entry strategy!

Trailing Stop

ATR Trailing Stop Loss
ATR Trailing Stop Loss Example

The final method I recommend using with this script is a basic trailing stop loss.

This method requires a thorough understanding of how to read trend, but it’s extremely effective and ridiculously simple to execute so I highly recommend testing your strategies with it.

I created a free ATR trailing stop loss indicator designed to help with this:

And if you’re unsure of how to objectively define a trending market, I wrote an article that explains in detail how I personally analyze trends (taught to me by my trading mentor Steven Hart) – click here to read it.

I also have an article explaining how I use the EMA and the ATR indicator in order to create profitable trading strategies which you might find helpful – click here to read that.

That should be enough to get you started, but I encourage you to think up and backtest your own exit reasons.

Entering a trade is half the battle, and this script will do a good job of identifying great entry points. It’s up to you to manage the position profitably according to your personal preferences and edge.

I’ll be adding more exit reasons as I identify more that work well with this strategy.
Feel free to email me any suggestions!

Strategy Tester

I created a companion script to go along with this indicator called the Ultimate Pullback Strategy script.

This script can be used with TradingView’s automatic backtesting system to scan through currency pairs to find which ones perform best with this strategy on whichever timeframe you want to trade it on.

Keep in mind that this strategy script is not 100% accurate and should not be used to make trading decisions indiscriminately. Although I did my best to make it as accurate as possible, nothing compares to the power of the human eye and a talented trader’s discretion. Even the best coders in the world can’t get their scripts to see the markets the way you can.

So rather than blindly trading the signals based on whichever pairs win the most, I recommend using this script to prioritize which pairs you plan to manually backtest based on the win rate (“Percent Profitable”). The higher the win rate the higher the likelihood that it will perform well with extra rules and trading filters.

I recommend backtesting a minimum of at least 100 trades per currency pair and timeframe, but the more you test the more confidence you’ll have. There is no limit to how many trades constitutes a “good” backtest – just test it until you’re certain it’s going to work.

Obviously there’s no guarantee that a strategy will continue to perform based on its backtesting results, but other than forward-testing and demo trading it (which I also recommend if you struggle with self-discipline), it’s the best we have – so it is wise to take advantage of that information.

If you need help with developing a rules-based trading plan to backtest then you might find this video I made helpful. If you’re inexperienced at trading and have no idea what I’m talking about then I highly recommend signing up to my trading mentor’s training program before you buy this script.

This strategy performs best when combined with basic trend filters, so it is important that you know how to read price action. By only taking signals that are in confluence with the underlying trend you can potentially increase the accuracy of this indicator to above 60% on some pairs (depending on your risk-reward ratio).

In the above example, this indicator has a 57% win rate with a 1:1 risk-reward ratio on CAD/CHF’s 4-Hour chart with the default settings. If you were to backtest this pair with a trading plan designed to filter out sub-optimal setups then you could potentially increase that win rate to well over 60%.

If you get creative with multiple or extended targets and exit management, then with some tweaking and testing you can get this strategy to perform however you prefer it to with whatever win rate you feel comfortable with.

This companion script is a work-in-progress. I’m working on implementing all of the advanced exit reasons. For now the strategy script only supports testing of fixed targets.


Ultimate Pullback Indicator Settings

EMA Length
This sets the period of the EMA.

Max Candles Beyond EMA
This sets how many candles are allowed to close beyond the EMA before the setup is considered invalid.

EMA Breach Lookback:
This is how far back the script looks to check for candles that closed beyond the EMA.

Swing Low/High Lookback:
This sets how far back the script looks for swing highs and lows. This is used both for determining valid setups and for stop loss placement.

Pullback Origin Lookback:
This sets how far back the script looks for the origin of pullbacks. For a Long example: if this is set to 10, then the script will look for the highest close in the past 10 candles. If the entry candle closes beyond that high close, then the setup is considered invalid.

Exit Type:
This sets what kind of exit signal to look for. By default this is turned off as most traders will want to use their own exit reasons. But I included a few of my personal exit reasons that I use for backtesting purposes:

This setting is a higher-high/higher-close exit signal (for shorts) or a lower-low lower-close (for longs).

This setting requires two HHHC/LLLC candles in a row before the exit signal is triggered.

– EMA Breach
This setting triggers an exit signal when price closes below the EMA (for longs) or above the EMA (for shorts).

– RSI Engulfing Candle
This setting uses the RSI Swing Signal exit reason. If the 7-period RSI exceeds 80 for longs or 20 for shorts and puts in an engulfing candle, this exit alert is triggered.

– RSI Exhaustion
Similar to the RSI Engulfing Candle exit, this exit reason is triggered when the RSI exceeds 80 for longs and then prints a bearish candle, or 20 for shorts and then prints a bullish candle.

Trigger Alert For Exit Reason:
If this is disabled then you will not get alerts when the exit signal is generated.

Use EAP SL Formula:
This turns the EAP Stop Loss formula on or off (for students of Steven Hart’s EAP Program).

– If the ATR is over 20 but under 30, the stop loss is 20 pips above/below structure.
– If the ATR is over 30 but under 50, the stop loss is 30 pips above/below structure.
– If the ATR is over 50 but under 100, the stop loss is 100 pips above/below structure.

Show Engulfing Candles:
If this is disabled then the indicator will stop detecting engulfing candles.

Show Doji Candles:
If this is disabled then the indicator will stop detecting doji candles.

Show Hammer/Star Candles:
If this is disabled then the indicator will stop detecting hammer / shooting star candles.

Show Swing Color Change Candles:
This is for EAP Students. The Swing Color Change Candle is any swing high (or low) candle that changes color against the underlying trend. It is a pullback signal similar to the engulfing candle, except that it does not need to engulf the previous candle to be considered valid.

Engulfing Candle Must Engulf Wick:
If this is enabled then the indicator will ignore any engulfing candles that do not engulf the previous candle’s wick.

Entry Candle Must Not Have Rejection Wick:
If this is enabled then the indicator will ignore any entry candles that have a rejection wick greater than the size of the entry candle’s body (dojis excepted).

Ignore Rejection Wick If It Tests EMA:
This will override the above rule only if the entry candle touches the EMA. I’ve noticed in my back-testing on some pairs that entry candles with rejection wicks that touch the 50-EMA do not lose as often as candles above/below the EMA, so you may want to experiment with this.

Entry Candle Must Be Fractal:
If this is enabled then only entry candles that occur immediately after the most recent swing high or low (or entry candles that are the recent swing high or low) are considered valid.

Doji Size (In Pips):
This sets the maximum body size of doji candles (in pips).

Hammer Wick Size (X Body):
This sets how large the wick needs to be on a hammer or shooting star candle compared to the candle body size in order to be considered valid. Eg. The default setting 2.5 means two and a half times the body size.

ATR Multiplier To Invalidate:
This sets how large a candle must be in order to be considered invalid. By default it’s set to 3.5, which means if the entry candle is greater than 3.5x the current ATR it will be ignored and considered invalid.

ATR Length:
This sets the period for the ATR indicator.

Free Trial

I’m a trader myself and so I know how skeptical you might be that this indicator is worth your time and money.

That’s why I am offering a free 14 day trial of the indicator. All you need to do to initiate your trial is Join My Mailing List!

Once you’ve subscribed to the list I’ll receive an email notifying me of your interest. As soon as I can, I’ll login to TradingView and grant you access to the indicator.

Make sure to include your TradingView username so that I can find your profile to add to the list of authenticated users.

If you have any questions during (or after) your trial you can contact me any time at matt@zenandtheartoftrading.com or leave a comment below. I look forward to hearing from you!

Monthly Subscription

If you’re happy with the indicator once your trial has finished, you can purchase access to it indefinitely for a monthly fee of 14.95 USD by filling out your TradingView username and clicking the button below:

TradingView Username:

This price includes lifetime updates and support for so long as you remain a subscriber.

If you run into any issues with the indicator whatsoever then I will personally help you resolve them for as long as I’m alive, you’re subscribed and TradingView continues to operate.

I’ll even take the time to answer any trading questions you have that are unrelated to the indicator. If you support me, I’ll support you!


Strategy Tester

Added Strategy Tester script for TradingView’s automatic backtesting system. Subscribers and Free Trial members can access this companion script by clicking here.


Added option to draw Stop Loss distance (in pips) directly onto the chart as a label. Helps a LOT with backtesting!

115 Pips = Stop Loss Distance


Draw SL Labels On Chart:
If this is enabled then the indicator will draw the stop loss size (in pips) for each setup directly onto your chart.

Round SL To Whole Number:
This will round your stop loss size to the nearest round number. Great for backtesting.

SL Label Offset:
Increasing this value moves the labels to the left. This is useful if the labels cover up your stop loss line.

Source Code

The source code to this script is private and proprietary. As it took me a long time to create this indicator I’ve decided to keep this project’s source code hidden.

If you are a Pine Script coder and you’re curious about the formula behind this script then you can check out the source code to my free Aggressive Pullback Indicator which is very similar.

Last Updated: 30th September 2019

Leave a Comment, Question or Suggestion