3.61K 浏览
0

api = TqApi(backtest=TqBacktest(start_dt=date(2020, 3, 9), end_dt=date(2020, 3, 9)))
# 获得 m1901 5分钟K线的引用
klines = api.get_kline_serial("DCE.m2005", 30, data_length=2)
# 创建 m1901 的目标持仓 task,该 task 负责调整 m1901 的仓位到指定的目标仓位
target_pos = TargetPosTask(api, "DCE.m2005")
 while True:
    api.wait_update()
    if api.is_changing(klines.iloc[-1], "datetime"):
        #ma = sum(klines.close.iloc[-15:]) / 15
        print("K线时间",klines.datetime.iloc[-1],"开盘",klines.open.iloc[-1],"最高",klines.high.iloc[-1],"最低",klines.low.iloc[-1],"收盘",klines.close.iloc[-1])
       # print("收盘价", klines.open.iloc[0] )
        """
        if klines.close.iloc[-1] > ma:
            print("最新价大于MA: 目标多头5手")
            #设置目标持仓为多头5手
            #target_pos.set_target_volume(5)
        elif klines.close.iloc[-1] < ma:
            print("最新价小于MA: 目标空仓")
            # 设置目标持仓为空仓
            #target_pos.set_target_volume(0)
            """

K线时间 1.58373702e+18 开盘 2670.0 最高 2670.0 最低 2670.0 收盘 2670.0
K线时间 1.58373705e+18 开盘 2671.0 最高 2671.0 最低 2671.0 收盘 2671.0
K线时间 1.58373708e+18 开盘 2670.0 最高 2670.0 最低 2670.0 收盘 2670.0
K线时间 1.58373711e+18 开盘 2671.0 最高 2671.0 最低 2671.0 收盘 2671.0
K线时间 1.58373714e+18 开盘 2672.0 最高 2672.0 最低 2672.0 收盘 2672.0
K线时间 1.58373717e+18 开盘 2671.0 最高 2671.0 最低 2671.0 收盘 2671.0

ringo 已回答的问题 2020年3月10日
0

回测时,kline在生成和结束时各刷新一次,在第一次刷新时,所有数据为上一根kline的close

ringo 已回答的问题 2020年3月10日
您正在查看1个答案中的1个,单击此处查看所有答案。