开拓者期货期权程序化系统交易论坛

标题: 函数编写的问题 [打印本页]

作者: YLBZ    时间: 2013-1-4 15:12:36     标题: 函数编写的问题

请问版主,编写一个函数和编写公式有什么区别?要注意哪些地方?
作者: 冬雨    时间: 2013-1-6 10:07:07

我不是版主,算是抛砖引玉吧:
一、相同点
1、都有相同的结构,如都有参数、变量、主体(即Begin......End,但TB没有介绍,姑且这样称呼吧)
二、不同点
1、函数可以有返回值,但公示没有返回值
2、两者的参数在使用或调用时可以改变
2、函数可以被公式和别的函数调用,但公式只能在“超级图表”使用
3、函数的参数是自动调用的,人工不能被干预,而公式中的参数可以由人工在运行时进行调整。
作者: 冬雨    时间: 2013-1-6 10:18:58

再补充一点不同点:
4、函数可以引用参数,而公式使用参数没有意义。函数可以通过返回值,返回函数的计算结果,返回值只能是三种简单类型。当需要通过函数进行计算,返回多个值的时候,单个的返回值就不能满足需求了。在这种情况下,TB提出了引用参数的概念,引用参数是在调用的时候传入一个变量的地址,在函数内部会修改参数的值,在函数执行完毕,上层调用的公式会通过变量获得修改后的值。因为引用参数的使用是没有个数限制,因此,可以通过引用参数返回任意多个值。

作者: YLBZ    时间: 2013-1-6 16:04:07

谢谢!!通过你的讲解对引用参数有了些许了解。
作者: YLBZ    时间: 2013-1-6 16:07:15

本帖最后由 YLBZ 于 2013-1-6 16:08 编辑
冬雨 发表于 2013-1-6 10:07
我不是版主,算是抛砖引玉吧:
一、相同点
1、都有相同的结构,如都有参数、变量、主体(即Begin......End, ...


函数被公式引用时,将其参数设置为公式的参数不就可以改变其参数了吗?不就可以人工干预了吗?请解惑。谢谢1
作者: 冬雨    时间: 2013-1-8 09:55:59

你说的是对的,是间接干预。我说的直接干预。一句话,函数只能被其他函数或公式调用。
作者: Tracymao    时间: 2013-1-28 18:46:07

学习了~




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2