以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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&里面了