日K模式,
下单的K在print中是12月4日0点, 这个可以理解,K线没有告诉我们这个K是从12月3日21点开始的.
但是后面的”模拟交易下单时间”和”模拟成交记录”时间都是12月2日18:00,能理解是上个K的结束时间,
但是这个不太好吧, 看起来别扭. 后面分析的时候会要单独处理,如果碰到隔了周六日的就麻烦.
能改成直接在显示为当前下单时的K时间吗
from tqsdk import TqApi,TqSim,TqBacktest,TargetPosTask,tafunc,BacktestFinished import datetime as dt backtest = TqBacktest(start_dt=dt.date(2019, 12, 3), end_dt=dt.date(2019, 12, 4)) api = TqApi(TqSim(100000),backtest=backtest,web_gui=True) sym = "SHFE.rb2005" klines = api.get_kline_serial(sym, 24*60*60) target_pos = TargetPosTask(api, sym, price='ACTIVE', offset_priority='昨今开') position = api.get_position(sym) try: while True: api.wait_update() if api.is_changing(klines.iloc[-1], "datetime"): if position.pos == 0: k1 = klines.iloc[-1] print('>>>空 ', tafunc.time_to_datetime(k1.datetime), ' ', k1.close) api.insert_order(symbol=sym, direction="SELL", offset="OPEN", volume=1, limit_price=k1.close) except BacktestFinished: api.close()