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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [求助]用VARIABLE定义的变量和直接赋值定义的变量有何不同?

   

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


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

主题:[求助]用VARIABLE定义的变量和直接赋值定义的变量有何不同?

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


加好友 发短信
等级:论坛游侠 帖子:514 积分:2695 威望:0 精华:0 注册:2011/3/4 18:24:01
  发帖心情 Post By:2012/10/18 14:52:06 [只看该作者]

回7楼的例子,你m变量没写对,强行修改了第4行的计算结果。
如果是这样,你看看结果:
variable:n=0;
if barpos=1 then m:=0;
if c>o then n:=n+1;
if c>o then m:=M+1;
n1:n,NOAXIS;
m1:m,NOAXIS;

m1 跟 n1 就没区别了。

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/10/18 15:02:25 [只看该作者]

讨论的是VARIABLE:N=0;和直接N:=0;的区别,你加句IF BARPOS=1为何?

加不加VARIABLE来定义变量用我的公式去理解,区别已经很明显了。



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:514 积分:2695 威望:0 精华:0 注册:2011/3/4 18:24:01
  发帖心情 Post By:2012/10/18 15:13:03 [只看该作者]

回楼上,你为什么要加n:=0呢?是因为后面要使用n变量,而前面没有,所以编译通不过,必须要加n:=0

但是,你直接加n:=0干扰了后面的运算结果。

也就是说,后面运算结果本来是对的,但是你非要在每周期都把它重新修改为错误值,当然导致运算错误。

你加入n:=0必须以不干扰后面运行结果为准则。

你说是吧。

我们讨论的不是VARIABLE:N=0;和直接N:=0;的区别,而是有VARIABLE,跟没有VARIABLE,变量值在下一周期里是否重置的问题。
因为教程里说普通变量每周期都会重置,而事实上不会重置。

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


加好友 发短信
等级:论坛游侠 帖子:514 积分:2695 威望:0 精华:0 注册:2011/3/4 18:24:01
  发帖心情 Post By:2012/10/18 15:15:50 [只看该作者]

以下是引用every在2012-10-18 14:41:19的发言:

variable 为全局变量申明语句,一般用在逐周期计算模式。因为variable变量在序列模式与普通的变量是没有区别的。

 

你看到的,没有区别,就是因为是在序列模式下看的.

 

逐周期和序列的区别,请参考该页

http://www.weistock.com/runmode.htm

 

逐周期模式下,在每根K线上,代码都会从头到尾重新执行一次; 

         Variable型的全局变量,只会在一开始的时候初始化一次随后的每个周期,会根据具体条件对此全局变量赋予不同的值,从而可以让编程者根据其返回值再行判断和利用.

         全局变量maxprofit,只在第1根的K线上初始化为0,

                              在BARPOS = 2的K线上(第2根K线上),重新赋值为10,且此后的K线上为10

                              在BARPOS = 10的K线上(第10根K线上),重新赋值为30,且此后的K线上为30

        

         普通变量n则不是,执行每根K线,都会先赋值为0

                              在BARPOS = 2的K线上(第2根K线上),先赋值为0,在赋值为2

                              在BARPOS = 10的K线上(第10根K线上),先赋值为0,在赋值为10

                              在其它K线上,都是赋值为0

 

如果还不明白,就出去走动走动换换心情,自己用K线再看看理解理解

[此贴子已经被作者于2012-10-18 14:42:00编辑过]


 普通变量n则不是,执行每根K线,都会先赋值为0“

很明显,你的理解也是错的,跟我之前一样。这是教程的误导。

[此贴子已经被作者于2012-10-18 15:16:14编辑过]

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/10/18 15:18:33 [只看该作者]

查看此帖楼主发言,再结合我公式,能看出用不用VARIABLE的区别了吗?



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:514 积分:2695 威望:0 精华:0 注册:2011/3/4 18:24:01
  发帖心情 Post By:2012/10/18 15:22:47 [只看该作者]

我原帖是这个 : http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=29922

可是你们说要到这里来求解。

我明显看出这个贴跟我那贴没关系,可是那贴你们又不回答了,只能跑来这里。


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


加好友 发短信
等级:论坛游侠 帖子:514 积分:2695 威望:0 精华:0 注册:2011/3/4 18:24:01
  发帖心情 Post By:2012/10/18 15:23:29 [只看该作者]

好了,累了,就算我没问过吧,辛苦你了,金泽,谢谢!

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/10/18 15:38:36 [只看该作者]

由于你在很多地方都有发言,故放在一个帖子里面回复方便交流。

 

我的公式可以解释用不用VARIABLE定义变量的区别。一个是每根k线赋值;一个是第一根k线赋值,后面k线按照前面周期k线的值计算

有些公式用不用variable定义变量能够得出一样的值,但是并不能说明VARIABLE是无效的!只不过是通过计算后得出的相同的值

 

就以你的公式为例:

n:=0;这个是定义变量n,每根k线上的值为0;

if barpos=1 then n:=0;这个仅仅定义第一根k线的N为0,后面的并没有定义;而用n:=0就不一样的了,这个就是全部定义为0了。



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2012/10/18 16:00:26 [只看该作者]

楼主请看一下这里的解释



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:39 积分:215 威望:0 精华:0 注册:2012/9/18 18:02:08
  发帖心情 Post By:2012/11/27 21:11:33 [只看该作者]

  你们的功力都很深,讨论的问题很关键,

 回到顶部
总数 41 上一页 1 2 3 4 5 下一页