Announcement

Collapse
No announcement yet.

2009 Dec: Disparity Index

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2009 Dec: Disparity Index

    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:
    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(true0);
        
    setPlotType(PLOTTYPE_LINE0);
        
    setDefaultBarThickness(10);
        
    setDefaultBarFgColor(Color.red0);
        
    setCursorLabelName("DIX"1);
        
    setShowCursorLabel(true1);
        
    setPlotType(PLOTTYPE_LINE1);
        
    setDefaultBarThickness(11);
        
    setDefaultBarFgColor(Color.blue1);
        
    setCursorLabelName("DIX"2);
        
    setShowCursorLabel(true2);
        
    setPlotType(PLOTTYPE_LINE2);
        
    setDefaultBarThickness(12);
        
    setDefaultBarFgColor(Color.green2);
        
    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(LengthFirstLengthSecondLengthThirdFirstLineColorSecondLineColorThirdLineColor,
                 
    ShowFirstShowSecondShowThirdFirstLineThicknessSecondtLineThicknessThirdLineThickness) {
    var 
    nBarState getBarState();
    var 
    nDIX200 0;
    var 
    nDIX50 0;
    var 
    nDIX20 0;
    var 
    aReturn = new Array();
    var 
    nCount 0;
        if (
    bVersion == nullbVersion verify();
        if (
    bVersion == false) return;   
        if (
    nBarState == BARSTATE_ALLBARS) {
            if (
    LengthFirst == nullLengthFirst 200;
            if (
    LengthSecond == nullLengthSecond 50;
            if (
    LengthThird == nullLengthThird 20;
            if (
    FirstLineColor == nullFirstLineColor Color.red;
            if (
    SecondLineColor == nullSecondLineColor Color.blue;
            if (
    ThirdLineColor == nullThirdLineColor Color.green;
            if (
    ShowFirst == nullShowFirst true;
            if (
    ShowSecond == nullShowSecond true;
            if (
    ShowThird == nullShowThird true;
            if (
    FirstLineThickness == nullFirstLineThickness 1;
            if (
    SecondtLineThickness == nullSecondtLineThickness 1;
            if (
    ThirdLineThickness == nullThirdLineThickness 1;
        }    
        if ( 
    bInit == false ) { 
            
    setDefaultBarFgColor(FirstLineColor0);
            
    setDefaultBarFgColor(SecondLineColor1);
            
    setDefaultBarFgColor(ThirdLineColor2);
            
    setDefaultBarThickness(FirstLineThickness0);
            
    setDefaultBarThickness(SecondtLineThickness1);
            
    setDefaultBarThickness(ThirdLineThickness2);
            
    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 (
    ShowFirstaReturn[nCount++] = nDIX200; else {
            
    setShowCursorLabel(false0);
            
    aReturn[nCount++] = null;
        }    
        if (
    ShowSecondaReturn[nCount++] = nDIX50; else {
            
    setShowCursorLabel(false1);
            
    aReturn[nCount++] = null;
        }    
        if (
    ShowThirdaReturn[nCount++] = nDIX20; else {
            
    setShowCursorLabel(false2);
            
    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 
    false;
        if (
    getBuildNumber() < 779) {
            
    drawTextAbsolute(535"This study requires version 8.0 or later."
                
    Color.whiteColor.blueText.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
                
    null13"error");
            
    drawTextAbsolute(520"Click HERE to upgrade.@URL=http://www.esignal.com/download/default.asp"
                
    Color.whiteColor.blueText.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
                
    null13"upgrade");
            return 
    b;
        } else {
            
    true;
        }
        return 
    b;

Working...
X