My custom data includes OHLCV attributes added on the Reader method from the custom data class, the problem is that, when the algorithm is run, the corresponding OHLCV security attributes don't get updated correctly, instead they're all set to the close price except the volume one which is set to 0.

    def Reader(self, config: SubscriptionDataConfig, line: str, date: datetime, isLiveMode: bool) -> BaseData:

        if not (line.strip() or line[0].isdigit()):
            return None


        try:
            data = line.split(",")
            delta = self.GetCustomDataTimeFrame(self.algo.TimeFrame)[1]
            ohlcv = list(map(lambda x: float(x), data[1:6]))
            time = datetime.strptime(
                data[0], "%Y-%m-%d %H:%M:%S")

            ct = CustomData()
            ct.Time = time
            ct.Symbol = config.Symbol
            ct.Value = ohlcv[3]
            ct.EndTime = time + timedelta(seconds=delta)
            ct["Open"], ct["High"], ct["Low"], ct["Close"], ct["Volume"] = ohlcv
            ct["Period"] = timedelta(seconds=delta)

        except ValueError:
            return None

        return ct