The Ultimate Oscillator by Larry Williams is based on buying pressure as a proportion of true range over recent periods, with the past 7 days, 14 days and 28 days combined together.
The calculation starts with “buying pressure”, which is the amount by which the close is above the “true low” on a given day. The true low is the lesser of the given day’s trading low, and the previous close.
bp = close - min (low, prev close)
The true range (the same as in True Range) is the difference between the “true high” and the true low above. The true high is the greater of the given day’s trading high, and the previous close.
tr = max (high, prev close) - min (low, prev close)
The total buying pressure over the past 7 days is expressed as a fraction of the total true range over that period. If bp1 is today, bp2 yesterday, etc then
bp1 + bp2 + ... + bp7 avg7 = --------------------- tr1 + tr2 + ... + tr7
The same is done for the past 14 days and past 28 days and the resulting three values combined in proportions 4:2:1, and expressed as a percentage.
4 * avg7 + 2 * avg14 + avg28 UltOsc = 100 * ---------------------------- 4 + 2 + 1
The oscillator ranges from 0 to 100 and is interpreted in similar ways to other oscillators, with extremes indicating overbought or oversold conditions, and bullish or bearish divergence when new lows or highs fail to be made. Williams recommended levels of 70 and 30 for overbought or oversold and those are drawn by Chart.
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2016, 2017 Kevin Ryde
Chart is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.