//@Name:Consecutive Candles //@Description:Highlights consecutive up/down/inside/outside days. var mainColour = 0; var upColour = 46080; var downColour = 255; var insideColour = 46335; var outsideColour = 16711680; var candleCount = 5; function init(status) { if (status == Loading || status == Editing) { candleCount = storage.getAt(0); mainColour = storage.getAt(1); upColour = storage.getAt(2); downColour = storage.getAt(3); insideColour = storage.getAt(4); outsideColour = storage.getAt(5); } if (status == Adding || status == Editing) { dlg = new Dialog("Settings...", 180, 115); dlg.addOkButton(); dlg.addCancelButton(); dlg.addIntEdit("INT1",65,-1,-1,-1,"Candle Count","",candleCount,1,100); dlg.addColPicker("COL1",65,-1,-1,-1,"Main","",mainColour); dlg.addColPicker("COL2",65,-1,-1,-1,"Up","",upColour); dlg.addColPicker("COL3",65,-1,-1,-1,"Down","",downColour); dlg.addColPicker("COL4",65,-1,-1,-1,"Inside","",insideColour); dlg.addColPicker("COL5",65,-1,-1,-1,"Outside","",outsideColour); if (dlg.show()==Dialog.Cancel) return false; candleCount = dlg.getValue("INT1"); mainColour = dlg.getValue("COL1"); upColour = dlg.getValue("COL2"); downColour = dlg.getValue("COL3"); insideColour = dlg.getValue("COL4"); outsideColour = dlg.getValue("COL5"); storage.setAt(0, candleCount); storage.setAt(1, mainColour); storage.setAt(2, upColour); storage.setAt(3, downColour); storage.setAt(4, insideColour); storage.setAt(5, outsideColour); } setTitle(candleCount+" Consecutive Candles"); } function onNewChart() { var barCount = [0,0,0,0]; // the counter of consecutive up/down/inside/outside days bars[0].colour = mainColour; for (var i=1;ibars[i-1].high && bars[i].low>bars[i-1].low) barCount = [++barCount[0],0,0,0]; //if up day else if (bars[i].highbars[i-1].low) barCount = [0,0,++barCount[2],0]; //if inside day else if (bars[i].high>bars[i-1].high && bars[i].low=candleCount) bars[i].colour = upColour; else if (barCount[1]>=candleCount) bars[i].colour = downColour; else if (barCount[2]>=candleCount) bars[i].colour = insideColour; else if (barCount[3]>=candleCount) bars[i].colour = outsideColour; else bars[i].penWidth = 0; } }