AICoin自定义指标函数文档——计算函数

CN
AICoin
關注
1 年前

计算函数

highest 

用于计算序列数据在周期内的最高值。

highest(source, length)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

length 

数值

周期

返回值

返回最高值的序列数据

例子

// 最近十根k线收盘价的最高值
hhv=highest(close, 10);
 

lowest 

用于计算序列数据在周期内的最低值。

lowest(source, length)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

length 

数值

周期

返回值

返回最低值的序列数据

例子

// 最近十根k线收盘价的最低值
llv=lowest(close, 10);

 

max 

用于获取多个值中的最大值

max(source, source1, source2...)

类型

函数

参数说明

名称

类型

说明

source

序列数据/数值

 如close,更多取值见行情数据

返回值

返回最大值的序列数据

例子

// 返回多个数值中的最大值
max0 = max(open, close, high, hl2);
// 支持数值
max1 = max(close - open, 0);

 

min 

用于获取多个值中的最小值 

min(source1, source2, source3...)

类型

函数

参数说明

名称

类型

说明

source

序列数据/数值

 如close,更多取值见行情数据

返回值

返回最小值的序列数据

例子

// 返回多个数值中的最小值
min0 = min(open, close, high, hl2);
// 支持数值
min1 = min(close - open, 0);
 

cum 

用于计算序列数据内的数值的总和

cum(source)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

返回值

返回序列数据,返回传入参数的序列数据的所有数值的总和

例子

// 计算成交量累计值
volumeCum = cum(volume);

 

sum

用于计算序列数据的周期的总和

sum(source, length)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

length 

数值

周期

返回值

返回序列数据,返回周期内的序列数据的总和

例子

// 最近十根k线收盘价的总和值
summation = sum(close, 10);

 

abs

用于计算数据的绝对值

abs(source)

类型

函数

参数说明

名称

类型

说明

source

序列数据/数值

 如close,更多取值见行情数据

返回值

返回序列数据,返回参数的绝对值

例子

// 计算柱子的高度
barHeight = abs(close - open);

 

sd 

用于计算有偏估计标准偏差,即估算标准差

sd(source, length)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

length 

数值

周期

返回值

返回序列数据,标准差

例子

 
// 最近十根k线收盘价的标准差
sta = sd(close, 10);

 

dev 

用于计算指定周期序列数据与当前ma指标函数之间的平均偏差

dev(source, length)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

length 

数值

周期

返回值

返回平均偏差的序列数据

例子

 
// 最近十根k线收盘价与当前ma指标函数之间的平均偏差
dev0 = dev(close, 10);

 

na 

用于判断数值是否为非有效数字

na(source)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

返回值

返回布尔序列数据,如果不是有效数字,则为true,否则为false

例子

isna = na(close);

 

nz 

使用序列数据中的指定数(或零)替换掉NaN值

nz(source, source1)
nz(source)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

返回值

两个参数时:如果是有效数字,则返回source,否则返回source1

一个参数时:如果是有效数字,则返回source,否则返回0

例子

v = nz(close, open);

 

cross 

判断是否交叉(即上穿或者下穿)

cross(source, source1)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

返回值

返回布尔序列数据,交叉则为返回true,否则为false

例子

// 判断收盘价是否会和27000交叉
v = cross(close, 27000);

 

crossup 

判断序列数据是否上穿另一个序列数据

crossup(source, source1)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

返回值

返回布尔序列数据,上穿则为返回true,否则为false

例子

// 判断收盘价是否会上穿27000
v = crossup(close, 27000);

 

crossdown 

判断序列数据是否下穿另一个序列数据

crossdown(source, source1)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

返回值

返回布尔序列数据,下穿则为返回true,否则为false

例子

// 判断收盘价是否会下穿27000
v = crossdown(close, 27000);

 

ref 

引用周期前的序列数据,和引用操作符 `[]` 等价,需要注意最多只能引用最近500个数据点

ref(source, length)

类型

函数

参数说明

名称

类型

说明

source

序列数据

 如close,更多取值见行情数据

length 

数值

周期

返回值

返回序列数据

例子

// v 等于第前十根的k线收盘价,等价于 v = close[10];
v = ref(close, 10);

 

parse_time 

转换时间字符串为时间戳,秒级

parse_time(source, format, timezone)

类型

函数

参数说明

名称

类型

说明

source

字符串

 需要转换的时间字符串,如'2019-01-01 00:00:00'

format

字符串

 可选参数,默认为'yyyy-MM-dd HH:mm:ss',需要符合该格式,如'yy-MM-dd mm:ss'

timezone

字符串

可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = parse_time('2019-01-01 00:00:00');
tz = "yy-MM-dd HH:mm:ss";
b = parse_time('19-01-01 00:00:00',tz);
c = parse_time('19-01-01 00:00:00',tz,'UTC+0');

 

len 

获取数组长度

len(ary)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

ary

数组

 仅支持数组或字典类型,其它类型返回0

返回值

返回序列数据

例子

int[] a = [1, 2, 3] ;
ary_len = len(a) ;  // 3

 

log 

计算自然对数,任何 'number'  > 0的自然对数是唯一y,使得e^y = 'number'

log(number)
语法版本需要 // @version=2

类型

函数

参数说明

名称

类型

说明

number

正数

 任何大于0的数值

返回值

'number'的自然对数

例子

log(10)    //  2.3

 

log10

'number' 的常用(或以10为底)对数是必须乘以10才能获得 'number' 的幂。10^y = 'number'

log10(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

正数

 任何大于0的数值

返回值

'number' 的以10为底的对数。

例子

log10(10)    //  1

 

sqrt 

任何 'number' >= 0的平方根是唯一 y >= 0,使得 y^2 = 'number'

sqrt(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

正数

 任何大于0的数值

返回值

'number'的平方根

例子

sqrt(4) // 2
 
 

second

获取UNIX时间的秒

second(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = second(1698768000)
b = second(time, "UTC+2")

 

minute

获取UNIX时间的分

minute(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = minute(1698768000)
b = minute(time, "UTC+2")

 

hour

获取UNIX时间的小时

hour(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = hour(1698768000)
b = hour(time, "UTC+2")

 

dayofmonth

获取UNIX时间的每月日期

dayofmonth(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = dayofmonth(1698768000)
b = dayofmonth(time, "UTC+2")

 

dayofweek

获取UNIX时间的每周日期

dayofweek(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = dayofweek(1698768000)
b = dayofweek(time, "UTC+2")

 

month

获取UNIX时间的月份

month(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = month(1698768000)
b = month(time, "UTC+2")

 

year

获取UNIX时间的年份

year(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = year(1698768000)
b = year(time, "UTC+2")

 

weekofyear

获取UNIX时间的周数

weekofyear(time, timezone)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

time

以秒为单位的时间

 可使用time或timeclose进行赋值,也可使用如1698768000的秒级时间

timezone

字符串

 可选参数,默认为'UTC+8',填写格式为'UTC+n'或'UTC-n'

返回值

返回序列数据

例子

a = weekofyear(1698768000)
b = weekofyear(time, "UTC+2")

round

四舍五入到最接近的整数

round(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

 任何自然数

返回值

'number'的值四舍五入到最接近的整数

例子

round(3.6) // 4

round(3.2) // 3

sin

正弦函数返回一个角度的三角正弦

sin(angle)
语法版本需要 // @version=2 

类型

函数

参数说明​​​​​

名称

类型

说明

angle

自然数

 弧度制的数

返回值

角的三角正弦

例子

sin(3.1415) // 0

sin(3.1415/2) // 1

cos

​​​余弦函数返回一个角度的三角余弦
cos(angle)
语法版本需要 // @version=2 

类型

函数

参数说明​​​​​

名称

类型

说明

angle

自然数

 弧度制的数

返回值

角的三角正弦

例子

cos(3.1415) // -1

cos(3.1415/2) // 0

tan

正切函数返回一个角度的三角正切

tan(angle)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

angle

自然数

 弧度制的数

返回值

角的三角正切

例子

tan(3.1415) // 0
​​​​​​​

asin

反正弦函数返回一个数字的三角反正弦

asin(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

 需要在-1到1的范围内,否则返回nan

返回值

角的三角反正弦

例子

sin(asin(y)) // y
​​​​​​​​​​​​​​

acos

反余弦函数返回一个数字的三角反余弦

acos(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

 需要在-1到1的范围内,否则返回nan

返回值

角的三角反余弦

例子

cos(acos(y)) // y
​​​​​​​​​​​​​​

atan

​​​​​​​反正切函数返回一个数字的三角反正切

atan(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

任何自然数

返回值​​​​​​​

角的三角反正切

例子

tan(atan(y)) // y
​​​​​​​​​​​​​​

ceil

向上取整到最接近的整数

ceil(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

任何自然数

返回值

'number'的值向上取整到最接近的整数

例子

ceil(3.6) // 4

ceil(3.2) // 4

​​​​​​​​​​​​​​

floor

向下取整到最接近的整数

floor(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

任何自然数

返回值

'number'的值向下取整到最接近的整数

例子

floor(3.6) // 3

floor(3.2) // 3

​​​​​​​​​​​​​​

exp

计算e的number次方

exp(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

任何自然数

返回值

e的'number'次方

例子

exp(2) // 7.3891....
​​​​​​​​​​​​​​

sign

返回number的符号,大于0为1,等于0为0,小于0为 -1

sign(number)
语法版本需要 // @version=2 

类型

函数

参数说明​​​​​​​

名称

类型

说明

number

自然数

任何自然数

返回值

number的标志

例子

sign(123)  // 1

sign(0) // 0

sign(-12.23) // -1

​​​​​​​​​​​​​​

todegress

将弧度制的角度转换成度为单位的角度

todegress(radians)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

radians

数值

以弧度为单位的角度

返回值

以度为单位的角度

例子

todegress(3.14159) // ~180
​​​​​​​​​​​​​​

pow

幂计算

pow(base, exponent)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

base

数值

可进行运算的数值

exponent

数值

指数

返回值

base的exponent次方值

例子

pow(2, 3)  // 8
​​​​​​​​​​​​​​

avg

用于获取多个值的平均值

avg(source, source1, source2...)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据/数值

如close,更多取值见行情数据

返回值

返回平均值的数据

例子

// 返回多个数值中的最大值

avg0 = avg(open, close, high, hl2);

// 支持数值

avg1 = avg(close - open, 0);

​​​​​​​​​​​​​​

inrange

某值是否在范围内

inrange(dst, min, max)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据/数值

如close,更多取值见行情数据

min

序列数据/数值

如close,更多取值见行情数据

max

序列数据/数值

如close,更多取值见行情数据

返回值​​​​​​​

返回输入数值是否在范围内

例子

inrange(1, 0, 5) // true

inrange(close, low, high) // true

​​​​​​​​​​​​​​

random

生成限定范围内的随机数值

random(min, max, seed)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

min

序列数据/数值

如close,更多取值见行情数据

max

序列数据/数值

如close,更多取值见行情数据

seed

整数

在固定的范围内,使用相同的seed会生成重复的值

返回值

返回随机数值

例子

random(1, 4, 2) // 1.5019

random(1, 4) // 随机数

​​​​​​​​​​​​​​

reverse

取相反数

reverse(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

任何自然数

返回值

'number'的值取相反值

例子

reverse(3.6) // -3.6

reverse(-3) // 3

​​​​​​​​​​​​​​

frac

取number的小数部分

frac(number)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

number

自然数

任何自然数

返回值

'number'的小数部分

例子

frac(3.6) // 0.6

frac(3.2) // 0.2

​​​​​​​​​​​​​​

change

​​​​​​​比较当前 'source' 值与它的值 'length' K线之前的值并返回差值

change(source, length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数,可选,默认为1

返回值​​​​​​​

数值为数值时的值之间的差异,当使用bool是返回0或1,与之前的不同返回1

例子

change(close) // 与前一根k线close比较,得到差值

change(close, 3) // 与三根k线前的close比较,得到差值

​​​​​​​​​​​​​​

toradians

将角度制的角度转换成弧度为单位的角度

toradians(degress)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

degress

数值

以度为单位的角度

返回值

以弧度为单位的角度

例子

toradians(180) // ~3.1415
​​​​​​​​​​​​​​

correlation

相关系数。描述两个系列倾向于偏离其均值的程度

correlation(source, source1,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

相关系数

例子

// high与close在周期10内的相关系数

correlation(high, close, 10)

​​​​​​​​​​​​​​

cog

重心点。基于统计学和斐波那契黄金比例的指标

cog(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

重心值

例子

// close周期为5的重心值

cog(close, 5)

​​​​​​​​​​​​​​

falling

在length周期内是否下跌

falling(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

如果下跌返回true

例子

// close在最近5个周期是否下跌

falling(close, 5)

​​​​​​​​​​​​​​

highestbars

最高值的k线偏移量

highestbars(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

偏移到最高k线

例子

//  最近5根线中close最大值对应的k线偏移量

highestbars(close, 5)

​​​​​​​​​​​​​​

linreg

线性回归值,linreg = intercept + slope * (length - 1 - offset),其中 intercept 和 slope 是使用 `source` 系列的最小二乘法计算的值

linreg(source,length,offest)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

offest

数值

整数

返回值

线性回归值

例子

//  预测最接近线性的当前k线的值

linreg(close, 5, 0)

​​​​​​​​​​​​​​

lowestbars

最低值的k线偏移量

lowestbars(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

偏移到最低k线

例子

//  最近5根线中close最小值对应的k线偏移量

lowestbars(close, 5)

​​​​​​​​​​​​​​

median​​​​​​​

中位数

median(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值​​​​​​​

序列的中位数

例子

//  最近5根线中close的中位数

median(close, 5)

​​​​​​​​​​​​​​

mode

众数

mode(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

最常出现的值。如果不存在,则返回最小值

例子

//  最近5根线中close出现频率最高的数

mode(close, 5)

​​​​​​​​​​​​​​

percentile_linear_interpolation

使用最近的两个排名之间的线性插值方法计算百分比

percentile_linear_interpolation(source, length, percentage)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

percentage

数值

0至100内的数

返回值

`source`K线返回的`length`系列的第P个百分位数。

例子

//  最近5根线中close的50百分数

percentile_linear_interpolation(close, 5, 50)

​​​​​​​​​​​​​​

percentile_nearest_rank

使用最近的排名计算百分比

percentile_nearest_rank(source, length, percentage)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

percentage

数值

0至100内的数

返回值

`source`K线返回的`length`系列的第P个百分位数。

例子
//  最近5根线中close的50百分数

percentile_nearest_rank(close, 5, 50)

​​​​​​​​​​​​​​

percentrank

以前的值小于或等于给定系列当前值的百分比

percentrank(source, length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

`source`K线返回的`length`百分比排名

例子

//  最近5根线中close的排名

percentrank(close, 5)

​​​​​​​​​​​​​​

pivothigh

枢轴高点的值

pivothigh(source,  leftbars, rightbars)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

leftbars

数值

大于0的整数

rightbars

数值

大于0的整数

返回值

高点的价格或nan

例子

//  比左两根k线和右两根k线高的close

pivothigh(close, 2, 2)

​​​​​​​​​​​​

tarange

序列中最小值与最大值的差

tarange(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

序列中最小值与最大值的差

例子

//  最近5根线中close的差值

tarange(close, 5)

​​​​​​​​​​​​​​

rising

在length周期内是否上升

rising(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

如果上升返回true

例子

// close在最近5个周期是否上升

rising(close, 5)

​​​​​​​​​​​​​​

pivotlow

枢轴低点的值

pivotlow(source,  leftbars, rightbars)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

leftbars

数值

大于0的整数

rightbars

数值

大于0的整数

返回值

低点的价格或nan

例子

//  比左两根k线和右两根k线低的close

pivotlow(close, 2, 2)

​​​​​​​​​​​​​​

valuewhen

​​​​​​​返回K线上`source`系列的值,其中`condition`在最近第n次出现时为true

valuewhen(condition, source, occurrence)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

condition

序列数据

判断条件

source

序列数据

如close,更多取值见行情数据

occurrence

数值

大于0的整数

返回值​​​​​​​

source在条件成立时的值

例子

slow = ma(close, 7)

fast = ma(close, 14)

a1 = cross(slow, fast)

a2 = valuewhen(a1, close, 1)

​​​​​​​​​​​​​​

variance

方差

variance(source,length,bias)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

bias

布尔值

true时为有偏估计;false为无偏估计;可选,默认为true

返回值

方差

例子

// close周期为5的方差

variance(close, 5)

​​​​​​​​​​​​​​

count

在一定周期内满足条件的K线周期数

count(cond,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

cond

布尔数据

如close>open,需要是布尔系列值

length

数值

大于0的整数

返回值

周期数

例子

// 在20个周期内close大于open的数量

count(close>open, 20)

​​​​​​​​​​​​​​

barslast

上次满足条件后K线周期数,若当前k线满足则为0

barslast(cond)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

cond

布尔数据

如close>open,需要是布尔系列值

返回值

周期数

例子

// 上次close大于open到现在的k线数量

barslast(close>open)

 

// 内部实现

bars_last(x) {

    count = nan

    for i = 0; i <= 100;i++ {

        if x[i] {

            count := i

            break

        }

    }

    return count

}

​​​​​​​​​​​​​​

barslastcount

连续满足条件的K线周期数,若当前k线不满足则为0

barslastcount(cond)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

cond

布尔数据

如close>open,需要是布尔系列值

返回值

周期数

例子

// 统计连续收阳的周期数

barslastcount(close>open)

 

// 内部实现

bars_last_count(x) {

    count = nan

    for i = 0; i <= 100;i++ {

        if !x[i] {

            count := i

            break

        }

    }

    return count

}

​​​​​​​​​​​​​​

harmean

调和平均数

harmean(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

调和平均值

例子

// close周期为5的调和平均值

harmean(close, 5)

​​​​​​​​​​​​​​

hbars

高于当前值的第N个到现在的k线周期数,只计算最近500个周期,若不存在为0

hbars(source, N)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

N

数值

大于0的整数

返回值

周期数

例子

// 上一次高于当前close的周期数

hbars(close, 1)

​​​​​​​​​​​​​​

lbars​​​​​​​

低于当前值的第N个到现在的k线周期数,只计算最近500个周期,若不存在为0

lbars(source, N)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

N

数值

大于0的整数

返回值

周期数

例子

// 上一次低于当前close的周期数

lbars(close, 1)

​​​​​​​​​​​​​​

hbars1

高于输入值的第N个到现在的k线周期数,只计算最近500个周期,若不存在为0

hbars1(input, source, N)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

input

数据

比较的基准值

source

序列数据

如close,更多取值见行情数据

N

数值

大于0的整数

返回值

周期数

例子

// 上一次close高于当前ma5的周期数

ma5 = ma(close, 5)

hbars1(ma5, close, 1)​​​​​​​

​​​​​​​​​​​​​​

lbars1

低于输入值的第N个到现在的k线周期数,只计算最近500个周期,若不存在为0

lbars1(input, source, N)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

input

数据

比较的基准值

source

序列数据

如close,更多取值见行情数据

N

数值

大于0的整数

返回值

周期数

例子

// 上一次close低于当前ma5的周期数

ma5 = ma(close, 5)

lbars1(ma5, close, 1)

​​​​​​​​​​​​​​

condbars

满足两个条件中间的k线周期数,只计算最近500个周期,若不存在为0

condbars(cond, cond1)
语法版本需要 // @version=2 

类型

函数

参数说明​​​​​​

名称

类型

说明

cond

布尔数据

如close>open,需要是布尔系列值

返回值

周期数

例子

// ma3上穿ma5与ma3下穿ma5之间的周期数

ma3 = ma(close, 3)

ma5 = ma(close, 5)

up = crossup(ma3, ma5)

dn = crossdown(ma3, ma5)

k = condbars(up, dn)

​​​​​​​​​​​​​​

avedev

平均绝对偏差

avedev(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

偏差值

例子

// close在5个周期内的平均绝对偏差

avedev(close, 5)

 

// 内部实现

_avedev(x, y) {

    sum = 0

    ret = 0

    for i = 0; i <= y-1;i++ {

sum += x[i] / y

    }

    for i = 0; i <= y-1;i++ {

ret += abs(x[i] - sum)

    }

    return ret / y

}

​​​​​​​​​​​​​​

devsq

偏差平方和

devsq(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值​​​​​​​

偏差值

例子​​​​​​​​​​​​​​

// close在5个周期内的偏差平方和

devsq(close, 5)

 

// 内部实现

_devsq(x, y) {

    sum = 0

    ret = 0

    for i = 0; i <= y-1;i++ {

sum += x[i] / y

    }

    for i = 0; i <= y-1;i++ {

ret += pow(x[i] - sum, 2)

    }

    return ret

}

 

kurtosis​​​​​​​

峰度系数

kurtosis(source,length)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

length

数值

大于0的整数

返回值

偏差值

例子

// close在5个周期内的峰度系数

kurtosis(close, 5)

 

// 内部实现

n = 5

avg = ma(close, 5)

k2 = variance(close, 5, false)

sum = 0

for i = 0; i <= n-1;i++ {

sum += pow(close[i] - avg, 4)

}

ret = (n+1)*n / ((n-1)*(n-2)*(n-3))*sum / pow(k2, 2) - 3*pow(n-1, 2)/(n-2)/(n-3)

​​​​​​​

normpdf​​​​​​​

正态分布概率密度

normpdf(source,mu, sigma)
语法版本需要 // @version=2 

类型

函数

参数说明​​​​​​

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

mu

数值

位置参数

sigma

数值

位置参数

返回值

偏差值

例子

// 参数为MU和SIGMA的正态分布密度函数在source处的值

normpdf(close, 0, 1)

numpow​​​​​​​

自然数幂方和

numpow(source,N, M)
语法版本需要 // @version=2 

类型

函数

参数说明​​​

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

N

数值

大于0的整数

M

数值

任意数值

返回值

幂方和

例子

// close在5个周期内的幂方和

numpow(close, 5, 2)

​​​​​​​

covariance

协方差

covariance(source,source2, N, bias)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

N

数值

大于0的整数

bias

数值

true时为有偏估计,false为无偏估计;可选,默认为true

返回值

协方差

例子

// close和open在5个周期内的协方差

covariance(close, open, 5, false)

slope

线性回归的斜率

slope(source,N)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

source

序列数据

如close,更多取值见行情数据

N

数值

大于0的整数

返回值​​​​​​​

斜率

例子

// close在5个周期线性拟合的斜率

slope(close, 5)

every

是否一直满足条件

every(cond,N)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

cond

布尔数据

如close>open,需要是布尔系列值

N

数值

周期,大于0的整数

返回值

布尔值

例子​​​​​​​

// 在5个周期内一直是阳线

every(close>open, 5)

 

exist

是否存在满足条件的周期

exist(cond,N)
语法版本需要 // @version=2 

类型

函数

参数说明

名称

类型

说明

cond

布尔数据

如close>open,需要是布尔系列值

N

数值

周期,大于0的整数

返回值

布尔值

例子

// 在5个周期内存在阳线

exist(close>open, 5)

 

 

 

关联阅读:

AICoin自定义指标函数文档——行情数据

AICoin自定义指标函数文档——指标函数

AICoin自定义指标函数文档——配置及交易函数

函数文档——画图、预警与条件表达式

AICoin自定义指标函数文档——运算符汇总

AICoin自定义指标函数文档——数据类型及函数定义

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

分享至:
APP下載

X

Telegram

Facebook

Reddit

複製鏈接