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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 强烈建议增加公式的逐秒计算

   

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


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

主题:强烈建议增加公式的逐秒计算

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


加好友 发短信
等级:黑侠 帖子:753 积分:201 威望:0 精华:0 注册:2012/10/29 8:53:25
强烈建议增加公式的逐秒计算  发帖心情 Post By:2018/6/23 9:31:08 [只看该作者]

当前金字塔公式只有序列计算、逐K计算两种模式,已经无法满足用户的需求

主要的问题在于逐K计算,虽然逻辑上没有问题,但是效率上是短板,严重影响用户使用感受,出现计算机CPU占用持续过高导致卡顿的现象

具体问题如下

首先,逐K计算是每接受1笔数据,都在全部K线上重新计算一次公式,这样的计算处理方式在国内交易所的分笔发送方式(每秒2笔和每秒4笔)还不是很明显的拖慢计算机处理速度

但是长时间处理每秒4笔的品种的逐K公式计算,也会使计算机占用过高,变慢;逐K计算在处理每秒2笔的接受数据是游刃有余

但是外盘在每天的美盘和欧盘的成交时段中,会出现每秒20~30笔,在这种情况下逐K计算就严重计算不了那么快,经常出现金字塔的K线比实际行情晚了几十秒,

在另一个时间段,行情每秒上报分笔不是那么多,只有几笔的时候,公式计算一切又好像正常了,K线也能和实际行情保持一致了

一开始我不知道为什么会出现这种现象,经过反复对比,发现就是公式逐K计算的问题,在每秒几十笔数据的情况下,使得行情变慢、延迟、计算机卡顿,严重影响用户正常使用,

一般经过反复改进的公式都是在150行的代码左右,不是那种一二十行,一下就执行结束了,如果K线图加载300根K线执行150行的代码,每秒接受30笔就要执行30次,

你想想这是多么大的计算量,而且要求计算机在1秒内完成,而且这样的计算会持续很长时间,计算机能不卡吗?

逐K计算的这种方式可以给高性能的计算机智能高频交易使用,那没问题,都是大机构和高性能计算机程序化的需求,他们可以用逐K计算,但是一般性用户就没有这个必要

公式计算是为人服务的,每秒计算4次甚至几十次(每秒接收4笔甚至几十笔),人类根本无法感知这么快的公式计算结果变换,也没必要

在逐K计算,勾选仅刷最后一根K线,不能使用未来函数,未来函数在公式里面是需要使用的,用于行情分析,并非下单交易

我想了很久,解决如上问题的办法就是,希望能够提供逐秒计算,这个可以有几种选择,1s计算1次,0.5s计算1次,0.3s计算1次,这就可以满足大众的要求了,

或者是逐K和逐秒的混合模式,当前段时间内每秒分笔超过某个数值(例如3),自动切换为逐秒计算,当前段时间每秒分笔数值下降后,再自动切换为逐K计算

分笔数据仍然可以是每秒几十笔的实时上报,只是公式计算不需要计算你们多次了,公式计算不仅要得到正确的结果,更是为人服务的,如果人无法反应你们快,

那公式的计算有什么意义呢?

每秒多笔数据就像病毒一样攻击着每个交易者的计算机和计算公式,我们的公式计算策略不能一成不变,应该与时俱进才对

希望金字塔开发能考虑用户的强烈建议,打字累死了,都是肺腑之言







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


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2018/6/23 22:00:22 [只看该作者]

你的问题可以通过增大“延迟刷新”选项来达到你的目的。

另外,逐K线模式使用未来函数是我们非常不建议的做法,会带来严重的效率问题,建议你解决你的算法逻辑。如果你无法改变使用未来函数,那么你可以考虑将指标计算部分做成序列模式,然后在逐K线模式使用 #..#的用户函数模式引用序列指标,并勾选仅刷最后k线,以达到提高逐K线模式的运行效率


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


加好友 发短信
等级:黑侠 帖子:753 积分:201 威望:0 精华:0 注册:2012/10/29 8:53:25
  发帖心情 Post By:2018/6/24 0:16:11 [只看该作者]

1、延迟刷新在哪里,就是工具--选项--常规--盘中延迟刷新?我一直设置的都是1500毫秒,这个东西是干嘛用的,刷新的是动态显示牌还是K线图?

2、我看了逐K计算时刷新最后一根K线的说明介绍,这种模式只计算第一次,以后都只在最后一根K线计算公式吗?我觉得每次接收1笔数据只对最后一根K线作公式计算,这个是对的,

但是当最后1根K线结束后出现新K线的时候应该触发对所有K线重新再计算一次公式,但是说明中好像没写出现新K线时会重新对所有K线运行公式,不知实际上仅刷最后一根的模式是怎么处理的?

3、你说让我解决算法逻辑,我觉得如果不用未来函数都无法表达我的想法,请问可以给我介绍个高手吗?给我私信留个QQ号吧,我也算半个老手了,很多问题可以交流和请教一下

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


加好友 发短信
等级:黑侠 帖子:753 积分:201 威望:0 精华:0 注册:2012/10/29 8:53:25
  发帖心情 Post By:2018/6/24 0:38:41 [只看该作者]

4、在逐K线模式使用 #..#的用户函数模式引用序列指标,这个有没有例子,怎么弄,没搞过怎么办


我觉得写代码还是要有高手带才行,要不然很多好的想法无法用代码表达,这这方面希望金字塔能再更进一步,

这种代码的问题通过论坛发帖来问的话,时效性太慢,不能及时解决问题,希望能开通QQ或者电话咨询

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2018/6/25 9:38:38 [只看该作者]

1、就是您说的那个设置,延迟刷新就是延迟K线图的刷新,如果是公式计算运行缓慢,可以将该选项设置的高一些;
2、逐K线仅刷最后一根K的模式下,只在生成新K线的第一个分笔数据是从第一根K线开始一直计算到最后一根,后面当根K线上的分笔数据都只在最后一根K上进行计算;
3、策略相关的问题您都可以在论坛的公式策略区发帖求助的,会有这方面的技术人员给您解答的;
4、具体可以查看下函数说明:用法:#用户函数.指标线(参数)#  。 例如:#test01.B1(20,45)#,表示调用test01指标的B1输出线,参数为20和45
[此贴子已经被作者于2018/6/25 9:47:33编辑过]

 回到顶部