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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于变量的问题

   

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


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

主题:关于变量的问题

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


加好友 发短信
等级:论坛游民 帖子:121 积分:0 威望:0 精华:0 注册:2014/5/13 16:47:07
关于变量的问题  发帖心情 Post By:2014/5/14 14:43:23    Post IP:221.3.36.253[只看该作者]

s:5;
m:=NUMTOSTR(s,0);//NUMTOSTR 凼数将数字转换刡字符串,再带入发量中
vola:stkindi('if10','ATR.ATR('&m&')',0,6,-1);
//-----计算 if10 日线癿上一周期 ATR 挃标 ATR 挃标线数据,计算参数为 5。

上面这段话是初级教程里写的,

我有个疑问,S:5;为什么需要用NUMTOSTR转换为字符串才能带入变量?
是不是金字塔中的所有数字变量,多需要用NUMTOSTR转换为字符串才能使用?
既然M已经是变量,为什么还需要用连接符才能在vola:stkindi('if10','ATR.ATR('&m&')',0,6,-1);使用?
用连接符的意思不就是把英文字母M来做为计算参数吗,怎么又是变成用5来计算了。



既然金字塔上介绍说是跟VBA语法类似,像VBA里面,类似的语法直接写:
dim s%,
s=5
vola:stkindi('if10','ATR.ATR(s)',0,6,-1);
不就行了?

为何还要绕一个大圈???




[此贴子已经被作者于2014/5/14 14:45:03编辑过]

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


加好友 发短信
等级:论坛游民 帖子:121 积分:0 威望:0 精华:0 注册:2014/5/13 16:47:07
  发帖心情 Post By:2014/5/14 14:44:37    Post IP:221.3.36.253[只看该作者]

无法理解,虽然学了一些VBA,但是对金字塔的这些基础的编写规则给绕晕了。

[此贴子已经被作者于2014/5/14 14:46:09编辑过]

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/5/14 14:55:05    Post IP:58.246.57.26[只看该作者]

s:5;
m:=NUMTOSTR(s,0);
vola:stkindi('if10','ATR.ATR('&m&')',0,6,-1);
 
vvv:stkindi('if10','atr.atr(5)',0,6,-1);
 
上下两种方式一样,但是下面的写法可以直接写进数字,
下面是用变量的方式进行参数的计算,而这里的这样写的原因是或者M这字符型数据的数字意义


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:121 积分:0 威望:0 精华:0 注册:2014/5/13 16:47:07
  发帖心情 Post By:2014/5/14 15:19:04    Post IP:221.3.36.253[只看该作者]

但是这样就怪了,
公式1:n2:=80;

ma2:ma(close,n2)


公式2:s:=80;
vola:stkindi('if00','myma.ma2(s)',0,6,0);

这两个公式没用NUMTOSTR得出来的结果是一样的,那么公式2是对的,

而公式2中的S并不需要NUMTOSTR转换为字符串就可以正常使用,

但在下面这个公式里,
s:=5;
m:=NUMTOSTR(s,0)
vola:stkindi('if00','ATR.ATR('&m&')',0,6,-1);
为什么这个却需要用NUMTOSTR转换为字符串才能用呢?

直接按照公式2那样写却变成了以1为计算参数,这是为什么?

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


加好友 发短信
等级:论坛游民 帖子:121 积分:0 威望:0 精华:0 注册:2014/5/13 16:47:07
  发帖心情 Post By:2014/5/14 15:21:24    Post IP:221.3.36.253[只看该作者]

是我自己错了。。。
[此贴子已经被作者于2014/5/14 15:21:48编辑过]

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


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

意思是你不转成字符型直接把数字型数据写进&m&里面了


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

客户服务部

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

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

 回到顶部