/********************************************************* Alexis C. Montenegro © January 2005 Use and/or modify this code freely. If you redistribute it please include this and/or any other comment blocks and a description of any changes you make. **********************************************************/ // NOTE: // This efs requires amStudies.efsLib in the FunctionLibrary folder. // If you do not have this file you can download it at the link below. // http://share.esignal.com/groupcontents.jsp?folder=Formulas-Libraries&groupid=10 var fpArray = new Array(); function preMain() { setPriceStudy(true); setStudyTitle("T3 MA"); setCursorLabelName("T3",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(6); } fpArray[x] = new FunctionParameter("Factor", FunctionParameter.NUMBER); with(fpArray[x++]){ setUpperLimit(1); setLowerLimit(0); setDefault(0.7); } fpArray[x] = new FunctionParameter("Source", FunctionParameter.STRING); with(fpArray[x++]){ addOption("open"); addOption("high"); addOption("low"); addOption("close"); addOption("hl2"); addOption("hlc3"); addOption("ohlc4"); setDefault("close"); } fpArray[x] = new FunctionParameter("Symbol", FunctionParameter.STRING); with(fpArray[x++]){ setDefault(); } fpArray[x] = new FunctionParameter("Interval", FunctionParameter.STRING); with(fpArray[x++]){ setDefault(); } fpArray[x] = new FunctionParameter("Offset", FunctionParameter.NUMBER); with(fpArray[x++]){ setDefault(0); } fpArray[x] = new FunctionParameter("Params", FunctionParameter.BOOLEAN); with(fpArray[x++]){ setName("Show Parameters"); setDefault(false); } } var amLib = addLibrary("amStudies.efsLib"); var bInit = false; var xT3 = null; function main(Length,Factor,Source,Symbol,Interval,Offset,Params) { if(bInit == false){ with( amLib ) { if(Symbol == null) Symbol = getSymbol(); if(Interval == null) Interval = getInterval(); var vSymbol = Symbol+","+Interval; xT3 = getSeries(amT3(Length,Factor,eval(Source)(sym(vSymbol)))); setShowTitleParameters(eval(Params)); bInit = true; } } if(Offset!=0){ return xT3.getValue(-(Offset)); }else{ return xT3; } }