以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  为什么序列模式下,自定义函数也会不停的去计算呢?  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=51874)

--  作者:ljact
--  发布时间:2013/5/10 15:01:56
--  为什么序列模式下,自定义函数也会不停的去计算呢?

我在序列模式下,自定义了一个函数,VBS里面只有一个MSGbox,结果发现会不停的弹出来。即使周期是日周期。

序列模式不是只计算一遍的吗?为什么会不停的弹出来?


--  作者:王锋
--  发布时间:2013/5/10 16:14:40
--  
只要有行情TICK数据过来,还是要去重新刷新计算的
--  作者:ljact
--  发布时间:2013/5/10 21:12:24
--  

有无办法不去重新刷数据?


--  作者:王锋
--  发布时间:2013/5/10 22:56:29
--  
你这事啥要求啊,不想刷新就把行情停掉不就行了
--  作者:ljact
--  发布时间:2013/5/12 11:07:46
--  

因为我要去连数据库,通过VBA调用数据库来实现一个非行情交易类的选股策略。

通过金字塔来实现,是因为可以省调界面展示开发和利用选股模块。

断掉行情的确可以解决刷新问题,但我切换代码时,技术分析页就没有行情走势了,无法印证我的非行情类指标的有效性。

 

我还有另一个策略,是需要行情来配合,又需要连数据库的,但不想通过PEL来实现数据库调用。(未购买专业版是一个原因,但不是全部。我未来一定会购买的,我现在每天的交易佣金就数千元,佣金费率还是按机构来算的。目前还是处于练兵阶段,等我做足准备,就会按正常的程序化交易来进行。)

 


--  作者:王锋
--  发布时间:2013/5/12 18:00:00
--  

你可以考虑在VBS外部建立一个全局变量做标记

 

DIM g_Fign

g_Fign = 0

 

Function YourTest ....

   If g_Fign = 1 Then

      Exit Function

   End if

 

  g_Fign = 1

 

End Function

 

运行一遍后做了标记后,下次刷新就直接从函数中退出了


--  作者:ljact
--  发布时间:2013/5/12 19:09:29
--  

有道理,非常感谢!

 

在测试公式当中,发现一个问题,用PLSQL取数据,只要3秒钟就能取出来,也就十条记录。然后用VBS连SQL取数据,同样取到这十条记录,并根据K线日期去匹配这十条记录,然后分别赋值给日期匹配的K线。

整个过程要1分钟之多。

 

理论上最耗时的是访问数据库,但被证明是时间只要3秒,为何整个过程会这么耗时?匹配记录也只是简单的日期匹配而已。


--  作者:王锋
--  发布时间:2013/5/12 21:12:14
--  

金字塔用的是ADO,数据库的连接和读取花的时间都要比你直接在数据库操作更加耗时的


--  作者:ljact
--  发布时间:2013/5/12 23:28:30
--  

这个有无办法缩短时间?例如我想用一台机器去读行情,生成中间数据,写入第二台机器本地数据库,第二台机器再从中间数据库中取数据,判断后进行下单操作。

 


--  作者:王锋
--  发布时间:2013/5/13 10:02:29
--  
要看你的写入效率如何了,还有看你有多少品种的数据要写了