TEMA.efs EFSLibrary - Discussion Board
File Name: TEMA.efs
Description:
TEMA1
Formula Parameters:
Length: 26
Price Data To Use: Close
Notes:
This study plots the TEMA1 indicator. TEMA1 ia s triple MA (Moving Average),
and is calculated as 3*MA - (3*MA(MA)) + (MA(MA(MA)))
Download File:
TEMA.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: TEMA1 Version: 1.0 09/24/2008Notes: This study plots the TEMA1 indicator. TEMA1 ia s triple MA (Moving Average), and is calculated as 3*MA - (3*MA(MA)) + (MA(MA(MA))) Formula Parameters: Default: Length 26 Price Data To Use Close**********************************/ var fpArray = new Array(); var bInit = false; function preMain() { setPriceStudy(true); setStudyTitle("TEMA"); setCursorLabelName("TEMA1", 0); setDefaultBarFgColor(Color.blue, 0); setPlotType(PLOTTYPE_LINE, 0); setDefaultBarThickness(1, 0); var x = 0; fpArray[x] = new FunctionParameter("Length", FunctionParameter.NUMBER); with (fpArray[x++]) { setLowerLimit(1); setDefault(26); } 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 xMyPrice = null; var xEMA1 = null; var xEMA2 = null; var xEMA3 = null; function main(Price, Length) { var nState = getBarState(); var nTEMA = 0; if (nState == BARSTATE_ALLBARS) { if (Price == null) Price = "close"; if (Length == null) Length = 26; } if (bInit == false) { xMyPrice = eval(Price)(); xEMA1 = ema(Length, xMyPrice); xEMA2 = ema(Length, xEMA1); xEMA3 = ema(Length, xEMA2); bInit = true; } if ( xEMA1.getValue(0) == null || xEMA2.getValue(0) == null || xEMA3.getValue(0) == null ) return; nTEMA = 3 * xEMA1.getValue(0) - 3 * xEMA2.getValue(0) + xEMA3.getValue(0); return nTEMA; }