I have been thinking about how best to identify turning points at retracements of a trend.
The Source Material
To do that, I find it best to throw away the concept of price bars or charts because it is an unnecessary restriction, and just think of a stream of transactions occurring at different prices (i.e. the time & sales). So given a time & sales stream, how would you identify a turn?
What Does a Turn Look Like?
One way to think about this is: what does a turn look like? Say we have an uptrend, and there is a retracement. As the price retraces, it will reach a point where either (i) the selling lessens, (ii) support buying increases, or both. Finally buying support overcomes selling pressure and price moves back up.
One ‘symptom’ of that process is for a fixed unit of volume, price goes down less, price stalls, and finally price moves up. To measure that, you can just take the change in price for each fixed unit of volume, i.e. you measure the distance traveled per set of volume traded. This can be done by plotting a basic momentum indicator on a constant volume bar chart.
What Unit of Volume to Use?
Moving this further, what unit of volume should be used? This unit of quantity should be set at a level where you expect the price movement to typically be measurable. For example, if someone throws 50,000 contracts in the ES, you would expect the price to move. If someone throws 10 contracts in the ES however, you would expect negligible impact to price. So if you set the threshold too low, the comparison becomes meaningless, and if you set the threshold too high, you will react too slowly (because by the time you detect the turn in momentum, the turn is long past and too obvious). I find that setting the quantity to about twice the volume sitting at a bid/ask level works for me.
What Price to Use?
There are a number of choices of prices to use, e.g. Open, High, Low, Close, (High + Low + Close)/3, (High + Low)/2, etc.
My view is that among the Open, High, Low, and Close, we should not pick just one, because what we are essentially doing is sampling from a stream of transactions, and the Open of the next bar could very well have been the Close of this bar so it does not make sense to put all the emphasis on the Close of a bar. In addition, I found that if you use a single one, say the Close, the momentum indicator tends to show more binary-like, spike up, spike down movement, rather than a more desired sinusoidal wave.
So among the two other standard inputs, the (H+L+C)/3 and (H+L)/2, I would prefer (H+L+C)/3, a.k.a. the typical price, because it gives some emphasis to the Close, which is the final price transacted after that amount of volume. So if you have a bar with a High and Low that are far apart, with the Close at the Low, I would say that the amount of volume has pushed the price down closer to the Low rather than to the mid-point between the High and the Low (if I had ignored the Close).
What About Smoothing?
To address single bar anomalies, a quick-and-dirty way is to skip over 1 or more bars. E.g. you calculate momentum over 2 bars and above. The right parameter to use here really depends on your trading system. The longer the period, the slower your ‘signal’. For me, I have other filters and things I look at for determining a retracement so this momentum indicator is really used for fine-tuning. You can stick with a very low period if you are using this for fine-tuning or use a larger period if you need more confirmation, or are placing more emphasis on this tool in your overall trading system.
I would classify this approach as more of a sampling approach, because this method essentially samples the High, Low, Close of a standard unit of volume traded, and discarding quite a bit of information from all the other transactions in-between. At the back of my mind, intuitively, there should be a way to use the entire stream of transactions, and that should produce better results. If we can somehow use the entire stream of transactions to determine when a turn has occurred, I would classify that as a more event-driven approach. It would be analogous to polling (sampling) vs. interrupts (event-driven). Something for me to think about in my trading journey. As always, if readers of this article has some suggestions, that would be great too.