File Name: DisparityIndex.efs
Description:
Disparity Index
Formula Parameters:
Length First : 200
Length Secind : 50
Length Third : 20
First Line Color : Red
Second Line Color : Blue
Third Line Color : Green
Show First Line : True
Show Second Line : True
Show Third Line : True
FirstLineThickness : 1
SecondLineThickness : 1
ThirdLineThickness : 1
Notes:
The related article is copyrighted material. If you are not a subscriber
of Stocks & Commodities, please visit www.traders.com.
Download File:
DisparityIndex.efs
EFS Code:
Description:
Disparity Index
Formula Parameters:
Length First : 200
Length Secind : 50
Length Third : 20
First Line Color : Red
Second Line Color : Blue
Third Line Color : Green
Show First Line : True
Show Second Line : True
Show Third Line : True
FirstLineThickness : 1
SecondLineThickness : 1
ThirdLineThickness : 1
Notes:
The related article is copyrighted material. If you are not a subscriber
of Stocks & Commodities, please visit www.traders.com.
Download File:
DisparityIndex.efs
EFS Code:
PHP Code:
/*********************************
Provided By:
eSignal (Copyright c eSignal), a division of Interactive Data
Corporation. 2009. All rights reserved. This sample eSignal
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:
Disparity Index
Version: 1.0 10/07/2009
Formula Parameters: Default:
Length First 200
Length Secind 50
Length Third 20
First Line Color Red
Second Line Color Blue
Third Line Color Green
Show First Line True
Show Second Line True
Show Third Line True
FirstLineThickness 1
SecondLineThickness 1
ThirdLineThickness 1
Notes:
The related article is copyrighted material. If you are not a subscriber
of Stocks & Commodities, please visit [url]www.traders.com.[/url]
**********************************/
var fpArray = new Array();
var bInit = false;
var bVersion = null;
function preMain() {
setPriceStudy(false);
setShowCursorLabel(true);
setShowTitleParameters(false);
setCursorLabelName("DIX", 0);
setShowCursorLabel(true, 0);
setPlotType(PLOTTYPE_LINE, 0);
setDefaultBarThickness(1, 0);
setDefaultBarFgColor(Color.red, 0);
setCursorLabelName("DIX", 1);
setShowCursorLabel(true, 1);
setPlotType(PLOTTYPE_LINE, 1);
setDefaultBarThickness(1, 1);
setDefaultBarFgColor(Color.blue, 1);
setCursorLabelName("DIX", 2);
setShowCursorLabel(true, 2);
setPlotType(PLOTTYPE_LINE, 2);
setDefaultBarThickness(1, 2);
setDefaultBarFgColor(Color.green, 2);
setStudyTitle("Disparity Index");
askForInput();
var x=0;
fpArray[x] = new FunctionParameter("LengthFirst", FunctionParameter.NUMBER);
with(fpArray[x++]){
setName("Length First");
setLowerLimit(1);
setDefault(200);
}
fpArray[x] = new FunctionParameter("LengthSecond", FunctionParameter.NUMBER);
with(fpArray[x++]){
setName("Length Second");
setLowerLimit(1);
setDefault(50);
}
fpArray[x] = new FunctionParameter("LengthThird", FunctionParameter.NUMBER);
with(fpArray[x++]){
setName("Length Third");
setLowerLimit(1);
setDefault(20);
}
fpArray[x] = new FunctionParameter("FirstLineColor", FunctionParameter.COLOR);
with(fpArray[x++]){
setName("First Line Color");
setDefault(Color.red);
}
fpArray[x] = new FunctionParameter("SecondLineColor", FunctionParameter.COLOR);
with(fpArray[x++]){
setName("Second Line Color");
setDefault(Color.blue);
}
fpArray[x] = new FunctionParameter("ThirdLineColor", FunctionParameter.COLOR);
with(fpArray[x++]){
setName("Third Line Color");
setDefault(Color.green);
}
fpArray[x] = new FunctionParameter("ShowFirst", FunctionParameter.BOOLEAN);
with(fpArray[x++]){
setName("Show First Line");
setDefault(true);
}
fpArray[x] = new FunctionParameter("ShowSecond", FunctionParameter.BOOLEAN);
with(fpArray[x++]){
setName("Show Second Line");
setDefault(true);
}
fpArray[x] = new FunctionParameter("ShowThird", FunctionParameter.BOOLEAN);
with(fpArray[x++]){
setName("Show Third Line");
setDefault(true);
}
fpArray[x] = new FunctionParameter("FirstLineThickness", FunctionParameter.NUMBER);
with(fpArray[x++]){
setName("First Line Thickness");
setLowerLimit(1);
setDefault(1);
}
fpArray[x] = new FunctionParameter("SecondtLineThickness", FunctionParameter.NUMBER);
with(fpArray[x++]){
setName("First Line Thickness");
setLowerLimit(1);
setDefault(1);
}
fpArray[x] = new FunctionParameter("ThirdLineThickness", FunctionParameter.NUMBER);
with(fpArray[x++]){
setName("First Line Thickness");
setLowerLimit(1);
setDefault(1);
}
}
var xDIX200 = null;
var xDIX50 = null;
var xDIX20 = null;
function main(LengthFirst, LengthSecond, LengthThird, FirstLineColor, SecondLineColor, ThirdLineColor,
ShowFirst, ShowSecond, ShowThird, FirstLineThickness, SecondtLineThickness, ThirdLineThickness) {
var nBarState = getBarState();
var nDIX200 = 0;
var nDIX50 = 0;
var nDIX20 = 0;
var aReturn = new Array();
var nCount = 0;
if (bVersion == null) bVersion = verify();
if (bVersion == false) return;
if (nBarState == BARSTATE_ALLBARS) {
if (LengthFirst == null) LengthFirst = 200;
if (LengthSecond == null) LengthSecond = 50;
if (LengthThird == null) LengthThird = 20;
if (FirstLineColor == null) FirstLineColor = Color.red;
if (SecondLineColor == null) SecondLineColor = Color.blue;
if (ThirdLineColor == null) ThirdLineColor = Color.green;
if (ShowFirst == null) ShowFirst = true;
if (ShowSecond == null) ShowSecond = true;
if (ShowThird == null) ShowThird = true;
if (FirstLineThickness == null) FirstLineThickness = 1;
if (SecondtLineThickness == null) SecondtLineThickness = 1;
if (ThirdLineThickness == null) ThirdLineThickness = 1;
}
if ( bInit == false ) {
setDefaultBarFgColor(FirstLineColor, 0);
setDefaultBarFgColor(SecondLineColor, 1);
setDefaultBarFgColor(ThirdLineColor, 2);
setDefaultBarThickness(FirstLineThickness, 0);
setDefaultBarThickness(SecondtLineThickness, 1);
setDefaultBarThickness(ThirdLineThickness, 2);
xDIX200 = efsInternal("Calc_DIX", LengthFirst);
xDIX50 = efsInternal("Calc_DIX", LengthSecond);
xDIX20 = efsInternal("Calc_DIX", LengthThird);
bInit = true;
}
nDIX200 = xDIX200.getValue(0);
nDIX50 = xDIX50.getValue(0);
nDIX20 = xDIX20.getValue(0);
if (nDIX200 == null && nDIX50 == null && nDIX20 == null) return;
if (ShowFirst) aReturn[nCount++] = nDIX200; else {
setShowCursorLabel(false, 0);
aReturn[nCount++] = null;
}
if (ShowSecond) aReturn[nCount++] = nDIX50; else {
setShowCursorLabel(false, 1);
aReturn[nCount++] = null;
}
if (ShowThird) aReturn[nCount++] = nDIX20; else {
setShowCursorLabel(false, 2);
aReturn[nCount++] = null;
}
return aReturn;
}
var bSecondInit = false;
var xEMA = null;
function Calc_DIX(Length) {
var nRes = 0;
var nEMA = 0;
var nClose = 0;
if (bSecondInit == false) {
addBand(0,PS_SOLID,1,Color.black,"Zero");
xEMA = ema(Length);
bSecondInit = true;
}
nEMA = xEMA.getValue(0);
if (nEMA == null) return;
nClose = close(0);
nRes = 100 * (nClose - nEMA) / nClose;
return nRes;
}
function verify() {
var b = false;
if (getBuildNumber() < 779) {
drawTextAbsolute(5, 35, "This study requires version 8.0 or later.",
Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
null, 13, "error");
drawTextAbsolute(5, 20, "Click HERE to upgrade.@URL=http://www.esignal.com/download/default.asp",
Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
null, 13, "upgrade");
return b;
} else {
b = true;
}
return b;
}