/********************************************************* Alexis C. Montenegro © August 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. **********************************************************/ var fpArray = new Array(); function preMain() { setPriceStudy(true); setStudyTitle("OHLC"); //Open setDefaultBarStyle(PS_SOLID, 0); setPlotType(PLOTTYPE_FLATLINES,0) setDefaultBarFgColor(Color.red, 0); setDefaultBarThickness(2, 0); // High setDefaultBarStyle(PS_SOLID, 1); setPlotType(PLOTTYPE_FLATLINES,1) setDefaultBarFgColor(Color.black, 1); setDefaultBarThickness(2, 1); //Low setDefaultBarStyle(PS_SOLID, 2); setPlotType(PLOTTYPE_FLATLINES,2) setDefaultBarFgColor(Color.black, 2); setDefaultBarThickness(2, 2); //Close setDefaultBarStyle(PS_SOLID, 3); setPlotType(PLOTTYPE_FLATLINES,3) setDefaultBarFgColor(Color.blue, 3); setDefaultBarThickness(2, 3); 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("Params", FunctionParameter.BOOLEAN); with(fpArray[x++]){ setName("Show Parameters"); setDefault(false); } } var bInit = false; var vInterval = null; var xOpen = null; var xHigh = null; var xLow = null; var xClose = null; function main(Interval,Lookback,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; xOpen = getSeries(open(inv(vInterval))); xHigh = getSeries(high(inv(vInterval))); xLow = getSeries(low(inv(vInterval))); xClose = getSeries(close(inv(vInterval))); setCursorLabelName("Open ("+Lookback+"), "+vInterval,0); setCursorLabelName("High ("+Lookback+"), "+vInterval,1); setCursorLabelName("Low ("+Lookback+"), "+vInterval,2); setCursorLabelName("Close ("+Lookback+"), "+vInterval,3); setShowTitleParameters(eval(Params)); bInit = true; } if(Lookback == 0){ var nOpen = xOpen; var nHigh = xHigh; var nLow = xLow; var nClose = xClose; } else { var nOpen = xOpen.getValue(-Lookback); var nHigh = xHigh.getValue(-Lookback); var nLow = xLow.getValue(-Lookback); var nClose = xClose.getValue(-Lookback); } return new Array(nOpen,nHigh,nLow,nClose); }