Announcement

Collapse
No announcement yet.

High - EMA

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

  • High - EMA

    File Name: High_ema.efs

    Description:
    High - EMA indicator.

    Formula Parameters:
    Length: 13
    Price Data To Use: Close


    Notes:
    This indicator plots the difference between the High (of the previous period)
    and an exponential moving average (13 period) of the Close (of the previous period).


    Download File:
    High_ema.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:        
        High - EMA

    Version:            1.0  09/23/2008

    Notes:
        This indicator plots the difference between the High (of the previous period)
        and an exponential moving average (13 period) of the Close (of the previous period).
        
    Formula Parameters:                     Default:
        Length                                  13
        Price Data To Use                      Close
    **********************************/


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

    function 
    preMain()
    {
        
    setStudyTitle("High - EMA");
        
    setCursorLabelName("High - EMA"0);
        
    setDefaultBarFgColor(Color.blue0);
        
    setPlotType(PLOTTYPE_LINE,0);
        
    setDefaultBarThickness(1,0);
        
        
    addBand(0PS_SOLID1Color.black);
        
        var 
    x=0;
        
    fpArray[x] = new FunctionParameter("Length"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setLowerLimit(1);        
            
    setDefault(13);
        }

        
    fpArray[x] = new FunctionParameter("Price"FunctionParameter.STRING);
        
    with(fpArray[x++]){
            
    setName("Price Data To Use");
            
    addOption("open"); 
            
    addOption("high");
            
    addOption("low");
            
    addOption("close");
            
    addOption("hl2");
            
    addOption("hlc3");
            
    addOption("ohlc4"); 
            
    setDefault("close"); 
        }
    }

    var 
    xEMA null;
    var 
    xMyPrice null;
    var 
    xHigh_EMA null;

    function 
    main(LengthPrice) {
    var 
    nHigh_EMA 0;

        if (
    Length == nullLength 13;
        if(
    Price == nullPrice"close";

        if ( 
    bInit == false ) { 
            
    xMyPrice = eval(Price)();
            
    xEMA ema(LengthxMyPrice);
            
    xHigh_EMA efsInternal("Calc_xHigh_EMA"xEMA);
            
    bInit true
        } 

        
    nHigh_EMA xHigh_EMA.getValue(0);

        return 
    nHigh_EMA;
    }

    function 
    Calc_xHigh_EMA(xEMA) {
    var 
    nRes 0
        
    if (xEMA.getValue(-1) == null ) return;
        
    nRes high(-1) - xEMA.getValue(-1);
        if (
    nRes == nullnRes 1;
        return 
    nRes;

Working...
X