/********************************************************* Alexis C. Montenegro © December 2004 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. **********************************************************/ var fpArray = new Array(); function preMain() { setPriceStudy(true); setStudyTitle("High-Low"); // High setDefaultBarStyle(PS_SOLID, 0); setPlotType(PLOTTYPE_FLATLINES,0) setDefaultBarFgColor(Color.blue, 0); setDefaultBarThickness(2, 0); // Low setDefaultBarStyle(PS_SOLID, 1); setPlotType(PLOTTYPE_FLATLINES,1) setDefaultBarFgColor(Color.red, 1); setDefaultBarThickness(2, 1); var x=0; fpArray[x] = new FunctionParameter("Interval", FunctionParameter.STRING); with(fpArray[x++]){ setDefault(); } fpArray[x] = new FunctionParameter("Lookback", FunctionParameter.NUMBER); with(fpArray[x++]){ setLowerLimit(0); setDefault(0); } fpArray[x] = new FunctionParameter("ColorHi", FunctionParameter.COLOR); with(fpArray[x++]){ setName("Color High"); setDefault(Color.blue); } fpArray[x] = new FunctionParameter("ColorLo", FunctionParameter.COLOR); with(fpArray[x++]){ setName("Color Low"); setDefault(Color.red); } fpArray[x] = new FunctionParameter("Params", FunctionParameter.BOOLEAN); with(fpArray[x++]){ setName("Show Parameters"); setDefault(false); } } var bInit = false; var vInterval = null; var xHigh = null; var xLow = null; function main(Interval,Lookback,ColorHi,ColorLo,Params) { if(bInit == false){ if(isIntraday() && Interval == null) Interval = "D"; else if(isDaily() && Interval == null) Interval = "W"; else if(isWeekly() && Interval == null) Interval = "M"; else if(Interval == null) Interval = getInterval(); vInterval = Interval; xHigh = getSeries(high(inv(vInterval))); xLow = getSeries(low(inv(vInterval))); setCursorLabelName("High ("+Lookback+"), "+vInterval,0); setCursorLabelName("Low ("+Lookback+"), "+vInterval,1); setDefaultBarFgColor(ColorHi,0); setDefaultBarFgColor(ColorLo,1); setShowTitleParameters(eval(Params)); bInit = true; } if(Lookback == 0){ var vHigh = xHigh; var vLow = xLow; } else { var vHigh = xHigh.getValue(-Lookback); var vLow = xLow.getValue(-Lookback); } return new Array(vHigh,vLow); }