Simple Futures Moving Average

ICE Data Services -


SimpleFuturesMA.efs  EFSLibrary - Discussion Board
  

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:






/*********************************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 AverageVersion:            1.0  09/25/2008Notes:    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.blue, 0);	setDefaultBarFgColor(Color.red, 1); 	setDefaultBarFgColor(Color.green, 2);		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(Price, FastAvg, SlowAvg, AvgFltr) {    var nBarState = getBarState();        if(nBarState == BARSTATE_ALLBARS) {        if (Price == null) Price = "close";        if (FastAvg == null) FastAvg = 9;        if (SlowAvg == null) SlowAvg = 50;        if (AvgFltr == null) AvgFltr = 80;    }          if (bInit == false) {        xPrice = eval(Price)();        xFMA = sma(FastAvg, xPrice);        xSMA = sma(SlowAvg, xPrice);        xFilter = sma(AvgFltr, xPrice);        bInit = true;    }    return new Array(xFMA.getValue(0), xSMA.getValue(0), xFilter.getValue(0));}