关于函数 函数调用是一个 EasyLanguage 字(以紫色显示),在对函数中的基本 EasyLanguage 语句求值后返回一个值(或多个值)。函数语句可以用于计算数学公式或执行任何其他 EasyLanguage 操作。 常见用法函数将被指定到赋值语句或表达式中的变量。除非以其他方式定义,大多数函数是简单函数。 例如:在下面,函数计算 10 条柱状线的平均收盘价格并将返回值赋予一个预先声明的变量: Value1 = Average(Close, 10); 系列函数系列函数自动存储自身先前的值并在每条柱状线上执行(即使用于条件语句中)。有关更多信息,请参阅系列函数。 多输出函数有些内置函数需要返回多个值,通过使用参数列表中的一个或多个输出参数实现这一点。内置多输出函数对参数的命名通常以“o”开始,表明其是一个用于返回值的输出参数。这些参数也被称为“输入-输出”参数,因为在函数内声明这些参数为“ref”类型的输入(例如 NumericRef、TrueFalseRef 等),允许通过引用将值输出到调用函数的 EasyLanguage 代码中的变量。 例如:下列内置函数查找之前 30 条柱状线中第 2 高的收盘价。前面四个参数是输入参数,用于确定 1) 查找什么样的价格,2) 查找范围是多少条柱状线,3) 哪次发生(第 1 次、第 2 次等等),4) 查找最低或最高价格。第五和第六个参数是输出参数。它使用一个输出参数返回第二高的收盘价到 Value2,而第二个输出参数返回发生该值的之前柱状线数到 Value3。函数本身返回搜索的状态(1 表示成功,-1 表示发生错误)到 Value1。 Var: oExtremeVal(0), oExtremeBar(0); Value1 = NthExtreme(Close, 30, 2, 1, oExtremeVal, oExtremeBar); Value2 = oExtremeVal; Value3 = oExtremeBar; 包裹函数用户查看内置函数的 EasyLanguage 代码时,可能会发现一个术语“包裹函数”。它是一个单一返回函数,引用多输出函数以获取返回值。调用单一返回“包裹”函数有助于使简化 EasyLanguage 代码,不需要设置输出参数或理解多输出函数。例如, ADX 函数返回平均定向波动指标值,该指标值是 DirMovement 函数的几个输出参数之一。 |