//@Name:Vol-sig (%) //@Description:Returns the % difference between the latest volume and the signal //@Returns:Number //@Width:60 //@Update:Intraday // Author: Richard Chiesa, ShareScript Support // Care has been taken in preparing this code but it is provided without guarantee. // You are welcome to modify and extend it. Please add your name as a modifier if you distribute it. var optionList = ["Daily","Weekly","Monthly"]; var option = 0; var option2 = 0; var var1 = 20; function init(status) { if (status == Loading || status == Editing) { option = storage.getAt(0); var1 = storage.getAt(1); option2 = storage.getAt(2); } if (status == Adding || status == Editing) { dlg = new Dialog("Select options...", 205, 55); dlg.addOkButton(); dlg.addCancelButton(); dlg.addDropList("DL2",30,-1,80,-1,["End of Day","Intraday"],"Latest","Volume",option2); dlg.addDropList("DL1",8,-1,80,-1,optionList,"","average",option); dlg.addIntEdit("INT1",8,-1,-1,-1,"","Period",var1,2,1000); if (dlg.show()==Dialog.Cancel) return false; option = dlg.getValue("DL1"); option2 = dlg.getValue("DL2"); var1 = dlg.getValue("INT1"); storage.setAt(0, option); storage.setAt(1, var1); storage.setAt(2, option2); } setTitle("Vol % "+var1+" "+optionList[option]) } function getVal(share) { var data = getData(share,option,option2); if (data==null || data.length<2) return; var ma1 = new MA(var1); for (var i=Math.max(data.length-var1,0);idata[data.length-1].high?idata[0].high:data[data.length-1].high), low:(idata[0].lowdata[data.length-1].high?idata[0].high:data[data.length-1].high), low:(idata[0].lowtempData[tempData.length-1].high?idata[0].high:tempData[tempData.length-1].high), low:(idata[0].lowdata[data.length-1].high?tempData[i].high:data[data.length-1].high), low:(tempData[i].low