Announcement

Collapse
No announcement yet.

Simple Futures Moving Average

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

  • Simple Futures Moving Average

    File Name: SimpleFuturesMA.efs

    Description:
    This Indicator plots Simple Futures Moving Average

    Formula Parameters:
    Source of moving averege: close
    Fast length: 9
    Slow length: 50
    Filter length: 80


    Notes:
    This indicator is a common Moving Average Crossover with another parameter,
    the Filter added. The Filter ia a lenghty Moving Average, by default - 80.
    The Alert is given only in the case when the price is not equal to the Filter.


    Download File:
    SimpleFuturesMA.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 Simple Futures Moving Average

    Version:            1.0  09/25/2008

    Notes:

        This indicator is a common Moving Average Crossover with another parameter,
        the Filter added. The Filter ia a lenghty Moving Average, by default - 80. 
        The Alert is given only in the case when the price is not equal to the Filter.


    Formula Parameters:                     Default:

        Source of moving averege            close
        Fast length                         9
        Slow length                         50
        Filter length                       80
    **********************************/

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

    function 
    preMain() {
        
    setPriceStudy(true);
        
    setStudyTitle("Simple Futures MA");
        
        
    setCursorLabelName("FastMA"0);
        
    setCursorLabelName("SlowMA"1);
        
    setCursorLabelName("Filter"2);

        
    setDefaultBarFgColor(Color.blue0);
        
    setDefaultBarFgColor(Color.red1); 
        
    setDefaultBarFgColor(Color.green2);
        
        
    askForInput();
        var 
    x=0;
        
        
    fpArray[x] = new FunctionParameter("Price"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("FastAvg"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setLowerLimit(1);        
            
    setDefault(9);
        }
        
        
    fpArray[x] = new FunctionParameter("SlowAvg"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setLowerLimit(1);        
            
    setDefault(50);
        }
        
        
    fpArray[x] = new FunctionParameter("AvgFltr"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setLowerLimit(1);        
            
    setDefault(80);
        }
    }

    var 
    xFMA null;
    var 
    xSMA null;
    var 
    xFilter null;
    var 
    xPrice null;

    function 
    main(PriceFastAvgSlowAvgAvgFltr) {

        var 
    nBarState getBarState();
        
        if(
    nBarState == BARSTATE_ALLBARS) {
            if (
    Price == nullPrice "close";
            if (
    FastAvg == nullFastAvg 9;
            if (
    SlowAvg == nullSlowAvg 50;
            if (
    AvgFltr == nullAvgFltr 80;
        }  

        
        if (
    bInit == false) {
            
    xPrice = eval(Price)();
            
    xFMA sma(FastAvgxPrice);
            
    xSMA sma(SlowAvgxPrice);
            
    xFilter sma(AvgFltrxPrice);
            
    bInit true;
        }

        return new Array(
    xFMA.getValue(0), xSMA.getValue(0), xFilter.getValue(0));


Working...
X