PPS Technical Indicator aka Person’s Pivots


The Person’s Pivot Study indicator on ThinkorSwim is without a doubt my favorite of all the indicators. It’s easy, it’s effective, and oh, did I mention it’s easy…


The PPS study was designed and developed by a man named John Person’s. A 32 year veteran of the Futures and Options markets, he’s been just about everything from a floor trader to a broker and even an analyst, but I’ll stop there and leave the history lessons for someone better suited to it. Whether he’s a financial genius or the guy serving fries at McDonald’s, it really makes no difference to us.


The Person’s Pivot study is a bullish and bearish momentum indicator. The study via thinkorswim (I can’t comment on other platforms) comes packaged with two moving averages, one fast and one slow that help determine a buying or a selling signal. Don’t know what moving averages are?  Take a look at my moving averages page.


Interestingly, there isn’t a clear cut explanation for what triggers a buy or sell signal via the indicator. Mr. Person’s has decided to keep that to himself I suppose, but from what I can determine;


A signal is produced on these conditions;



  1. Trend condition changes from bearish to bullish.
  2. New higher high, new higher low, new higher open, and new higher close.
  3. Close above a past high.


  1. Trend condition changes from bullish to bearish.
  2. New lower high, new lower low, new lower open, new lower close.
  3. Close below a past low.

If anyone has more information about the construction of this indicator please share in the comments for everyone. I for one am interested to hear about it.



Whatever determines a bullish or bearish signal, it works… so I use it! Take a look at the screen shot below, then test it on your own charts to see how effective it really is.


I think you’ll find that of all the technical indicators out there, none is more straightforward and clear in its instruction. An up arrow means the market will move higher, and a down arrow means the market’s heading lower, that’s it. How’s that for simplicity?


Check it out and let me know what you think…


Click to Enlarge.

PPS Indicator

Technical Analysis


  1. ven

    Thanks for the details. But the up/down arrow do they appear at a point of time in advance to indicate bullish/bearish trend?


    • The Option Boxer

      Yes and no. I don’t like to use it for intraday trading because the indication will come and go with price movements. I prefer PPS for swing trading or as an additional indicator on longer term trades.
      God bless,

  2. Fadi

    Thank you for the explanation, will definitely try this one out.

  3. Ekellz

    The indicator works very well for entries as long as you use it after the price bar has closed. Also, I don’t like to use it for over extended bars.

  4. Larry Hennessey


    In the Think or Swim PPS scan study, the following option is present: IsNan(“value” = PPS().buysignal) is true.

    Do you have any idea as to the difference between true or false, as it will return two different sets of stocks. In looking at the the charts it’s not clear which will find the better investment options.



    • OptionBoxer

      Hi Larry, thank you for reaching out. It is odd to me that a false setting would return a different signal. I will look into this code more when I can and share any findings. Let us know if you uncover anything as well.
      God bless,

  5. Will

    Has anyone figured out a way to make a sound/alert for this indicator – Ive been using it for a while and I like it – just wish I could get it to sound off with the arrows. The normal alerts settings in TOS do not allow this indicator to be used because it is proprietary so someone would need to custom code it in. Anyone know if its for sale somewhere ?

    • OptionBoxer

      Hi Will,
      That’s a great idea but I haven’t come across that in my own research. Will keep my eyes out.
      God bless,

    • WebRup

      If you can’t get it to work directly, “plot” your own Arrow with a condition of PPS().BuySignal[1]==true. Then “Alert” of your own arrow.

      • OptionBoxer

        Thank you WebRup!

    • cap

      in TOS you can create a strategy,
      and paste this code

      input ArrowsOn = yes;
      input TracerLinesOn = no;
      input PriceColorOn = no;
      AddLabel(PriceColorOn, “PPS PriceColorOn”);

      input ShowTodayOnly = no;
      input ShowExtraDays = 0;
      def Today =
      if !ShowTodayOnly then 1 else
      if GetDay() + ShowExtraDays >= GetLastDay() && GetYear() == GetLastYear() then 1 else 0;
      input ArrowSpace = .233;
      def space = Average(high – low) * ArrowSpace;

      def BuyIt = PPS().buysignal;
      def SellIt = PPS().sellsignal;

      plot ppsBuy = if !Today or !ArrowsOn then Double.NaN else BuyIt – space;
      Alert(ppsBuy, “PPS Buy Signal”, Alert.BAR, Sound.Ring);

      plot ppsSell = if !Today or !ArrowsOn then Double.NaN else SellIt + space;
      Alert(ppsSell, “PPS Sell Signal”, Alert.BAR, Sound.Ring);

      • james hamilton

        cap, THANK YOU for that TREMENDOUS piece of code!
        I have been using it for over a week, and am loving the Ring alerts!
        For those of you who would like to try it, but don’t know how to ‘paste’ it, here’s how I did it:
        1. first, copy cap’s code by highlighting it (clicking and dragging over it), then doing a Ctrl-C
        2. log into tos, then click on Charts
        3. set up a chart that you would like to add this code to
        4. click on the ‘Beaker’ (Edit Studies) icon
        5. click on the Studies tab, then on Create…
        6. name the new study by overwriting the default name NewStudyx
        7. click into the black box after the line ‘plot Date = close;’, then do a carriage return
        8. paste cap’s code by doing a Ctrl-P
        9. click OK
        There, you have copied cap’s PPS alert study!
        You can add it to your chart like you would any other study:
        1. scroll down the list of Studies to find it
        2. click on it
        3. click Add selected
        4. click OK
        Hope that helps others who would like to apply the Ring alert to the existing PPS study. It is really helping me; thanks again cap!

        • OptionBoxer

          Thank you both!
          God bless,

  6. Dilraaj Gill

    Do you happen to know where I can find a TradingView version of this indicator?

    • Dilraaj Gill

      Also, out of curiosity, when I was looking at the images, I noticed that the signal was given for some candles when it closed above/below the EMAs and then for other candles it appears on the next candle. What causes this change?

      • OptionBoxer

        Without further research my assumption is the signal is contingent on a specific number of previous periods. Once the current price falls below, or moves above, the signal is generated.
        God bless,

    • OptionBoxer

      Dilraaj, I’m sorry I do not. My experience with trading view is limited to some occasional cryptocurrency charting.

  7. JP

    Dilraaj Gill, I think I might be able to answer your question. The PPS indicator is based on Person’s Pivots, which is John Person’s version of Pivot Point Analysis (Pivot Points in ToS). The two averages are the average of the pivot points. The arrows are generated by the crossing of the two averages. I hope this helps understand what the indicator is indicating.

    • JP

      Actually I meant to say that one of the averages is the pivot point and the other is a 3 period moving average of the pivot point. This might help you program your own indicator in ToS so you can enable sounds, alerts, etc.

    • OptionBoxer

      Thank you JP!

  8. suraj

    Any suggestion on how to identify the right PPS arrow to trade on. Some of them doesnt move the stock/index, while other times the trend is big.

    • OptionBoxer

      Hi Suraj, unfortunately that is the nature of technical indicators. They can signal a large or a small move. I’m not suggesting you do this, but I look to enter a position when the indicator suggests it then focus on managing the trade appropriately. Hope that helps.
      God bless,


Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.