Announcement

Collapse
No announcement yet.

Statistical Volatility - Extreme Value Method

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

  • Statistical Volatility - Extreme Value Method

    File Name: VolatilityExtVal.efs

    Description:
    Statistical Volatility - Extreme Value Method

    Formula Parameters:
    nLength : 30

    Notes:
    This indicator used to calculate the statistical volatility, sometime
    called historical volatility, based on the Extreme Value Method.
    Please use this link to get more information about Volatility.



    Download File:
    VolatilityExtVal.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:        
        Statistical Volatility - Extreme Value Method 
        
    Version:            1.0  05/22/2009
         
    Formula Parameters:                     Default:
        nLength                             30
        
    Notes:
        This indicator used to calculate the statistical volatility, sometime 
        called historical volatility, based on the Extreme Value Method.
        Please use this link to get more information about Volatility. 

    **********************************/
    var fpArray = new Array();
    var 
    bInit false;

    function 
    preMain() {
        
    setStudyTitle("Statistical Volatility - Extreme Value Method"); 
        
    setCursorLabelName("Xtrme Vlty");
        var 
    0;
        
    fpArray[x] = new FunctionParameter("nLength"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(1);
            
    setDefault(30);
        }    
    }

    var 
    xVolatilityExtVal null;

    function 
    main(nLength) {
    var 
    nBarState getBarState();
    var 
    nVolatilityExtVal 0;
        if (
    nBarState == BARSTATE_ALLBARS) {
            if (
    nLength == nullnLength 30;
        }    
        if (
    bInit ==  false) {
            
    xVolatilityExtVal efsInternal("Calc_VolatilityExtVal"nLength);
            
    bInit true;
        }
        
    nVolatilityExtVal xVolatilityExtVal.getValue(0);
        if (
    nVolatilityExtVal == null) return;
        return 
    nVolatilityExtVal;
    }

    var 
    bSecondInit false;
    var 
    xClose null;
    var 
    xMaxC null;
    var 
    xMinC null;
    var 
    xMaxH null;
    var 
    xMinL null;

    function 
    Calc_VolatilityExtVal(nLength) {
    var 
    nRes 0;
    var 
    0;
    var 
    SqrTime Math.sqrt(253 nLength);
        if (
    bSecondInit == false) {
            
    xClose close();
            
    xMaxC upperDonchian(nLengthxClose);
            
    xMinC lowerDonchian(nLengthxClose);
            
    xMaxH upperDonchian(nLength);
            
    xMinL lowerDonchian(nLength);
            
    bSecondInit true;
        }
        if (
    xMaxC.getValue(0) == null) return;
        
    nRes = ((0.6 Math.log(xMaxC.getValue(0) / xMinC.getValue(0)) * SqrTime) + 
               (
    0.6 Math.log(xMaxH.getValue(0) / xMinL.getValue(0)) * SqrTime)) * 0.5;
        if (
    nRes 0nRes 0.0;
        if (
    nRes 2.99nRes 2.99;
        return 
    nRes;

Working...
X