def get_xs(self, code, data, starti, endi):
     # (indexes, dates, open, high, low, close, volume) = kf.get_kabuka([code], "", endd, True)
     (indexes, dates, open, high, low, close, volume) = data
     (avg, bollp2, bollm2) = lines.get_bollinger(close)
     xs = []
     for i in range(starti, endi + 1):
         ximage = self.lines2image(
             open[-WATCH_DAYS + i : i],
             high[-WATCH_DAYS + i : i],
             low[-WATCH_DAYS + i : i],
             close[-WATCH_DAYS + i : i],
             [avg[-WATCH_DAYS + i : i], bollp2[-WATCH_DAYS + i : i], bollm2[-WATCH_DAYS + i : i]],
         )
         xs.append(ximage)
     return np.array(xs)
 def _get_normal_lines(self, ol, hl, ll, cl, vl):
     # Ichimoku
     (tenkan, kijun, chikou, senko1, senko2) = lines.get_ichimoku(hl, ll, cl)
     normal_lines = {}
     normal_lines["tenkan"] = tenkan
     normal_lines["kijun"] = kijun
     normal_lines["chikou"] = chikou
     normal_lines["senko1"] = senko1
     normal_lines["senko2"] = senko2
     
     # Bollinger
     (avg, bollp2, bollm2) = lines.get_bollinger(cl)
     normal_lines["avg"] = avg
     normal_lines["bollp2"] = bollp2
     normal_lines["bollm2"] = bollm2
     
     self.normal_lines = normal_lines
    def get_line_data(self, meigaras=[]):
        data = kf.get_kabuka(meigaras, self.startd, self.endd, True)
        xbatch = []
        ybatch = []
        for code in data.keys():
            (indexes, dates, open, high, low, close, volume) = data[code]
            (pnf_joints, pnf_indexes, pnf_pmmask) = lines.get_pnf(high, low, close)
            (avg, bollp2, bollm2) = lines.get_bollinger(close)
            (pnf_indexes, pnf_pmmask) = self.add_mid_joints(pnf_indexes, pnf_pmmask)

            for i in range(1, len(pnf_indexes)):
                jointi = pnf_indexes[i]
                if jointi >= MA_DAYS + WATCH_DAYS:
                    ylist = [0, 0, 1, 0, 0]
                    if pnf_pmmask[i] == -2:
                        ylist = [1, 0, 0, 0, 0]
                    if pnf_pmmask[i] == -1:
                        ylist = [0, 1, 0, 0, 0]
                    if pnf_pmmask[i] == 1:
                        ylist = [0, 0, 0, 1, 0]
                    if pnf_pmmask[i] == 2:
                        ylist = [0, 0, 0, 0, 1]
                    xlist = self.lines2image(
                        open[jointi - WATCH_DAYS + 1 : jointi + 1],
                        high[jointi - WATCH_DAYS + 1 : jointi + 1],
                        low[jointi - WATCH_DAYS + 1 : jointi + 1],
                        close[jointi - WATCH_DAYS + 1 : jointi + 1],
                        olines=[
                            avg[jointi - WATCH_DAYS + 1 : jointi + 1],
                            bollp2[jointi - WATCH_DAYS + 1 : jointi + 1],
                            bollm2[jointi - WATCH_DAYS + 1 : jointi + 1],
                        ],
                    )

                    ylist = np.array(ylist)
                    if len(xbatch) == 0:
                        xbatch = np.array([xlist])
                        ybatch = np.array([ylist])
                    else:
                        xbatch = np.append(xbatch, [xlist], axis=0)
                        ybatch = np.append(ybatch, [ylist], axis=0)
        return [xbatch, ybatch]