//@Name:Inverse FX //@Description:Displays the inverse value of a currency pair (e.g. from GBP/HKD to HKD/GBP). Press Ctrl+i on a Forex graph to view an inverted chart. //@Returns:Number //@Width:60 //@Update:Intraday var outputType = 0; var outputList = ["Mid","Mid +/-","Mid %"] function init(status) { if (status == Loading || status == Editing) { outputType = storage.getAt(0); } if (status == Adding || status == Editing) { dlg = new Dialog("Select display...", 135, 45); dlg.addOkButton(); dlg.addCancelButton(); dlg.addDropList("DL1",8,-1,60,-1,outputList,"","",outputType); if (dlg.show()==Dialog.Cancel) return false; outputType = dlg.getValue("DL1"); storage.setAt(0, outputType); } setTitle("Inverse Forex "+outputList[outputType]); } function getVal(share) { if (share.getMarket()!="FX") return; var data = share.getPriceArray(2); if (data.length<2) return; var idata = share.getIBarArray(0,86400); if (idata!=undefined && idata.length==1 && new Date().getDate()==idata[0].date.getDate() && new Date().getDate()!=data[data.length-1].date.getDate()) { var tclose = share.getIClose(); var topen = share.getIOpen(); data[data.length]={open:(topen==null?idata[0].open:topen),high:idata[0].high,low:idata[0].low,close:(tclose==null?share.getIMid():tclose),volume:idata[0].volume}; } if (outputType==0) return 1/data[data.length-1].close; if (outputType==1) return 1/data[data.length-1].close-1/data[data.length-2].close; if (outputType==2) return ((data[data.length-2].close/data[data.length-1].close-1)*100); }