以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  [求助]高频程序化的轮询  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=165781)

--  作者:zjw888
--  发布时间:2018/10/8 15:42:25
--  [求助]高频程序化的轮询
图表程序化,高频模式,使用全局变量A(variable定义,初始化为0)

高频,我的理解是只要品种有新的成交单,程序就会执行一遍,假设这样一种场景,刚开始执行代码,将A改为了1,可能这代码还没执行完,又有新的成交单,又要执行代码,此时读取A会是0还是1?谢谢

--  作者:FireScript
--  发布时间:2018/10/8 15:48:17
--  
 1.没执行完的代码肯定要执行完,不可能因为新的分笔来了,就不执行完。
2.如果因为代码量等原因导致来不及计算,在最近一次公式执行完毕之后会只取最新行情进行公式运算。

所以A的值依赖于最新行情计算结果或者是最近一次(本次计算尚未执行到给A赋值的代码)计算的值的结果。

--  作者:zjw888
--  发布时间:2018/10/8 16:00:02
--  
我意思是第一次已经给A赋值为1了,然后代码还没执行完,再次从头执行代码,读取A值,是1?
--  作者:无为剑
--  发布时间:2018/10/8 16:10:22
--  
不可能存在还未执行完的情况存在
--  作者:banzhuan
--  发布时间:2018/10/8 16:12:42
--  
假设有3个分笔,运行策略时间需要2个分笔的时间:
第一个分笔运行策略未结束,第二个分笔来了,那么第二个分笔就不会参与计算,待第一个分笔运行计算完成后,再去计算第三个分笔的

--  作者:zjw888
--  发布时间:2018/10/8 16:24:14
--  
也就是第一笔未结束,第二笔直接跳过不处理,等第一笔触发的代码结束了然后第三笔来了再执行,是这个意思吧?
--  作者:无为剑
--  发布时间:2018/10/8 16:27:17
--  
是第2个分笔数据过来后若第一笔未计算完,等待第一笔刷新完,然后再去刷新第二笔。
若第三笔数据过来后第一笔还未计算完才会跳过第2笔,后面依次类推

--  作者:zjw888
--  发布时间:2018/10/8 16:30:40
--  
好的,谢谢了