MultiCharts编程-PowerLanguage-Declaration声明
[font=宋体]第[/font]9[font=宋体]章[/font] Declaration[font=宋体]声明[/font][p=30, 2, left]PowerLanguage[font=宋体]程序公式包括函数、指标和信号,写对应的脚本时,除内置的全局变量外,对自定义需要的数组、参数、变量要先声明,才可以进一步引用计算。[/font][/p][p=30, 2, left][font=宋体]内置全局变量无需声明,可直接引用分别为:[/font][/p][p=30, 2, left][font=宋体]数值型变量初始值为[/font]0[font=宋体],有[/font]99[font=宋体]个:[/font]value1~value99[/p][p=30, 2, left][font=宋体]逻辑型变量初始值为[/font]false[font=宋体],有[/font]99[font=宋体]个:[/font]condition1~condition99[/p][p=30, 2, left][font=宋体]参数与变量的区别是,变量可以在程序公式内部改变,而一般的参数只能在程序外部修改(当指标或信号插入到图表时,可修改参数设定的初始值);参数可以在外部进行优化,变量不可以;只有声明为传址型参数时,才允许在程序内部改变参数。详细可以参看含有[/font]Ref[font=宋体]的关键字。[/font][/p][p=30, 2, left][font=宋体]本章主要将数组、参数、变量的声明举例说明。[/font][/p][table=98%][tr][td=2,1] Array/Arrays [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明一个或多个数组,包含多个变量数组元素;需指定数组结构、元素类型和初始值,更新依据,元素个数。[/font][/p] [p=30, 2, left][font=宋体]数组元素的类型可以是数值型,字符串型或布尔型。[/font][/p] [p=30, 2, left][font=宋体]数组元素个数可以是固定的也可以是动态的(不限制个数)。[/font][/p] [p=30, 2, left][font=宋体]在固定元素个数的数组中,元素可以排列在单个或多个维度。[/font]10-[font=宋体]元一维数组包含[/font]10[font=宋体]个元素,[/font]10*10[font=宋体]二维数组包含[/font]100[font=宋体]个元素,[/font]10*10*10[font=宋体]三维数组包含[/font]1000[font=宋体]个元素,[/font]10*10*10*10[font=宋体]四维数组包含[/font]10000[font=宋体]个元素,等等。[/font]Powerlanguage[font=宋体]中数组维度最高是[/font]9[font=宋体]维。[/font][/p] [p=30, 2, left][font=宋体]数组中的元素可由一个或多个索引值引用,每个维度有一个最大索引值,数组的索引值从[/font]0[font=宋体]开始。[/font][/p] [p=30, 2, left][font=宋体]动态数组(不限元素数量的数组)维度固定为一维,声明后仅有一个元素,动态数组大小可以用[/font] Array_SetMaxIndex[font=宋体]重新设定。[/font][/p] [p=30, 2, left][font=宋体]数组元素可以单独赋值,也可以把数组全部或部分当成整体来赋值。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Array:<IntraBarPersist> [i]ArrayName1[/i][color=black][[/color]D1[color=black],[/color]D2[color=black],[/color]D3[color=black],[/color]etc.[color=black]]([/color]InitialValue1[color=black]<,[/color]DataN[color=black]>),[/color][/p] [p=30, 2, left]<IntraBarPersist> [i]ArrayName2[/i][color=black][[/color]D1[color=black],[/color]D2[color=black],[/color]D3[color=black],[/color]etc.[color=black]]([/color]InitialValue2[color=black]<,[/color]DataN[color=black]>),[/color][i]etc.[/i][color=black];[/color]
[/p] [p=30, 2, left][font=宋体]在[/font]< >[font=宋体]括号中的参数是可选的。[/font]
[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]IntraBarPersist——[font=宋体]可选参数,指定数组元素值可以在收到每笔[/font]tick[font=宋体]报价时更新。如果没有指定此参数,数组元素值会在每根[/font]Bar[font=宋体]的[/font]close[font=宋体]更新。[/font][/p] [p=30, 2, left][i]ArrayName[/i]——[font=宋体]数组名称,数组名称可以包含英文字母(不区分大小写),下划线,数字和英文句号。但是名称的开头不能使用数字和句号。[/font][/p] [p=30, 2, left]D——[font=宋体]数值表达式,指定数组各个维度的最大索引值,数值索引值是从[/font]0[font=宋体]开始。一个表达式指定的是一维数组,两个表达式指定的是二维数组([/font]D1[font=宋体]与[/font]D2[font=宋体]),三个表达式指定的是三维数组([/font]D1,D2,D3[font=宋体])以此类推。动态数组,元素个数无限制,则方括号[/font][ ][font=宋体]中是空的,并且只能是一维数组。[/font][/p] [p=30, 2, left]InitialValue——[font=宋体]表达式,指定初始值,定义数组中所有元素的数据类型。初始值可以是数值,字符串,或布林表达式;初始值表达式的类型同时决定了数组类型[/font] [font=宋体]。[/font][/p] [p=30, 2, left]DataN——[font=宋体]可选参数,指定数组参考的数据为[/font]Data N [font=宋体],如果没有指定此参数,数组将会参考默认数据系列。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明数组[/font]Length[font=宋体]和[/font]SFactor[font=宋体]为[/font]9[font=宋体]个元素的一维数值数组,初始值为[/font]0[font=宋体]:[/font][/p] [p=30, 2, left]Array:Length[8](0),SFactor[8](0); [/p] [p=30, 2, left][font=宋体]声明数组[/font]Max_Price[font=宋体]为[/font]24*60 [font=宋体]的二维数值数组,依照[/font]tick[font=宋体]更新,计算参考[/font]data2[font=宋体]数据,元素初始值为[/font]close[font=宋体]。[/font][/p] [p=30, 2, left]Array:IntraBarPersist Max_Price[23,59](Close,Data2); [/p] [p=30, 2, left][font=宋体]声明数组[/font]Highs2
[font=宋体]为动态数组,初始值为[/font]0[font=宋体]:[/font][/p] [p=30, 2, left]Array:Highs2[](0); [/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] Input/Inputs [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明一个或多个[/font]input[font=宋体]型外部参数,需指定初始值并定义参数类型。[/font][/p] [p=30, 2, left][font=宋体]参数类型可以是数值,字符串或布尔型。一旦被定义,[/font]input[font=宋体]参数值就不能在公式编辑器脚本中修改。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName1[/i](DefaultValue1), [i]InputName2[/i](DefaultValue2), etc. [/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]InputName[/i]——[font=宋体]表达式,指定[/font]input[font=宋体]参数名称。[/font][/p] [p=30, 2, left][font=宋体]名称可以包括英文字母,下划线,数字和英文句号。名称的开头字符不能为数字和句号,字母不区分大小写。[/font][/p] [p=30, 2, left]DefaultValue——[font=宋体]表达式,指定[/font]input[font=宋体]参数的初始值,定义[/font]input[font=宋体]类型。表达式可以是数值,字符串或布尔型,初始值的类型同时决定了参数的类型。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明一个数值型参数[/font] Length[font=宋体],初始值为[/font]20[font=宋体]:[/font][/p] [p=30, 2, left]Input:Length(20); [/p] [p=30, 2, left][font=宋体]声明一个数值型参数[/font]Price[font=宋体],初始值为[/font]close[font=宋体];一个字符串型参数[/font]Name[font=宋体],初始值为[/font]"Last Close"[font=宋体]:[/font][/p] [p=30, 2, left]Input:Price(Close), Name("Last Close"); [/p] [p=30, 2, left][font=宋体]声明一个布尔型参数[/font]Draw_Line[font=宋体],初始值为[/font]true[font=宋体]:[/font][/p] [p=30, 2, left]Input:Draw_Line(True); [/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] IntraBarPersist [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在变量和数组的声明语句中,在变量或数组名称之前,用来指定变量或数组元素的值依照每[/font]tick[font=宋体]更新。[/font][/p] [p=30, 2, left][font=宋体]如果没有指定[/font]IntraBarPersist[font=宋体],变量或数组元素值将在每根[/font]Bar[font=宋体]的[/font]close[font=宋体]更新。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Declaration:[IntraBarPersist][i]Name[/i](InitialValue1) [/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明一个数值型变量[/font] Max [font=宋体],按照每[/font]tick[font=宋体]更新,初始值为[/font]100[font=宋体]:[/font][/p] [p=30, 2, left]Variable:IntraBarPersist Max(100); [/p] [p=30, 2, left][font=宋体]声明一个含[/font]24[font=宋体]个元素的一维数值型数组[/font]Max_Price [font=宋体],元素值按照每[/font]tick[font=宋体]更新,元素初始值为[/font]0[font=宋体]:[/font][/p] [p=30, 2, left]Array:IntraBarPersist Max_Price[23](0); [/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] Numeric [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的[/font]input[font=宋体]参数声明语句中,定义参数为[b]单值数值型[/b]。[/font][/p] [p=30, 2, left]Input[font=宋体]定义的单值型参数可以是简单数值[/font](Numerical Simple)[font=宋体]或时序数值[/font](Numerical Series)[font=宋体]。简单数值参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]之间是常数,不能回溯,而时序数值参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]会变化,可以回溯历史值。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](Numeric) [/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]InputName[/i]——[font=宋体]表达式,指定[/font]input[font=宋体]参数名称。[/font][/p] [p=30, 2, left][font=宋体]名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Length
[font=宋体]为一个数值型函数的参数。[/font][/p] [p=30, 2, left]Input:Length(Numeric); [/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] NumericArray [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义[/font]input[font=宋体]参数为指定维度的[b]单值数组[/b]。[/font][/p] [p=30, 2, left]Input[font=宋体]定义的单值型参数可以是简单数值[/font](Numerical Simple)[font=宋体]或时序数值[/font](Numerical Series)[font=宋体]。简单数值参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]之间是常数,不能回溯,而时序数值参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]会变化,可以回溯历史值。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i][M1,M2,M3,etc.](NumericArray) [/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]InputName[/i]——[font=宋体]表达式,指定[/font]input[font=宋体]参数的名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [p=30, 2, left]M——[font=宋体]变量,表示传递到函数的数组每个维度的最大索引值,一个变量指定的是一维数组,两个变量指定的是二维数组([/font]M1,M2[font=宋体]),三个变量指定的是三维数组([/font]M1,M2,M3[font=宋体])以此类推。[/font][/p] [p=30, 2, left][font=宋体]一个[/font]input[font=宋体]声明只能是一个指定维度的数组。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Length [font=宋体]作为函数的一维数值数组参数:[/font][/p] [p=30, 2, left]Input:Length[X](NumericArray); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X[font=宋体]来指定。[/font][/p] [p=30, 2, left][font=宋体]声明[/font]Table [font=宋体]作为函数的一个三维数值数组参数:[/font][/p] [p=30, 2, left]Input:Table[X,Y,Z](NumericArray); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X,Y,Z[font=宋体]来指定。[/font][/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] NumericArrayRef [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义[/font]input[font=宋体]参数为指定维度的[b]传址数组[/b]。[/font][/p] [p=30, 2, left][font=宋体]传址参数是传入参数的位置,[/font]powerlanguage[font=宋体]允许在函数脚本中对参数进行变更,并且呼叫这个函数的脚本内的变量值也会同步更新。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i][M1,M2,M3,etc.](NumericArrayRef)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]InputName[/i]——[font=宋体]表达式,指定[/font]input[font=宋体]参数的名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [p=30, 2, left]M——[font=宋体]变量,表示传递到函数的数组每个维度的最大索引值,一个变量指定的是一维数组,两个变量指定的是二维数组([/font]M1,M2[font=宋体]),三个变量指定的是三维数组([/font]M1,M2,M3[font=宋体])以此类推。[/font][/p] [p=30, 2, left][font=宋体]一个[/font]input[font=宋体]声明只能是一个指定维度的数组。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Count[font=宋体]作为函数的一个一维传址数组参数:[/font][/p] [p=30, 2, left]Input:Count[X]( NumericArrayRef); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X[font=宋体]来指定。[/font][/p] [p=30, 2, left][font=宋体]声明[/font]Table[font=宋体]作为函数的一个三维传址数组参数:[/font][/p] [p=30, 2, left]Input:Table[X,Y,Z]( NumericArrayRef); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X,Y,Z[font=宋体]来指定。[/font][/p] [p=30, 2, left][font=宋体]另外,可参看内置函数[/font]LinRegSlope_a[font=宋体]对函数[/font]Summation_a[font=宋体]的调用。[/font][/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] NumericRef [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义[/font]input[font=宋体]参数为[b]传址数值[/b]。[/font][/p] [p=30, 2, left][font=宋体]传址参数是传入参数的位置,[/font]powerlanguage[font=宋体]允许在函数脚本中对参数进行变更,并且呼叫这个函数的脚本内的变量值也会同步更新。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]Inputname[/i](NumericRef)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font]
[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]BarCount [font=宋体]作为函数的一个传址数值参数。[/font][/p] [p=30, 2, left]Input:BarCount(NumericRef); [/p] [p=30, 2, left][font=宋体]另外,可参看内置函数[/font]Highest[font=宋体]对函数[/font]Extremes[font=宋体]的调用。[/font][/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] NumericSeries [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为[b]时序数值型[/b]。[/font][/p] [p=30, 2, left][font=宋体]时序数值参数,从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是变化的,可以历史回溯。[/font]
[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]Inputname[/i](NumericSeries)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font]
[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Price [font=宋体]作为函数的一个时序数值参数:[/font][/p] [p=30, 2, left]Input:Price(NumericSeries); [/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] NumericSimple [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为[b]简单数值型[/b]。[/font][/p] [p=30, 2, left][font=宋体]简单数值参数,从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是常数,不可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]Inputname[/i](NumericSimple)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font]
[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Length[font=宋体]作为函数的一个简单数值参数:[/font][/p] [p=30, 2, left]Input:Length(NumericSimple);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] String [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在函数的参数声明语句中,定义函数的参数为字符串型。[/font][/p] [p=30, 2, left][font=宋体]简单字符串或时序字符串都可以定义为字符串型。简单型字符串从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是不变的,不能历史回溯,时序性字符串从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是变化的,可以历史回溯。[/font]
[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]Inputname[/i](String)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Name [font=宋体]作为函数的一个字符串型参数:[/font][/p] [p=30, 2, left]Input:Name(String);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] StringArray [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为指定维度的[b]字符串数组[/b]。[/font][/p] [p=30, 2, left][font=宋体]简单字符串或时序字符串都可以定义为字符串型。简单型字符串从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是不变的,不能历史回溯,时序性字符串从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是变化的,可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i][M1,M2,M3,etc.](StringArray)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [p=30, 2, left]M——[font=宋体]变量,表示传递到函数的数组每个维度的最大索引值,一个变量指定的是一维数组,两个变量指定的是二维数组([/font]M1,M2[font=宋体]),三个变量指定的是三维数组([/font]M1,M2,M3[font=宋体])以此类推。[/font]
[/p] [p=30, 2, left][font=宋体]一个[/font]input[font=宋体]语句只能声明一个指定维度的数组。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Messages[font=宋体]作为函数的一个一维字符串数组参数:[/font][/p] [p=30, 2, left]Input:Messages[X]( StringArray); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X[font=宋体]来指定。[/font][/p] [p=30, 2, left][font=宋体]声明[/font]MessageTable [font=宋体]作为函数的一个三维字符串数组参数:[/font][/p] [p=30, 2, left]Input:MessageTable[X,Y,Z]( StringArray); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X,Y,Z[font=宋体]来指定。[/font][/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] StringArrayRef [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为指定维度的[b]传址字符串数组[/b]。[/font][/p] [p=30, 2, left][font=宋体]传址参数是传入参数的位置,[/font]powerlanguage[font=宋体]允许在函数脚本中对参数进行变更,并且呼叫这个函数的脚本内的变量值也会同步更新。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i][M1,M2,M3,etc.](StringArrayRef)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [p=30, 2, left]M——[font=宋体]变量,表示传递到函数的数组每个维度的最大索引值,一个变量指定的是一维数组,两个变量指定的是二维数组([/font]M1,M2[font=宋体]),三个变量指定的是三维数组([/font]M1,M2,M3[font=宋体])以此类推。[/font][/p] [p=30, 2, left][font=宋体]一个[/font]input[font=宋体]语句只能声明一个指定维度的数组。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Messages[font=宋体]作为函数的一个一维传址字串数组参数:[/font][/p] [p=30, 2, left]Input:Messages[X]( StringArrayRef); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X[font=宋体]来指定。[/font][/p] [p=30, 2, left][font=宋体]声明[/font]CommentsTable[font=宋体]作为函数的一个三维传址字串数组参数:[/font][/p] [p=30, 2, left]Input:CommentsTable[X,Y,Z]( StringArrayRef); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X,Y,Z[font=宋体]来指定。[/font][/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] StringRef [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为[b]传址字符串[/b]。[/font][/p] [p=30, 2, left][font=宋体]传址参数是传入参数的位置,[/font]powerlanguage[font=宋体]允许在函数脚本中对参数进行变更,并且呼叫这个函数的脚本内的变量值也会同步更新。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](StringRef)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Message[font=宋体]作为函数的一个传址字符串参数:[/font][/p] [p=30, 2, left]Input:Messages( StringRef); [/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] StringSeries [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为[b]时序型字符串参数[/b]。[/font][/p] [p=30, 2, left][font=宋体]时序型参数,从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是变化的,可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](StringSeries)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Messages[font=宋体]作为函数的一个时序型字符串参数:[/font][/p] [p=30, 2, left]Input:Messages(StringSeries);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] StringSimple [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为[b]简单型字符串参数[/b]。[/font][/p] [p=30, 2, left][font=宋体]简单型参数,从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是常数,不可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](StringSimple)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Name [font=宋体]作为函数的一个简单字符串参数:[/font][/p] [p=30, 2, left]Input:Name(StringSimple);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] TrueFalse [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为[b]布尔型参数[/b]。[/font][/p] [p=30, 2, left][font=宋体]简单型布尔参数和时序型布尔参数都可以用[/font]truefalse[font=宋体]布尔型来声明。[/font][/p] [p=30, 2, left][font=宋体]简单型布尔参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是不变的,不能历史回溯,时序性布尔参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是变化的,可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](TrueFalse) [/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Overnight [font=宋体]作为函数的布尔型参数:[/font][/p] [p=30, 2, left]Input:Overnight(TrueFalse);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] TrueFalseArray [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为指定维度的[b]布尔型数组[/b]。[/font][/p] [p=30, 2, left][font=宋体]简单型布尔参数和时序型布尔参数都可以用[/font]truefalse[font=宋体]布尔型来声明。简单型布尔参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是不变的,不能历史回溯,时序性布尔参数从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是变化的,可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i][M1,M2,M3,etc.](TrueFalseArray)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [p=30, 2, left]M——[font=宋体]变量,表示传递到函数的数组每个维度的最大索引值,一个变量指定的是一维数组,两个变量指定的是二维数组([/font]M1,M2[font=宋体]),三个变量指定的是三维数组([/font]M1,M2,M3[font=宋体])以此类推。[/font]
[/p] [p=30, 2, left][font=宋体]一个[/font]input[font=宋体]语句只能声明一个指定维度的数组。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]UpTrend[font=宋体]作为函数的一个一维布尔型数组参数:[/font][/p] [p=30, 2, left]Input:UpTrend[X](TrueFalseArray); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X[font=宋体]来指定:[/font][/p] [p=30, 2, left][font=宋体]声明[/font]FlagTable [font=宋体]作为函数的一个三维布尔型数组参数:[/font][/p] [p=30, 2, left]Input:FlagTable[X,Y,Z](TrueFalseArray); [/p] [p=30, 2, left][font=宋体]数组的每个维多的最大索引值由变量[/font]X[font=宋体],[/font]Y[font=宋体]和[/font]Z[font=宋体]来指定。[/font][/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] TrueFalseArrayRef [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为指定维度的[b]传址型布尔型数组[/b]。[/font][/p] [p=30, 2, left][font=宋体]传址参数是传入参数的位置,[/font]powerlanguage[font=宋体]允许在函数脚本中对参数进行变更,并且呼叫这个函数的脚本内的变量值也会同步更新。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i][M1,M2,M3,etc.](TrueFalseArrayRef)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [p=30, 2, left]M——[font=宋体]变量,表示传递到函数的数组每个维度的最大索引值,一个变量指定的是一维数组,两个变量指定的是二维数组([/font]M1,M2[font=宋体]),三个变量指定的是三维数组([/font]M1,M2,M3[font=宋体])以此类推。[/font]
[/p] [p=30, 2, left][font=宋体]一个[/font]input[font=宋体]语句只能声明一个指定维度的数组。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Trend [font=宋体]作为函数的一个传址型一维布尔型数组参数:[/font][/p] [p=30, 2, left]Input:Trend[X](TrueFalseArrayRef); [/p] [p=30, 2, left][font=宋体]数组的最大索引值由变量[/font]X[font=宋体]来指定。[/font][/p] [p=30, 2, left][font=宋体]声明[/font]TrendTable[font=宋体]作为函数的一个传址型三维布尔型数组参数:[/font][/p] [p=30, 2, left]Input:TrendTable[X,Y,Z](TrueFalseArrayRef); [/p] [p=30, 2, left][font=宋体]数组的每个维多的最大索引值由变量[/font]X[font=宋体],[/font]Y[font=宋体]和[/font]Z[font=宋体]来指定。[/font][/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] TrueFalseRef [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在[b]函数[/b]的参数声明语句中,定义函数的参数为[b]传址型布尔参数[/b]。[/font][/p] [p=30, 2, left][font=宋体]传址参数是传入参数的位置,[/font]powerlanguage[font=宋体]允许在函数脚本中对参数进行变更,并且呼叫这个函数的脚本内的变量值也会同步更新。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](TrueFalseRef)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Flag [font=宋体]作为函数的一个传址型布尔参数:[/font][/p] [p=30, 2, left]Input:Flag(TrueFalseRef);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] TrueFalseSeries [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在函数的参数声明语句中,定义函数的参数为时序型布尔型参数。[/font][/p] [p=30, 2, left][font=宋体]时序型参数,从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是变化的,可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](TrueFalseSeries)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font]
[/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [font=宋体]声明[/font]UpTrend [font=宋体]作为函数的一个时序性布尔型参数:[/font]
[p=30, 2, left]Input:UpTrend(TrueFalseSeries);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] TrueFalseSimple [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]用在函数的参数声明语句中,定义函数的参数为简单布尔型参数。[/font][/p] [p=30, 2, left][font=宋体]简单型参数,从[/font]Bar[font=宋体]到[/font]Bar[font=宋体]是常数,不可以历史回溯。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Input:[i]InputName[/i](TrueFalseSimple)[/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][i]Inputname[/i]——[font=宋体]表达式,指定参数名称。名称可以包括英文字母,下划线,数字和英文句号。字母不区分大小写,名称不能用数字或下划线开头。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明[/font]Overnight[font=宋体]作为函数的一个简单布尔型参数:[/font][/p] [p=30, 2, left]Input:Onernight(TrueFalseSimple);[/p] [/td][/tr]
[/table]
[table=98%]
[tr][td=2,1] Variable/Variables/Var/Vars [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]说明[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明一个或多个变量名称,需指定初始值,变量类型,更新依据和每个变量参考的子图。变量可以是数值型,字符串型和布尔型。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]语法[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]Variable:[IntraBarPersist][i]VariableName1[/i](InitialValue1[,DataN]), [IntraBarPersist][i]VariableName2[/i](InitialValue2[,DataN]),[i]etc.[/i] [/p] [p=30, 2, left][font=宋体]方括号[/font][ ][font=宋体]中的参数是可选的。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]参数[/font][/p] [/td][td=1,1,88%] [p=30, 2, left]IntraBarPersist——[font=宋体]可选参数,指定变量值可以在收到每笔[/font]tick[font=宋体]报价时更新。如果没有指定此参数,变量值会在每根[/font]Bar[font=宋体]的[/font]close[font=宋体]更新。[/font][/p] [p=30, 2, left][i]VariableName2[/i]——[font=宋体]变量名称,变量名称可以包含英文字母(不区分大小写),下划线,数字和英文句号。但是名称的开头不能使用数字和句号。[/font][/p] [p=30, 2, left]InitialValue——[font=宋体]表达式,指定初始值,定义变量类型。初始值可以是数值,字符串,或布林表达式;初始值表达式的类型同时决定了变量类型[/font]
[/p] [p=30, 2, left]DataN——[font=宋体]可选参数,指定变量参考的数据为[/font]data N [font=宋体],如果没有指定此参数,数组将会参考默认数据系列。[/font][/p] [/td][/tr]
[tr][td=1,1,11%] [p=30, 2, left][font=宋体]范例[/font][/p] [/td][td=1,1,88%] [p=30, 2, left][font=宋体]声明一个数值变量[/font]Avg. [font=宋体],初始值为[/font]20[font=宋体]:[/font][/p] [p=30, 2, left]Variable:Avg.(20); [/p] [p=30, 2, left][font=宋体]声明一个数值变量[/font]Max , [font=宋体]按照每[/font]tick[font=宋体]更新,初始值为[/font]100[font=宋体]:[/font][/p] [p=30, 2, left]Variable:IntraBarPersist Max(100); [/p] [p=30, 2, left][font=宋体]声明一个数值变量[/font]Min_Price , [font=宋体]参考子图[/font]Data #2[font=宋体]数值计算[/font], [font=宋体]初始值为[/font]close[font=宋体]值:[/font][/p] [p=30, 2, left]Variable:Min_Price(Close,Data2); [/p] [p=30, 2, left][font=宋体]声明一个布尔型变量[/font]Overnight[font=宋体],初始值为[/font]false[font=宋体],和一个字符串变量[/font]Name[font=宋体]初始值为[/font]"Intra-Day"[font=宋体]:[/font][/p] [p=30, 2, left]Variable:Overnight(False),Name("Intra-Day"); [/p] [/td][/tr]
[/table]
页:
[1]