公共函数
来自tradeStar帮助系统
目录[隐藏] |
概述
所谓函数,是一些会反复使用到的功能,封装而成的一段代码。
函数有三种类型:内置函数、局部函数和公共函数
内置函数是最常用的函数,本软件中有很多内置函数,例如ma、hhv、buy、sell等等。
当内置函数不够用,除了等待软件升级新增所需函数,还有一个途径,就是通过公式语言自行编写局部函数或公共函数。
函数的存在形式
通过公式语言编写的函数有两种存在形式。
第一种,内嵌在其他公式中。
例1:内嵌在其他公式中的函数
//以下函数把上次传入的点和这次传入的点用线连起来
function drawL
input:
numericSimple var1;
variable:
numericSimple d0(0),t0(0),v0(0);
begin
if( d0!=0 and date>2013 )then begin
id = tl_new( d0, t0, v0, date, time , var1);
end;
d0 = date;
t0 = time;
v0 = var1;
end
//主程序体
//每隔10根k线,就在收盘价处连一条线
#run_by_bar
#MainChart
#nodefaultoutput
if( barpos mod 10 =0 )then
drawL( close );
这样的函数我们称为“局部函数”。
第二种,把函数独立出来,单独成为一个公式
这样的函数,在公式里不需要额外的声明就可以直接使用,跟ma等内置函数一样,我们称为“公共函数”。
适用范围
公共函数仅工作于逐根模式下。
函数参数
调用函数时,可以通过参数给函数传入和传出值。 参数类型可以是:
numericSimple 单值 numericSeries 序列 numericRef 引用参数
numericRef类型的参数可以在函数内赋值,并且把值带到主程序中去。
当参数类型是numericRef时,传入参数时必须使用序列型(不可以是numericSimple)。
例如,以下的例子是不正确的 func testFunc input: numericRef n; begin n = 1; end; //主程序 variable: numericSimple x(0); testFunc(x);
函数内部变量
数据回溯
函数返回
函数能够返回值给调用者。 语法是:
return x;
例如:
function func begin return 1; end
直接给函数名赋值也能达到相同的目的
例如:
function func begin func = 1; end
