
等级: 新手上路
- 注册:
- 2022-5-7
- 曾用名:
|
各位技术老师好,我是想要实现“走完K线前1分钟”触发模式,遂写了以上代码,但是实现的时候发现与预期不符,不知道是哪里写的有问题,请老师们指教。
1、代码片段:
bars = history_bars(context.s1, 1, 'self', ['datetime','open','high','low','close'], True, False)
bar_time = context.now
cur_time = context.now
last_px = bars[0][4]
if context.run_info.run_type=='paper_trading':
# 如果是实盘,则用当前实际时间、当前最新价
tm = int(get_dynainf(context.s1, 207))
cur_time = datetime(bar_time.year, bar_time.month, bar_time.day, tm//10000, tm%10000//100, tm%100)
last_px = get_dynainf(context.s1, 7)
is_last_minute_in_bar = (bar_time - cur_time <= timedelta(minutes=1))
# 根据is_last_minute_in_bar 的布尔值进行分情况处理,着重处理在当前K线最后1分钟的情况
......
2、实盘现象:
基础周期1小时,大商所铁矿主力,14:47:19 就触发了计算(is_last_minute_in_bar为True),本来预期是14:59:00触发计算的。
补充内容 (2022-5-7 11:45):
14:47:18 启动的策略 |
|