# Bill Williams. Awesome Oscillator (AO)

ICE Data Services -

ABillW_AO.efs

File Name: ABillW_AO.efs

Description:
Bill Williams. Awesome Oscillator (AO)

Formula Parameters:

• nLengthSlow : 34
• nLengthFast : 5

Notes:
This indicator is based on Bill Williams` recommendations from his book "New Trading Dimensions". We recommend this book to you as most useful reading.
The wisdom, technical expertise, and skillful teaching style of Williams make it a truly revolutionary-level source. A must-have new book for stock and commodity traders.
The 1st 2 chapters are somewhat of ramble where the author describes the "metaphysics" of trading. Still some good ideas are offered. The book references chaos theory, and leaves it up to the reader to believe whether "supercomputers" were used in formulating the various trading methods (the author wants to come across as an applied mathemetician, but he sure looks like a stock trader). There isn't any obvious connection with Chaos Theory - despite of the weak link between the title and content, the trading methodologies do work. Most readers think the author's systems to be a perfect filter and trigger for a short term trading system. He states a goal of 10%/month, but when these filters & axioms are correctly combined with a good momentum system, much more is a probable result.
There's better written & more informative books out there for less money, but this author does have the "Holy Grail" of stock trading. A set of filters, axioms, and methods which are the "missing link" for any trading system which is based upon conventional indicators.
This indicator plots the oscillator as a histogram where periods fit for buying are marked as blue, and periods fit for selling as red. If the current value of AC (Awesome Oscillator) is over the previous, the period is deemed fit for buying and the indicator is marked blue.
If the AC values is not over the previous, the period is deemed fir for selling and the indicator

ABillW_AO.efs

EFS Code:

```/*********************************
Provided By:
eSignal (Copyright c eSignal), a division of Interactive Data
Formula Script (EFS) is for educational purposes only and may be
modified and saved under a new file name.  eSignal is not responsible
for the functionality once modified.  eSignal reserves the right
to modify and overwrite this EFS file with each new release.

Description:
Bill Williams. Awesome Oscillator (AO)

Version:            1.0  03/27/2009

Formula Parameters:                     Default:
nLengthSlow                         34
nLengthFast                         5

Notes:
This indicator is based on Bill Williams` recommendations from his book
"New Trading Dimensions". We recommend this book to you as most useful reading.
The wisdom, technical expertise, and skillful teaching style of Williams make
it a truly revolutionary-level source. A must-have new book for stock and
The 1st 2 chapters are somewhat of ramble where the author describes the
"metaphysics" of trading. Still some good ideas are offered. The book references
chaos theory, and leaves it up to the reader to believe whether "supercomputers"
were used in formulating the various trading methods (the author wants to come across
as an applied mathemetician, but he sure looks like a stock trader). There isn't any
obvious connection with Chaos Theory - despite of the weak link between the title and
content, the trading methodologies do work. Most readers think the author's systems to
be a perfect filter and trigger for a short term trading system. He states a goal of
10%/month, but when these filters & axioms are correctly combined with a good momentum
system, much more is a probable result.
There's better written & more informative books out there for less money, but this author
does have the "Holy Grail" of stock trading. A set of filters, axioms, and methods which are
the "missing link" for any trading system which is based upon conventional indicators.
This indicator plots the oscillator as a histogram where periods fit for buying are marked
as blue, and periods fit for selling as red. If the current value of AC (Awesome Oscillator)
is over the previous, the period is deemed fit for buying and the indicator is marked blue.
If the AC values is not over the previous, the period is deemed fir for selling and the indicator
is marked red.
**********************************/

var fpArray = new Array();
var bInit = false;

function preMain() {
setStudyTitle("Awesome Oscillator");
setCursorLabelName("ABillW AO", 0);
setDefaultBarThickness(2,0);
setPlotType(PLOTTYPE_HISTOGRAM);
var x=0;
fpArray[x] = new FunctionParameter("nLengthSlow", FunctionParameter.NUMBER);
with(fpArray[x++]){
setLowerLimit(1);
setDefault(34);
}
fpArray[x] = new FunctionParameter("nLengthFast", FunctionParameter.NUMBER);
with(fpArray[x++]){
setLowerLimit(1);
setDefault(5);
}
}

var xCalc_hl2 = null;

function main(nLengthFast, nLengthSlow) {
var nBarState = getBarState();
var nAO = 0;
var nAO1 = 0;

if (nBarState == BARSTATE_ALLBARS) {
if (nLengthSlow == null) nLengthSlow = 34;
if (nLengthFast == null) nLengthFast = 5;
}

if (bInit == false) {
xCalc_hl2  = efsInternal("CalcSMA1_SMA2", nLengthFast, nLengthSlow);
bInit = true;
}

nAO = xCalc_hl2.getValue(0);
nAO1 = xCalc_hl2.getValue(-1);
if (nAO1 == null) return;
if (nAO > nAO1) setBarFgColor(Color.blue);
else setBarFgColor(Color.red);
return nAO;
}

var bSecondInit = false;
var xSMA1_hl2 = null;
var xSMA2_hl2 = null;

function CalcSMA1_SMA2(nLengthFast, nLengthSlow) {
var nRes = 0;
var SMA1 = 0;
var SMA2 = 0;
if (bSecondInit == false) {
xSMA1_hl2 = sma(nLengthFast, hl2());
xSMA2_hl2 = sma(nLengthSlow, hl2());
bSecondInit = true;
}
SMA1 = xSMA1_hl2.getValue(0);
SMA2 = xSMA2_hl2.getValue(0);
if (SMA1 == null || SMA2 == null) return;
nRes = SMA1 - SMA2;
return nRes;
}```