hxx_future 发表于 2015-9-28 12:34:15

如何保持Q_函数的值,是否可以保存到全局变量里面?

本帖最后由 hxx_future 于 2015-9-28 12:35 编辑

我想把q函数的值存起来,例如q_avgpricve的值,然后在一定的时间之后开始计算。
案例代码:
if(time =0.1010 )  //10点10分把q_avgpricve值存在第0个全局变量中
     setglobal(0)=q_avgpricve;

if(time =0.1011 )
       setglobal(2)=q_avgpricve;  //10点11把q_avgpricve的值存在第1个全局变量中

if(time =0.1100 )、
      这里到达11点的时候开始计算前面的两个全局变量的值。


现在遇到的问题是,在10点10分的时候会发生多次tick,导致第0个全局变量经常被q_avgpricve的值覆盖重写,如何让在10点10分只写一个值给全局变量0,然后在10点11分也只写一个q_avgpricve的值到第1个全局变量中??

小米 发表于 2015-9-28 14:23:51

if( getglobalvar(0)==invalidnumeric && time==0.1010)
{
     setglobalvar(0,q_avgprice);
}
if( getglovalvar(0)== invalidenumeric && time==0.1011)
{
     setglobalvar(0,q_avgprice);
}
......建议先看一下TB公式指南以及F1的帮助文档,了解各函数的用法。

SuiBoZhuLang 发表于 2015-10-25 22:15:44

小米 发表于 2015-9-28 14:23 static/image/common/back.gif
建议先看一下TB公式指南以及F1的帮助文档,了解各函数的用法。

请问:getglobalvar(0)==invalidnumeric这个是什么意思?第一个全局变量等于无效值吗?如果是这个意思,那第一个全局变量是q_avgpricve的值,这个条件怎么可能成立呢?
帮助文档说 setglobalvar返回的是布尔值,不是因应该是数值型吗?

小米 发表于 2015-10-26 09:21:50

SuiBoZhuLang 发表于 2015-10-25 22:15 static/image/common/back.gif
请问:getglobalvar(0)==invalidnumeric这个是什么意思?第一个全局变量等于无效值吗?如果是这个意思, ...

不好意思,我上面给的代码有误。
第二句10:11时的记录应该是给1号全局变量的,我仍写成了0号全局变量。
getglovbalvar(0)== invalidnumeric是指当0号全局变量为无效值时,即从没有赋过值时。此时若时间为10:10则给予赋值 。第一次赋值后,该值就不再等于无效值了,自然就会再有任何情况下对该变量进行赋值了。

该函数的类型是布尔,没有错的。

SuiBoZhuLang 发表于 2015-10-26 13:05:21

小米 发表于 2015-10-26 09:21 static/image/common/back.gif
不好意思,我上面给的代码有误。
第二句10:11时的记录应该是给1号全局变量的,我仍写成了0号全局变量。
...

明白了,谢谢!:)
页: [1]
查看完整版本: 如何保持Q_函数的值,是否可以保存到全局变量里面?