金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5016|回复: 17

调用数据问题

[复制链接]

30

主题

88

帖子

88

积分

等级: 免费版

注册:
2021-12-26
曾用名:
发表于 2022-3-22 08:51 | 显示全部楼层 |阅读模式


调用太多数据导致多窗口运行时  开启持仓同步后才 卡顿问题。
在1分钟周期运行
1.   日DK5:=STKINDI('','DK68.DKX5',0,6,-1); 这个是不是调用全部历史周期?
2.   日DK5:=STKINDIEX('','DK68.DKX5',0,6,-1,100); 这个100  是指调用100个1分钟周期或者还是调用日周期 100 个?


请问,2条公式不同之处?在不需要回测数据时。还有其他的方法  取到上面的值吗?#.#模式调用这么又上怎么样的?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-3-22 09:03 | 显示全部楼层
1.不是调用全部历史。日线的话有一个最小值 大概400左右吧,上限则取决于你当前周期的时间跨度了。跨度越大自然会自适应调用更多数据。
2.100个日线

没啥大的区别,只有需要限制数据量的时候 才能体现出区别。其他调用方式 :引用操作符,其实都差不多,区别不大。根本还是你可能写的调用语句太多了。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

88

帖子

88

积分

等级: 免费版

注册:
2021-12-26
曾用名:
 楼主| 发表于 2022-3-22 09:23 | 显示全部楼层
不做回测,在1分钟周期运行,应该调用多少个日周期才合理?那不是指调用1个日周期就可以了?
回复

使用道具 举报

30

主题

88

帖子

88

积分

等级: 免费版

注册:
2021-12-26
曾用名:
 楼主| 发表于 2022-3-22 09:28 | 显示全部楼层
点击 手工同步 仓位时或者 开启 持仓同步 , 卡顿几十秒 后又 正常   ,请问 运行当时了什么,
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-3-22 09:32 | 显示全部楼层
数据量多少才合理,这是根据指标来的。你要计算一个10日均线,你只用一个日线数据,这肯定不行的啊。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

88

帖子

88

积分

等级: 免费版

注册:
2021-12-26
曾用名:
 楼主| 发表于 2022-3-22 12:03 | 显示全部楼层
对于调用前一个周期的数据,用自定义数据 生成 然后调用。不需要重复运行,效果会好很多对吧, 我再想了解一下我运行多窗口策略时是没问题的。 但是开启了 同步持仓 后 就会出现卡顿 系统再读取什么的。大概几十秒后又正常了。。等一会又重复。 请问持仓同步 运行机制怎么样的? 固定时间运算一次窗口的每个策略一次吗?
回复

使用道具 举报

30

主题

88

帖子

88

积分

等级: 免费版

注册:
2021-12-26
曾用名:
 楼主| 发表于 2022-3-22 12:10 | 显示全部楼层
昨收C:=CALLSTOCK('',VTCLOSE,6,-1);
波动:ROUND (STKINDI('','DK68.波动幅度平均',0,6,0));
幅度:STKINDI('','趋势ZHIBIAO.QYS',0,6,0);
3DKX601:=STKINDI('','DK68.DKX60',0,17,-1);
3DKX602:=STKINDI('','DK68.DKX60',0,17,-2);
15DKX201:=STKINDI('','DK68.DKX20',0,3,-1);
15DKX202:=STKINDI('','DK68.DKX20',0,3,-2);
15DKX203:=STKINDI('','DK68.DKX20',0,3,-3);
60DKX201:=STKINDI('','DK68.DKX20',0,5,-1);
60DKX202:=STKINDI('','DK68.DKX20',0,5,-2);
60DKX203:=STKINDI('','DK68.DKX20',0,5,-3);
日DKX601:=STKINDI('','DK68.DKX60',0,6,-1);
日DKX602:=STKINDI('','DK68.DKX60',0,6,-2);
日DKX51:=STKINDI('','DK68.DKX5',0,6,-1);
日DKX52:=STKINDI('','DK68.DKX5',0,6,-2);
日DKX101:=STKINDI('','DK68.DKX10',0,6,-1);
日DKX102:=STKINDI('','DK68.DKX10',0,6,-2);
日DKX201:=STKINDI('','DK68.DKX20',0,6,-1);
日DKX202:=STKINDI('','DK68.DKX20',0,6,-2);
日DKX203:=STKINDI('','DK68.DKX20',0,6,-3);

请问这些调用算多吗
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-3-22 13:24 | 显示全部楼层
本帖最后由 技术009 于 2022-3-22 13:25 编辑

一个策略十几个。多窗口,你这个大概率会卡的。
你自己看下运行时候内存和CPU占用情况。


日DKX201:=STKINDI('','DK68.DKX20',0,6,-1);
日DKX202:=STKINDI('','DK68.DKX20',0,6,-2);
日DKX203:=STKINDI('','DK68.DKX20',0,6,-3);
你这种 如果这几个变量调用过来后是要在一起参与运算的。你就应该直接合并成一个调用。

比如是判断大小关系。那完全可以在原策略里,直接判断 ref(DKX20,1)  ref(DKX20,2)  ref(DKX20,3)  他们之间的大小关系。前面几个调用类似。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-3-22 13:27 | 显示全部楼层
“系统再读取什么的”这个提示内容是什么呢?你触发时候截图下,或者记录下文字 我们看下是什么情况。

不过你先按照上面方式尝试优化下调用。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

88

帖子

88

积分

等级: 免费版

注册:
2021-12-26
曾用名:
 楼主| 发表于 2022-3-22 13:27 | 显示全部楼层
我电脑正32核 64G内存  运行24个窗口正常,CPU使用率 17%左右,内存6% 但是开了同步仓位就停顿
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-5-25 23:32 , Processed in 0.157646 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表