设为首页收藏本站

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

请教:关于引用参数的疑问 [复制链接]

Rank: 1

精华
0
UID
180415
积分
30
帖子
19
主题
9
阅读权限
10
注册时间
2014-2-13
最后登录
2014-3-5
跳转到指定楼层
1#
发表于 2014-2-25 16:32:35 |只看该作者 |倒序浏览
  1. Params
  2.     NumericSeries   Price(0);
  3.     NumericRef      oHigher(0);
  4.     NumericRef      oLower(0);
  5. Vars
  6.     Numeric         Tmp(0);
  7. Begin
  8.     Tmp = Average(Price,10);
  9.     oHigher = IIf(Tmp > High,Tmp,High);
  10.     oLower = IIf(Tmp < Low,Tmp,Low);
  11.     Return Tmp;
  12. End
  13. 户函数MyFunc,以上代码通过两个数值型引用参数返回10个周期的Price平均值和最高价的较大值oHigher,以及10个周期的Price平均值和最低价的较小值oLower,并且通过函数返回值输出10个周期的Price平均值。在调用该用户函数的公式中,可以通过调用该函数获得3个计算返回值,示例如下:

  14. Vars
  15.     Numeric AvgValue;
  16.     Numeric        HigherValue;
  17.     Numeric LowerValue;
  18. Begin
  19.     AvgValue = MyFunc(Close,HigherValue,LowerValue);
  20.     ...
  21. End
复制代码
第一个MyFunc 返回三个参数:平均值,oHigher,oLower。所谓引用参数,是不是可以理解为,就是可以被引用的函数内部的中间变量oHigher,oLower的值,HigherValue LowerValue的值也是中间变量oHigher,oLower的值。这点倒真有意思,函数里MyFunc的括号内,既有输入参数,又有输出参数。不太和一般的函数定义相同。

Rank: 1

精华
0
UID
223759
积分
1
帖子
1
主题
0
阅读权限
10
注册时间
2015-11-24
最后登录
2015-12-23
2#
发表于 2015-12-23 13:02:54 |只看该作者
不是输出参数,是将HighValue和LowerValue的地址传递给oHigher和oLower,然后在MyFunc函数内直接修改HighValue和LowerValue的值

使用道具 举报

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

bottom

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

GMT+8, 2024-5-14 03:05

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部