Closed xunfeng191 closed 1 year ago
当前BarGenerator对A股市场的周期合成没有问题,但是对连续交易市场的K线合成不兼容 `def freq_end_time(dt: datetime, freq: Freq) -> datetime: """获取 dt 对应的K线周期结束时间
:param dt: datetime :param freq: Freq :return: datetime """ dt = dt.replace(second=0, microsecond=0) if freq in [Freq.F1, Freq.F5, Freq.F15, Freq.F30, Freq.F60]: m = int(freq.value.strip("分钟")) if m < 60: if (dt.hour == 15 and dt.minute == 0) or (dt.hour == 11 and dt.minute == 30): return dt delta_m = dt.minute % m if delta_m != 0: dt += timedelta(minutes=m - delta_m) return dt else: dt_span = { 60: ["01:00", "2:00", "3:00", '10:30', "11:30", "14:00", "15:00", "22:00", "23:00", "23:59"], } for v in dt_span[m]: hour, minute = v.split(":") edt = dt.replace(hour=int(hour), minute=int(minute)) if dt <= edt: return edt`
例如:60分钟线仅能合成符合中国交易市场的时间,能否增加加密货币及其他市场的k线合成的支持
@xunfeng191 只有60分钟比较特殊,存在你说的问题。其他分钟线都是可以支持的。具体可以加微信 zengbin93 交流一下
zengbin93
复写一个BarGenerator合成器就行了。另外注意国内市场是bar结束时间,crypto是bar开始时间。
当前BarGenerator对A股市场的周期合成没有问题,但是对连续交易市场的K线合成不兼容 `def freq_end_time(dt: datetime, freq: Freq) -> datetime: """获取 dt 对应的K线周期结束时间
例如:60分钟线仅能合成符合中国交易市场的时间,能否增加加密货币及其他市场的k线合成的支持