//@Name:Engulfing Candles //@Description:Changes the colour of a candle if the body engulfs the entire previous candle. // Created by: Paul Hall, ShareScope 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 bullEngulfing = Colour.DarkBlue; var bearEngulfing = Colour.DarkYellow; function init(status) { if (status == Loading || status == Editing) { colour = storage.getAt(0); } if (status == Adding || status == Editing) { dlg = new Dialog("Select Colour", 180, 50); dlg.addOkButton(); dlg.addCancelButton(); dlg.addColPicker("VAL1",70,5,-1,-1, "Bullish Engulfing ","", bullEngulfing); dlg.addColPicker("VAL2",70,22,-1,-1, "Bearish Engulfing ","", bearEngulfing); if (dlg.show()==Dialog.Cancel) return false; bullEngulfing = dlg.getValue("VAL1"); bearEngulfing = dlg.getValue("VAL2"); storage.setAt(0, bullEngulfing); storage.setAt(1, bearEngulfing); } buttonHandle = createButton("Set", onButton0); } //This defines what happens when he study is added to a chart or we select a new share. function onNewChart() { draw(); } //Updates the graph if the data is updated. function onNewBarUpdate() { draw(); } function draw() { for (var i=1;i bars[i-1].high && bars[i].open < bars[i-1].low) { bars[i].colour = bullEngulfing; } else if (bars[i].close < bars[i-1].low && bars[i].open > bars[i-1].high) { bars[i].colour = bearEngulfing; } } } function onButton0() { bullEngulfing = storage.getAt(0); bearEngulfing = storage.getAt(1); dlg = new Dialog("Select Colour", 180, 50); dlg.addOkButton(); dlg.addCancelButton(); dlg.addColPicker("VAL1",70,5,-1,-1, "Bullish Engulfing ","", bullEngulfing); dlg.addColPicker("VAL2",70,22,-1,-1, "Bearish Engulfing ","", bearEngulfing); if (dlg.show()==Dialog.Cancel) return false; bullEngulfing = dlg.getValue("VAL1"); bearEngulfing = dlg.getValue("VAL2"); storage.setAt(0, bullEngulfing); storage.setAt(1, bearEngulfing); draw(); }