Announcement

Collapse
No announcement yet.

2015 Nov: Average Percentage True Range by Vitali Apirine

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

  • 2015 Nov: Average Percentage True Range by Vitali Apirine

    File Name: APTR.efs

    Description:
    Average Percentage True Range by Vitali Apirine

    Formula Parameters:

    APTR.efs
    Length: 14

    Notes:
    The related article is copyrighted material. If you are not a subscriber
    of Stocks & Commodities, please visit www.traders.com.

    Download File:
    APTR.efs

    APTR.efs


    EFS Code:
    PHP Code:

    /*********************************
    Provided By:  
        Interactive Data Corporation (Copyright В© 2015) 
        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:        
        Average Percentage True Range by Vitali Apirine

    Formula Parameters:                     Default:
    Length                                  14

    Version:            1.00  09/09/2015

    Notes:
        The related article is copyrighted material. If you are not a subscriber
        of Stocks & Commodities, please visit www.traders.com.

    **********************************/

    var fpArray = new Array(); 

    function 
    preMain(){

        
    setStudyTitle("APTR");
        
        
    setCursorLabelName("APTR"0);
        
        var 
    0;

        
    fpArray[x] = new FunctionParameter("fpLength"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Length");
            
    setLowerLimit(1); 
            
    setDefault(14);
        }
    }

    var 
    bInit false;
    var 
    bVersion null;

    var 
    xATRS null;
    var 
    xAPTR null;

    function 
    main(fpLength){

        if (
    bVersion == nullbVersion verify();
        if (
    bVersion == false) return;

        if (!
    bInit){
            
            
    xATRS efsInternal('Calc_ATRS');
            
    xAPTR smma(fpLengthxATRS);
                          
            
    bInit true
        };
        
        
    nAPTR xAPTR.getValue(0);

        if (
    nAPTR == null)
            return;

        return [
    nAPTR 100];
    }

    var 
    xHigh null;
    var 
    xLow null;
    var 
    xClose null;

    function 
    Calc_ATRS(){
        
        if (
    getBarState() == BARSTATE_ALLBARS){
            
    xHigh high();
            
    xLow low();
            
    xClose close();
        }
        
        var 
    nHigh xHigh.getValue(0);
        var 
    nLow xLow.getValue(0);
        var 
    nPrevClose xClose.getValue(-1);

        if (
    nHigh == null || nLow == null || nPrevClose == null)
            return;
        
        var 
    nHL nHigh nLow;
        var 
    nHC Math.abs(nHigh nPrevClose);
        var 
    nLC Math.abs(nLow nPrevClose);
        
        var 
    nMax Math.max(nHLnHCnLC);
        
        if (
    nMax == nHC) {
            
    nMid nPrevClose nMax 2;
        }

        if (
    nMax == nLC || nMax == nHL){
            
    nMid nLow nMax 2;    
        } 
        
        
    nATRS nMax nMid;
        
        return [
    nATRS];
    }

    function 
    verify(){
        var 
    false;
        if (
    getBuildNumber() < 3742){
            
            
    drawTextAbsolute(535"This study requires version 12.1 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