Announcement

Collapse
No announcement yet.

2/20 Exponential Moving Average

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

  • 2/20 Exponential Moving Average

    File Name: MovAvgX2_20.efs

    Description:
    This Indicator plots 2/20 Exponential Moving Average

    Formula Parameters:
    Moving average source: close
    Length: 20


    Notes:
    This indicator plots 2/20 exponential moving average. For the Mov
    Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.


    Download File:
    MovAvgX2_20.efs



    EFS Code:
    PHP Code:
    /*********************************

    Provided By:  

        eSignal (Copyright c eSignal), a division of Interactive Data 
        Corporation. 2008. 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:        

        This Indicator plots 2/20 Exponential Moving Average

    Version:            1.0  09/26/2008

    Notes:

        This indicator plots 2/20 exponential moving average. For the Mov 
        Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.


    Formula Parameters:                     Default:

        Moving average source               close
        Length                              20
     
    **********************************/

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

    function 
    preMain() {

        
    setPriceStudy(true);
        
    setStudyTitle("Mov Avg X 2/20");
        
    setCursorLabelName("XAverage");

        
    setColorPriceBars(true);
        
    setDefaultPriceBarColor(Color.black);
        
        
    askForInput();
        var 
    x=0;
        
        
    fpArray[x] = new FunctionParameter("MASource"FunctionParameter.STRING);
        
    with(fpArray[x++]){
            
    setName("Source of moving average");
            
    addOption("open"); 
            
    addOption("high");
            
    addOption("low");
            
    addOption("close");
            
    addOption("hl2");
            
    addOption("hlc3");
            
    addOption("ohlc4"); 
            
    setDefault("close"); 
        }    
        
        
    fpArray[x] = new FunctionParameter("Length"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setLowerLimit(1);        
            
    setDefault(20);
        }
    }

    var 
    xXA null;

    function 
    main(MASourceLength) {
        
        var 
    nBarState getBarState();
        
        if(
    nBarState == BARSTATE_ALLBARS) {
            if (
    MASource == nullMASource "close";
            if (
    Length == nullLength 20
        }  
        
        if (
    bInit == false) {
            var 
    xPrice = eval(MASource)();
            
    xXA ema(LengthxPrice);
            
    bInit true;
        }

        if (
    getCurrentBarCount() < Length) return;
        
        var 
    nHH Math.max(high(0), high(-1));
        var 
    nLL Math.min(low(0), low(-1));
        
        var 
    nXA xXA.getValue(0);
        
        if ((
    nLL nXA)||(nHH nXA)) setPriceBarColor(Color.red);
        
        return 
    nXA;

Working...
X