欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 数据获取问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有7019人关注过本帖树形打印复制链接

主题:数据获取问题

帅哥哟,离线,有人找我吗?
FexTel
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2021/5/21 10:38:32 [只看该作者]

问题核心还是您这边判断K线走完的部分

 

history_bars的参数include_now=False,若返回的field里datetime变了,则看作是新的完整K线

 

//datetime不同的计算机或者金字塔接收到的行情速度因为网络或其它问题会有差异,同一台计算机及时接收到的行情是一致的,但是因为不同的计算量,可能一个块一个慢就会导致

  

  市面上的终端都会有这个问题的,你判断信号的以后可以考虑用新K的open、high这种比较固定的价格。实际信号差异也在1个tick差异内吧



金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
hrrr
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2021/2/24 11:38:50
  发帖心情 Post By:2021/5/21 10:41:42 [只看该作者]

我们并没有用get_dynainf,一直都是用history_bars
现在的问题是,例如在9:15,用history_bars获取的9:00-9:15的完整K线;与在9:30,获取的9:00-9:15的完整K线,这两个K线的数据有时候是不一样的。并且有时和图表都不一样。

 回到顶部
帅哥哟,离线,有人找我吗?
hrrr
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2021/2/24 11:38:50
  发帖心情 Post By:2021/5/21 10:45:01 [只看该作者]

而且也不仅仅是收盘价,开盘价也有这个问题,最高价最低价太多了我还没有对比,可以看我之前发的图。

 回到顶部
帅哥哟,离线,有人找我吗?
hrrr
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2021/2/24 11:38:50
  发帖心情 Post By:2021/5/21 10:52:41 [只看该作者]

并且我们history_bars的参数include_now=False,我们调用这个api,就是要拿完整的K线。
现在你说我们即使设了include_now=False,拿到的也不一定是完整的K线,有可能会有一些tick的误差,我觉得这个是无法接受的!
也就是说你们判断完整K线的逻辑有问题,不同时候判断的完整K线是有可能不一样的。这是你们这个系统的漏洞!

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/5/21 11:13:42 [只看该作者]

from PythonApi import *
import pandas as pd

#  在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现)
def init(context):
    context.df = pd.DataFrame(columns=['code', 'datetime', 'open', 'close', 'dynainf_close','dynainf_time'])
# before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现)
def before_trading(context):
    pass                                                                            
# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):
    code = 'if00'
    price = history_bars(order_book_id=code,bar_count=1,frequency='1m',fields=['datetime','open','close'],include_now=True)
    context.df = context.df.append({'code':code,'datetime':price[0][0],'open':price[0][1],'close':price[0][2],'dynainf_close':get_dynainf(code,7),'dynainf_time':get_dynainf(code,207)},ignore_index=True)
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次。 --(选择实现)
def after_trading(context):
    pass

# exit函数会在测评结束或者停止策略运行时会被调用。---(选择实现)
def exit(context):
    print('over')
    context.df.to_csv('text.csv')

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/5/21 11:15:37 [只看该作者]

你这样用固定轮询去执行,不要用你自己得代码实现得走完k模式去执行,然后把价格和用实时获取最新价和时间得都记录了

然后会存到你软件根目录下text这个文件,然后你去看两个文件,去看同一个dynainf_time这个是行情最新时间时候,价格是多少

另外再工具-行情链接服务器这里,底下的双路数据勾去掉不要使用双路数据


然后两个软件输出的csv文件上传论坛,我们看下


另外handle_bar触发的走完k是你策略选择的基准合约而不是你代码里使用的品种,这点不知道你是否知晓,你运行if那么基准也要选if
[此贴子已经被作者于2021/5/21 11:25:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hrrr
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2021/2/24 11:38:50
  发帖心情 Post By:2021/5/21 14:44:50 [只看该作者]

另外再工具-行情链接服务器这里,底下的双路数据勾去掉不要使用双路数据

麻烦你截个图,没找到在哪里改。另外,双路数据是什么功能?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/21 15:19:08 [只看该作者]

 双路数据在这里:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

http://www.weistock.com/bbs/dispbbs.asp?BoardID=2&ID=55126

看下这里的第十条。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
hrrr
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2021/2/24 11:38:50
  发帖心情 Post By:2021/5/24 10:59:40 [只看该作者]

我们已经开始跑你给的代码。但是我们不明白的是这段代码和我们遇到的问题有什么联系?还请解释一下。

我们现在遇到的问题,是在不同时刻获取的同一条历史完整K线的数据是不一样的,不一样的情况存在于:
1. 两个金字塔之间;
2. 同一个金字塔不同时刻之间;
3. 以及获取的K线数据和图表之间。

然而你的这段代码,记录的是每个时刻的当前不完整K线的数据。

 回到顶部
帅哥哟,离线,有人找我吗?
gxx978
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2021/5/24 15:07:31 [只看该作者]

可以加工作人员QQ:2857926939,沟通会方便一些。

 回到顶部
总数 47 上一页 1 2 3 4 5 下一页