3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT 平台中使用 get_market_data 或 get_market_data_ex 函数获取历史行情数据时,period 参数必须严格按照官方 API 文档规定的字符串格式传入。
您在调用时传入了 period='1',这不是一个合法的周期参数。QMT 无法识别 '1' 代表的是 1分钟、1天还是其他周期,因此会抛出错误。正如您所测试的,传入 '1m'、'5m' 等合法参数时,函数就能正常工作。
period 参数取值列表根据 QMT 官方 API 文档,period 参数支持以下取值:
'tick':分笔线'1m':1分钟线'3m':3分钟线'5m':5分钟线'15m':15分钟线'30m':30分钟线'1h':小时线'1d':日线'1w':周线'1mon':月线'1q':季线'1hy':半年线'1y':年线如果您想获取 1分钟线 的数据,请将参数修改为 '1m';如果您想获取 日线 数据,请修改为 '1d'。
代码示例:
def init(ContextInfo):
ContextInfo.set_universe(['000001.SZ'])
def handlebar(ContextInfo):
# 获取 1分钟线 数据,正确传入 '1m'
df_1m = ContextInfo.get_market_data(['close'], stock_code=ContextInfo.get_universe(), period='1m', count=10)
print("1分钟线数据:\n", df_1m)
# 获取 日线 数据,正确传入 '1d'
df_1d = ContextInfo.get_market_data(['close'], stock_code=ContextInfo.get_universe(), period='1d', count=10)
print("日线数据:\n", df_1d)
温馨提示:
ContextInfo.get_market_data_ex 接口替代旧版的 get_market_data,以获得更好的性能和更丰富的数据结构返回。