//@LibraryID:736,1 //@Name:Standard Deviation //@Description:Returns the alue of the standard deviation indicator a number of trading days ago. //@Returns:Number //@Env:Production //@Width:60 //Author: ShareScript Support - Modified by Phil Tolhurst, Deputy Support Manager // 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 maPeriod = 20; var daysAgo = 0; function init(status) { if (status == Loading || status == Editing) { maPeriod = storage.getAt(0); daysAgo = storage.getAt(1); } if (status == Adding || status == Editing) { var dlg = new Dialog("Standard Deviation Value", 200, 65); dlg.addOkButton(); dlg.addCancelButton(); dlg.addGroupBox(5,5,125,55,"Indicator Properties"); dlg.addIntEdit("VAL1",12,16, -1, -1,"","periods",maPeriod,1,999); dlg.addIntEdit("VAL2",12,35,-1,-1,"","trading days ago",daysAgo,0,9999); if (dlg.show() == Dialog.Ok) { maPeriod=dlg.getValue("VAL1"); daysAgo=dlg.getValue("VAL2"); storage.setAt(0, maPeriod); storage.setAt(1, daysAgo); } else { return false; } } setTitle(maPeriod+" Std. Deviation (Daily) "+daysAgo+" td ago"); } function getVal(share) { var data = share.getPriceArray(); var ma1 = new MA(maPeriod); //type of MA var v1 = new Array(); var av1 = new Array(); var y1 = new Array(); var upBB = new Array(); var downBB = new Array(); var percB = new Array(); for (var i=Math.max(0,data.length-(daysAgo+maPeriod+2));i