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编辑过]
无法理解,虽然学了一些VBA,但是对金字塔的这些基础的编写规则给绕晕了。
[此贴子已经被作者于2014/5/14 14:46:09编辑过]
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这字符型数据的数字意义
但是这样就怪了,公式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为计算参数,这是为什么?
是我自己错了。。。
[此贴子已经被作者于2014/5/14 15:21:48编辑过]
意思是你不转成字符型直接把数字型数据写进&m&里面了