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)); }