Announcement

Collapse
No announcement yet.

Keltner ATR Band

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

  • Keltner ATR Band

    File Name: Keltner_ATR_Band.efs

    Description:
    Keltner ATR Band

    Formula Parameters:
    Length : 50
    ATRMult : 3.75



    Notes:



    Download File:
    Keltner_ATR_Band.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:        
        Keltner ATR Band
        
    Version:            1.0  10/29/2009
     
    Formula Parameters:                     Default:
        Length                              50
        ATRMult                             3.75
        
    Notes:
        
    **********************************/
    var fpArray = new Array();
    var 
    bInit false;

    function 
    preMain(){
        
    setPriceStudy(true);
        
    setShowCursorLabel(true);
        
    setShowTitleParameters(false);
        
    setStudyTitle("Keltner ATR Band");
        
    setCursorLabelName("Up Band"0);
        
    setPlotType(PLOTTYPE_LINE0);
        
    setDefaultBarFgColor(Color.red0);
        
    setCursorLabelName("Dn Band"1);    
        
    setPlotType(PLOTTYPE_LINE1);
        
    setDefaultBarFgColor(Color.red1);
        var 
    0;
        
    fpArray[x] = new FunctionParameter("Length"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(1);
            
    setDefault(50);
        }    
        
    fpArray[x] = new FunctionParameter("ATRMult"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(1);
            
    setDefault(3.75);
        }        
    }

    var 
    xKUp null;
    var 
    xKDn null;

    function 
    main(LengthATRMult) {
    var 
    nBarState getBarState();
    var 
    nKU 0;
    var 
    nKL 0;
        if (
    nBarState == BARSTATE_ALLBARS) {
            if(
    Length == nullLength 50;
            if(
    ATRMult == nullATRMult 3.75;
        }
        if (
    bInit == false) {
            
    xKUp efsInternal("Calc_KeltnerBand"LengthATRMult);
            
    xKDn getSeries(xKUp1);
            
    bInit true;
        }
        
    nKU xKUp.getValue(0);
        
    nKL xKDn.getValue(0);
        if (
    nKU == null || nKL == null) return;
        return new Array(
    nKUnKL);
    }

    var 
    bSecondInit false;
    var 
    xMA null;
    var 
    xATR null;

    function 
    Calc_KeltnerBand(LengthATRMult) {
    var 
    nResUp 0;
    var 
    nResDn 0;
    var 
    nMA 0;
    var 
    nATR 0;
        if (
    bSecondInit == false) {
            
    xMA sma(Length);
            
    xATR atr(Length);
            
    bSecondInit true;
        }
        
    nMA xMA.getValue(0);
        
    nATR xATR.getValue(0);
        if (
    nMA == null || nATR == null) return;
        
    nResUp nMA ATRMult nATR;
        
    nResDn nMA ATRMult nATR;
        return new Array(
    nResUpnResDn);

Working...
X