以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 关于变量的问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=64992) |
-- 作者:追逐趋势 -- 发布时间:2014/5/14 14:43:23 -- 关于变量的问题 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编辑过]
|
-- 作者:追逐趋势 -- 发布时间:2014/5/14 14:44:37 -- 无法理解,虽然学了一些VBA,但是对金字塔的这些基础的编写规则给绕晕了。 [此贴子已经被作者于2014/5/14 14:46:09编辑过]
|
-- 作者:jinzhe -- 发布时间:2014/5/14 14:55:05 -- 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这字符型数据的数字意义
|
-- 作者:追逐趋势 -- 发布时间:2014/5/14 15:19:04 -- 但是这样就怪了, 公式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:24 -- 是我自己错了。。。 [此贴子已经被作者于2014/5/14 15:21:48编辑过]
|
-- 作者:jinzhe -- 发布时间:2014/5/14 15:22:33 -- 意思是你不转成字符型直接把数字型数据写进&m&里面了 |