//@Name:Fixed Interest Return //@Description:Draws the return from a fixed interest source for comparison against a share. var ir = 3; var col1 = Colour.Red function init(status) { if (status == Loading || status == Editing) { ir = storage.getAt(0); col1 = storage.getAt(1); } if (status == Adding || status == Editing) { dlg = new Dialog("Settings...", 175, 55); dlg.addOkButton(); dlg.addCancelButton(); dlg.addNumEdit("NUM1",8,-1,-1,-1,"","% annual rate of return",ir,-10,1000); dlg.addColPicker("COL1",8,-1,-1,-1,"","",col1); if (dlg.show()==Dialog.Cancel) return false; ir = dlg.getValue("NUM1"); col1 = dlg.getValue("COL1"); storage.setAt(0, ir); storage.setAt(1, col1); } setTitle("Fixed Interest Return ("+ir.toFixed(1)+"%)") } function onNewChart() { onZoom() } function onZoom() { clearDisplay() if (bars == undefined || bars.length<3) return; var s = getMinVisibleBarIndex(); var f = getMaxVisibleBarIndex(); var ret = returnPerBar(s,f); var currentVal = bars[s].close; setPenStyle(0,1,col1); moveTo(s,currentVal); for (var i=s+1;i<=f;i++) { currentVal*=ret lineTo(i,currentVal); } } function returnPerBar(s,f) { var years = (bars[f].date - bars[s].date)/31536000000; var totalReturn = Math.pow(1+ir/100,years) var rpb = Math.pow(totalReturn, 1/(f-s)); return rpb }