掘金社区

context对象 data()方法返回值问题Pinned highlighted

一辈子的事儿 发表在问题反馈 2020-04-29 16:33:10

问题反馈
205
2
0

根据 API的“时间序列数据事件驱动”代码和 context.data( ) 方法,改变频率后,返回的值与预期不同,不是滑窗的形式

# coding=utf-8`
from gm.api import *

from datetime import datetime
import random


def init(context):
    subscribe(symbols='SHFE.rb2010, SHFE.bu2010',
frequency='300s', count=5)

def on_bar(context, bars):
    print(context.data(symbol='SHFE.rb2010', frequency='300s',
count=5, fields='close, eob')) 

if __name__ == '__main__':
    run(strategy_id='********',
        filename='main.py',
        mode=MODE_BACKTEST,
        token='********',
        backtest_start_time='2020-04-28 09:00:00',
        backtest_end_time='2020-04-28 11:30:00')

我分别试了4月27号,28号,29号的,有重复的数据
1_1588148564273_异常2.PNG

2_1588148564274_异常3.PNG

0_1588148564272_异常.PNG

评论: 2
  • 0_1588226058989_bf27cb77-5e98-4a8e-a669-4e03d4ac0c3e-image.png wait_group参数默认是False, 订阅多个标的, 会一个个返回, 策略订阅了'SHFE.rb2010, SHFE.bu2010', 所以同一时间会调用两次on_bar

    2020-04-30 13:55:13
  • @技术支持1 谢谢,改了之后确实好了
    但还有一个问题,还是按照之前的代码的话,为什么有时候会调用3次,昨天我试的时候有时候还会出现四次重复数据,是因为网络问题吗
    1_1588229835680_异常5.PNG

    0_1588229835648_异常4.PNG

    2020-04-30 15:00:57

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.