c.addLineIndicator2(es_chart, lod, '0xFF6600', 'LOD') # Initial Balance High and Low ib_high = [NoValue for x in xrange(60)] + [max(es_high[:60]) for x in xrange(390-60)] ib_low = [NoValue for x in xrange(60)] + [min(es_low[:60]) for x in xrange(390-60)] ll_ib_high = c.addLineIndicator2(es_chart, ib_high, '0xCC9900', 'IBH') ll_ib_high.addCustomDataLabel(0,389,"IBH", "Arial", 8, 0x3D5AA3, 0) ll_ib_low = c.addLineIndicator2(es_chart, ib_low, '0xCC9900', 'IBL') #ll_ib_low = es_chart.addLineLayer2() #ll_ib_low.addDataSet(ib_low, 0xFFFF00) ll_ib_low.addCustomDataLabel(0,389,"IBL", "Arial", 8, 0x3D5AA3, 0) ll_lb = es_chart.addLineLayer2() ll_lb.addDataSet(lb_data, 0xff0000) ll_lb.setUseYAxis2(True) es_chart.yAxis2().setLinearScale(0, 40, 5) ll_hb = es_chart.addLineLayer2() ll_hb.addDataSet(hb_data, 0x3333cc) ll_hb.setUseYAxis2(True) # Add the volume break down layer if data is present if len(vb_open) == 390: vb_chart = c.addBarIndicator(175, [], 0x000000, "Volume Breakdown") ll_vb = vb_chart.addCandleStickLayer(vb_high, vb_low, vb_open, vb_close, 0x008000, 0xcc0000) # Output the chart print("Content-type: image/png\n") binaryPrint(c.makeChart2(PNG))