3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,使用 get_history 函数获取历史 K 线数据时,include 参数用于控制是否包含当前正在进行的、尚未结束的 K 线周期。默认情况下,include=False。
当您获取五分钟线(frequency='5m')时,include=True 和 include=False 的具体区别如下:
include=False,get_history 返回的最新一根 K 线将是 09:55-10:00 这一根完整的 K 线。include=True,get_history 返回的最新一根 K 线将是 10:00-10:05 这一根。close(收盘价)实际上是 10:03 这一刻的最新价,high、low、volume 也是截至 10:03 的数据。随着时间推移到 10:04、10:05,这根 K 线的数据还会继续变化,直到 10:05 才最终定型。def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 假设当前时间是 10:03
# 1. include=False (默认)
# 获取过去 5 根已经走完的 5 分钟线
hist_false = get_history(5, '5m', 'close', g.security, include=False)
# hist_false 的最后一条数据时间戳是 10:00
# 2. include=True
# 获取包含当前未走完周期的 5 根 5 分钟线
hist_true = get_history(5, '5m', 'close', g.security, include=True)
# hist_true 的最后一条数据时间戳是 10:05(代表 10:00-10:05 这个周期),其 close 值为 10:03 的最新价
include=False,这样可以保证回测和实盘信号的一致性。include=True 获取包含最新价的 K 线,但需注意处理好信号可能反复闪烁的问题。