AroonDown.efs
EFS Library - Discussion Board
File Name: AroonDown.efs
Description:
Aroon Down
Formula Parameters:
- Length : 14
Notes:
This formula is one of the components of the Aroon and Aroon Oscillator indicators.
Developed by Tushar Chande in 1995, the Aroon is an indicator system that can be used to determine whether a stock is trending or not and how strong the trend is. "Aroon" means "Dawn's Early Light" in Sanskrit and Chande choose that name for this indicator since it is designed to reveal the beginning of a new trend.
The Aroon indicator consists of two lines, Aroon(up) and Aroon(down).
The Aroon Oscillator is a single line that is defined as the difference between Aroon(up) and Aroon(down). All three take a single parameter which is the number of time periods to use in the calculation. Since Aroon(up) and Aroon(down) both oscillate between 0 and +100, the Aroon Oscillator ranges from -100 to +100 with zero serving as the crossover line.
AroonDown indicator is calculated according to formula:
AroonDown = 100 * (Period - PeriodLow) / Period
where PeriodLow = Number of bars since lowest low of the Period AroonDown for a given time period is calculated by determining how much time (on a percentage basis) elapsed between the start of the time period and the point at which the lowest closing price during that time period occurred. When the stock
is setting new lows for the time period, AroonDown will be 100. If the stock has moved lower every day during the time period, AroonDown will be zero.
Download File:
AroonDown.efs
EFS Code:
/*********************************
Provided By:
Interactive Data Corporation (Copyright © eSignal) 2010.
All rights reserved. This sample eSignal Formula Script (EFS)
is for educational purposes only. Interactive Data Corporation
reserves the right to modify and overwrite this EFS file with
each new release.
Description:
AroonDown
Version: 1.0 05/14/2009
Formula Parameters: Default:
Length 14
Notes:
This formula is one of the components of the Aroon and Aroon Oscillator
indicators.
Developed by Tushar Chande in 1995, the Aroon is an indicator system
that can be used to determine whether a stock is trending or not and
how strong the trend is. "Aroon" means "Dawn's Early Light" in Sanskrit
and Chande choose that name for this indicator since it is designed to
reveal the beginning of a new trend.
The Aroon indicator consists of two lines, Aroon(up) and Aroon(down).
The Aroon Oscillator is a single line that is defined as the difference
between Aroon(up) and Aroon(down). All three take a single parameter which
is the number of time periods to use in the calculation. Since Aroon(up) and
Aroon(down) both oscillate between 0 and +100, the Aroon Oscillator ranges
from -100 to +100 with zero serving as the crossover line.
AroonDown indicator is calculated according to formula:
AroonDown = 100 * (Period - PeriodLow) / Period
where PeriodLow = Number of bars since lowest low of the Period
AroonDown for a given time period is calculated by determining how much time
(on a percentage basis) elapsed between the start of the time period and the point
at which the lowest closing price during that time period occurred. When the stock
is setting new lows for the time period, AroonDown will be 100. If the stock has
moved lower every day during the time period, AroonDown will be zero.
**********************************/
function preMain() {
setStudyTitle("Aroon Down");
setCursorLabelName("ArnDn", 0);
setDefaultBarFgColor(Color.RGB(0xFE,0x69,0x00), 0);
var fp1 = new FunctionParameter("nInputPeriod", FunctionParameter.NUMBER);
fp1.setName("Length");
fp1.setLowerLimit(1);
fp1.setDefault(14);
}
var bInit = null;
var AryClose = null;
function main(nInputPeriod){
var vState = getBarState();
if (vState == BARSTATE_ALLBARS || bInit == false) {
AryClose = new Array(nInputPeriod+1);
bInit = true;
}
if (vState == BARSTATE_NEWBAR) {
AryClose.pop();
AryClose.unshift(low(0));
} else {
AryClose[0] = low(0);
}
if (AryClose[AryClose.length-1] == null) return;
var vLIndex = findLowestIndex(AryClose);
return ((nInputPeriod-vLIndex)/nInputPeriod)*100;
}
function findLowestIndex(AryIn){
var vLowest = 0.0;
var vIndex = 0;
vLowest = AryIn[0];
for (var i = 0; i < AryIn.length; i++){
if (vLowest > AryIn[i]) {
vLowest = AryIn[i];
vIndex = i;
}
}
return vIndex;
}