//@Name:ADX Greater Than //@Description:Displays 1 if the ADX/DI+/DI- > ADX/DI+/DI- //@Returns:Number //@Width:80 //@Env:Production // Author: 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 period = 14; var ADXtype1 = 0; var ADXtype2 = 1; var ADXreturn = ["ADX","DI+","DI-"]; var dataType = 0; var dataSource = ["Daily","Weekly","Monthly"]; function init(status) { if (status == Loading || status == Editing) { period = storage.getAt(0); ADXtype1 = storage.getAt(1); ADXtype2 = storage.getAt(2); dataType = storage.getAt(3); } if (status == Adding || status == Editing) { do { dlg = new Dialog("Latest ADX",220,75); dlg.addOkButton(); dlg.addCancelButton(); dlg.addIntEdit("VAL1",50,5,40,-1,"Period","",period,2,1000); dlg.addDropList("VAL2",50,25,40,-1,ADXreturn,"",">",ADXtype1); dlg.addDropList("VAL3",100,25,40,-1,ADXreturn,"","",ADXtype2); dlg.addDropList("VAL4",50,45,40,-1,dataSource,"Data source","",dataType); if (dlg.show()==Dialog.Cancel) return false; period = dlg.getValue("VAL1"); ADXtype1 = dlg.getValue("VAL2"); ADXtype2 = dlg.getValue("VAL3"); dataType = dlg.getValue("VAL4"); } while (ADXtype1==ADXtype2); storage.setAt(0, period); storage.setAt(1, ADXtype1); storage.setAt(2, ADXtype2); storage.setAt(3, dataType); } //sets the title of the column setTitle(period+" "+dataSource[dataType]+" "+ADXreturn[ADXtype1]+">"+ADXreturn[ADXtype2]); } function getVal(share) { if (dataType==0) var data = share.getPriceArray(period*10); if (dataType==1) var data = share.getWeeklyBarArray(period*50); if (dataType==2) var data = share.getMonthlyBarArray(period*200); var adx1 = new ADX(period); adx1.next(data); if (ADXtype1 == 0) var first = adx1.getADX(); if (ADXtype1 == 1) var first = adx1.getPDI(); if (ADXtype1 == 2) var first = adx1.getNDI(); if (ADXtype2 == 0) var second = adx1.getADX(); if (ADXtype2 == 1) var second = adx1.getPDI(); if (ADXtype2 == 2) var second = adx1.getNDI(); return first>second; }