Announcement

Collapse
No announcement yet.

2017 Sep: The Reverse EMA Indicator by John F. Ehlers

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

  • 2017 Sep: The Reverse EMA Indicator by John F. Ehlers

    File Name: Reverse_EMA.efs

    Description:
    The Reverse EMA Indicator by John F. Ehlers

    Formula Parameters:

    Reverse_EMA.efs

    Alpha: 0.1

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

    Download File:
    Reverse_EMA.efs


    Reverse_EMA.efs


    EFS Code:
    PHP Code:
    /*********************************
    Provided By:  
    eSignal (Copyright c eSignal), a division of Interactive Data
    Corporation. 2016. 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:        
        The Reverse EMA Indicator by John F. Ehlers

    Version:            1.00  07/12/2017

    Formula Parameters:                     Default:
    Alpha                                   0.1



    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(){
        
    setPriceStudy(false);

        var 
    x=0;
        
    fpArray[x] = new FunctionParameter("Alpha"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Alpha Value");
            
    setDefault(0.1);
            
    setLowerLimit(0);
            }
    }

    var 
    bInit false;
    var 
    bVersion null;

    var 
    xClose null;

    var 
    xEMA null;
    var 
    xRevEMA null;

    function 
    main (Alpha){
        if (
    bVersion == nullbVersion verify();
        if (
    bVersion == false) return;

        var 
    nLength = ((Alpha) - 1) * 3;

        if (
    getCurrentBarCount() < nLength) return;

        if (
    getBarState() == BARSTATE_ALLBARS){
            
    bInit false;
        }

        if (!
    bInit){
            
    xClose close();

            
    xEMA efsInternal("calc_EMA"AlphaxClose);
            
    xRevEMA efsInternal("calc_RevEMA", (Alpha), 1xEMA);

            var 
    power 2;

            for (var 
    07i++){
                
    xRevEMA efsInternal("calc_RevEMA", (Alpha), powerxRevEMA);
                
    power *= 2;

            }

            
    addBand(0PS_DASH1Color.grey1);

            
    bInit true;
        }

        if (
    xRevEMA.getValue(0) != null){
            return (
    xEMA.getValue(0) - 0.1 xRevEMA.getValue(0));
        }
    }

    function 
    calc_EMA(nAAxSeries){
        var 
    nEMA_1 ref(-1);
        if (
    nEMA_1 == nullnEMA_1 0;
        var 
    nEMA = ((xSeries.getValue(0) - nEMA_1) * nAA) + nEMA_1;

        if (
    nEMA != null) return nEMA;
    }

    function 
    calc_RevEMA(nCCpowerxSeries){
        if (
    xSeries.getValue(-1) == null) return;
        var 
    nRevEMA Math.pow(nCCpower) * xSeries.getValue(0) + xSeries.getValue(-1);

        if (
    nRevEMA != null) return nRevEMA;
    }

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