设为首页收藏本站

 找回密码
 注册
查看: 1389|回复: 3
打印 上一主题 下一主题

关于参数传递的问题 [复制链接]

Rank: 1

精华
0
UID
223983
积分
29
帖子
17
主题
12
阅读权限
10
注册时间
2015-11-27
最后登录
2024-5-8
跳转到指定楼层
1#
发表于 2015-12-25 09:55:47 |只看该作者 |倒序浏览

Params
        Numeric N(10);
Vars
        Numeric Price;     
        Numeric Price1;  
        Numeric AvgVal;     
Begin
        Price = Close;                                    //关键价格
       
        AvgVal = Average(Price,N);   
        Price1=Average(Close,N);
       
        PlotNumeric("AvgVal",AvgVal);
        PlotNumeric("Price1",Price1,0,red);

End


上面画出的两条线是一样的,为什么啊
close好理解本身就是序列变量,但是Price是简单变量啊,它在计算average函数的时候如何回溯呢,不能被回溯的啊。还有这两种调用方法哪种更适合呢。

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2015-12-25 10:32:48 |只看该作者
average的第一个参数里,price的值与close的值一样,第二个参数都是N。
二个参数都 一样,计算结果自然相同。
price虽声明的是简单变量,但是给其赋的值是close,也是第一个bar都会存在的值 ,是可以满足计算需求了。
如果你要计算average(price[1],N)时,price就一定要声明为numericseries了。。

使用道具 举报

Rank: 1

精华
0
UID
223983
积分
29
帖子
17
主题
12
阅读权限
10
注册时间
2015-11-27
最后登录
2024-5-8
3#
发表于 2015-12-25 11:58:14 |只看该作者
小米 发表于 2015-12-25 10:32
average的第一个参数里,price的值与close的值一样,第二个参数都是N。
二个参数都 一样,计算结果自然相同 ...

谢谢小米版主的回答。
我还是找到答案了,主要还是tb的传参机制不同造成的,对于java之类编程语言来说有很大不同。公式指导书里面也是一笔带过。

另外小米版主能否提供些tb语言与其他语言不同机制的介绍呢。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2015-12-25 14:23:17 |只看该作者
netbread 发表于 2015-12-25 11:58
谢谢小米版主的回答。
我还是找到答案了,主要还是tb的传参机制不同造成的,对于java之类编程语言来说有 ...

抱歉啊。。
不太懂其它语言的机制分别是什么样的,所以也没法就相互之间的不同做对比与介绍。
可能需要交易者多看TB帮助文档,以慢慢了解TB语言呢。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-25 06:02

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部