指标函数
macd
macd(指数平滑异同移动平均线), 利用长周期EMA和短周期EMA之间的差异状况,来判断中长期趋势的技术指标。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
N1 |
数值 |
短周期 |
N2 |
数值 |
长周期 |
M |
数值 |
DEA周期 |
maType1 |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
maType2 |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
dif 、dea、macd
例子
// 内部实现的代码
N1 = 12;
N2 = 26;
M = 9;
// maType1 配置的均值方式作用于 dif 的计算
dif = ema(close, N1) - ema(close, N2);
// maType2 配置的均值方式作用于 dea 的计算
dea = ema(dif, M);
macd = (dif - dea) * 2;
ma
ma(移动平均线),返回简单移动平均值(即算术平均值)。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
周期 |
返回值
返回序列数据source在周期length下的简单移动平均值
例子
func_ma(x,y) {
sum = 0.0
for (i = 0; i < y; i++){
sum := sum + x[i]/y
}
return sum
}
func_ma10 = func_ma(close, 10)
ema
ema(指数平滑移动平均线),返回系数alpha为2/N+1的指数移动平均值。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
周期 |
返回值
返回序列数据series在周期length下的指数平均值
例子
boll
boll(布林线指标),通过计算价格的标准差,再求价格的信赖区间,是路径型指标,该指标在图形上画出三条线,上下两条线可以分别看成价格的压力线和支撑线,中间为价格平均线。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
N |
数值 |
中轨线周期 |
M |
数值 |
标准差倍数 |
返回值
boll、ub、lb
例子
// 内部实现
N = 20;
M = 2;
boll = ma(close, N);
ub = boll + sd(close, N) * M;
lb = boll - sd(close, N) * M;
kdj
kdj(随机指标),用于市场中短期趋势分析,在计算过程中主要研究高低价位与收盘价的关系,反映价格走势的强弱和超买超卖现象。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
周期 |
mac1 |
数值 |
K线均值周期 |
mac2 |
数值 |
D线均值周期 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
k、d、j
例子
// 内部实现
length = 9;
mac1 = 3;
mac2 = 3;
h = highest(high, length);
l = lowest(low, length);
rsv = 100 * ((close - l) / (h - l));
// maType配置的均值方式作用于 k 和 d 的计算
k=smma(rsv, mac1, 1);
d=smma(k, mac2, 1);
j=3 * k - 2 * d;
rsi
rsi(相对强度指数),根据指数加权移动平均线的向上和向下变化数组来计算相对强度指数。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
周期 |
返回值
返回数值,表示相对强弱指标
例子
// 内部实现
length=14;
u = smma(max(close-close[1], 0), length);
d = smma(-min(close-close[1], 0), length);
rsi14 = d == 0 ? 100 : (u == 0 ? 0 : 100 * (u / (u + length)));
td
td(狄马克序列),用于推算趋势衰竭的时机,识别市场趋势或盘整过程中的潜在转折点
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
返回值
td
例子
obv
obv(能量潮指标),将市场的成交量与价格的关系数字化、直观化,以市场的成交量来衡量市场的推动力,从而研判价格的走势。
类型
函数
参数说明
名称 |
类型 |
说明 |
length |
数值 |
移动平均周期 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
obv、maobv
例子
// 内部实现
change = close - close[1];
obv = cum((change > 0 ? 1 : change < 0 ? -1 : 0 ) * volume);
maobv = ma(obv, 10);[obv, maobv]=obv(10, 'MA');
stochrsi
stochrsi(随机相对强弱指数),结合了随机指标和相对强弱指标两种非常流行的技术分析指标。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
rsilength |
数值 |
rsi的均值周期 |
stochlength |
数值 |
stoch的均值周期 |
fast |
数值 |
stochrsi的均值周期 |
slow |
数值 |
mastochrsi的均值周期 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
stchrsi、mastochrsi
例子
// 内部实现
rsilength=14;
stochlength=14;
rsi14 = rsi(close, rsilength);
stoch = 100 * (rsi14 - lowest(rsi14, stochlength)) / (highest(rsi14, stochlength) - lowest(rsi14, stochlength));
stochrsi = ma(stoch, 3);
mastochrsi = ma(k, 3);
cci
cci(商品路径指标),计算方法是商品的典型价格与其简单移动平均线之间的差值除以典型价格的平均绝对偏差。该指数按0.015的倒数进行缩放,以提供更多可读的数字。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
周期 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
顺势指标关于周期回溯K线。
例子
// 内部实现
length=20;
// maType配置的均值方式作用于 matp 的计算
matp = ma(close, length);
md = dev(close, length);
cci=(close-matp) / (0.015 * md);
skdj
skdj(慢速随机指标),skdj指标优化了kdj指标,通过差值平均过滤了短期的波动。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
周期 |
mac1 |
数值 |
k均值周期 |
mac2 |
数值 |
d均值周期 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
k、d
例子
// 内部实现
length = 9;
mac1 = 3;
mac2 = 3;
h = highest(high, length);
l = lowest(low, length);
rsv =100*((close-l)/(h-l));
k = ma(rsv, mac1);
d = ma(k, mac2);
bbi
bbi(多空指数),将不同周期移动平均线加权后的综合指标,一般选用3、6、12、24等4个参数
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
N1 |
数值 |
BBI周期1 |
N2 |
数值 |
BBI周期2 |
N3 |
数值 |
BBI周期3 |
N4 |
数值 |
BBI周期4 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
bbi
例子
// 内部实现
N1=3;
N2=6;
N3=12;
N4=24;
bbi = (ma(close, N1) + ma(close, N2) + ma(close, N3) + ma(close, N4)) / 4;
supertrend
超级趋势指标。超级趋势指标是一个跟随趋势的指标
类型
函数
参数说明
名称 |
类型 |
说明 |
factor |
数值 |
atr的乘数 |
atrPeriod |
数值 |
atr的计算周期 |
返回值
supertrend, direction
例子
// 内部实现
indicator(precision = 8)
src = hl2
factor = 3
atr = atr(close, 10, 1, "SMMA")
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand[1])
prevUpperBand = nz(upperBand[1])
lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
int direction = nan
float superTrend = nan
prevSuperTrend = superTrend[1]
if na(atr[1]) {
direction := 1
} else if (prevSuperTrend == prevUpperBand) {
direction := close > upperBand ? -1 : 1
} else {
direction := close < lowerBand ? 1 : -1
}
superTrend := direction == -1 ? lowerBand : upperBand
plot(direction < 0 ? superTrend : nan, title = 'Up direction')
plot(direction > 0 ? superTrend : nan, title = 'Down direction')
alligator
鳄鱼指标。鳄鱼指标是一个趋势型指标
类型
函数
参数说明
名称 |
类型 |
说明 |
source1 |
序列数据 |
如close,更多取值见行情数据 |
source2 |
序列数据 |
如close,更多取值见行情数据 |
N1 |
数值 |
jaw周期
|
N2 |
数值 |
teeth周期
|
N3 |
数值 |
lips周期 |
N4 |
数值 |
jaw周期 |
N5 |
数值 |
teeth偏移 |
N6 |
数值 |
lips偏移 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
jr, tr, lr
例子
// 内部实现
N1 = 13
N2 = 8
N3 = 5
N4 = 8
N5 = 5
N6 = 3
mid = (high + low) / 2
jaw = smma(mid, N1)
teeth = smma(mid, N2)
lips = smma(mid, N3)
alma
Arnaud Legoux移动平均线使用高斯分布作为移动平均值的权重
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
周期 |
offest |
数值 |
控制平滑度 |
sigma |
数值 |
改变alma平滑度 |
返回值
返回序列数据source的Arnaud Legoux移动平均值
例子
iii
盘中强度指数
类型
函数
参数说明
无参数输入
返回值
序列数据
例子
// 内部实现
a = (2 * close - high - low) / ((high - low) * volume)
nvi
负量指标
类型
函数
参数说明
无参数输入
返回值
序列数据
例子
// 内部实现
nvi = 1.0
prevNvi = (nz(nvi[1], 0.0) == 0.0) ? 1.0: nvi[1]
if (nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0){
nvi := prevNvi
}else{
nvi := (volume < nz(volume[1], 0.0)) ? prevNvi + ((close - close[1]) / close[1]) * prevNvi : prevNvi
}
pvi
正量指标
类型
函数
参数说明
无参数输入
返回值
序列数据
例子
// 内部实现
pvi = 1.0
prevPvi = (nz(pvi[1], 0.0) == 0.0) ? 1.0: pvi[1]
if (nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0){
pvi := prevPvi
}else{
pvi := (volume > nz(volume[1], 0.0)) ? prevPvi + ((close - close[1]) / close[1]) * prevPvi : prevPvi
}
pvt
价格趋势指标
类型
函数
参数说明
无参数输入
返回值
序列数据
例子
// 内部实现
a = cum((change(close) / close[1]) * volume)
tr
真实波动幅度
类型
函数
参数说明
无参数输入
返回值
序列数据
例子
// 内部实现
tr = max(high - low, abs(high - close[1]), abs(low - close[1]))
wad
类型
函数
参数说明
无参数输入
返回值
序列数据
例子
// 内部实现
trueHigh = max(high, close[1])
trueLow = min(low, close[1])
mom = change(close)
gain = (mom 0) ? close - trueLow : (mom < 0) ? close - trueHigh : 0
a = cum(gain)
wvad
类型
函数
参数说明
无参数输入
返回值
序列数据
例子
// 内部实现
a = (close - open) / (high - low) * volume
ad
累积/分布指数
类型
函数
参数说明
名称 |
类型 |
说明 |
period |
周期 |
进行求和的周期,0为对历史求和 |
返回值
序列数据
例子
// 内部实现
ad = ((Close - Low) - (High - Close))/(High - Low) * volume
adl = cum(ad)
kcw
肯特纳通道宽度
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
N |
数值 |
计算周期 |
M |
数值 |
因数 |
maType |
字符串 |
均值的方式,支持 MA/EMA/SMMA |
返回值
width
例子
// 内部实现
N = 20 ;
M = 1 ;
tr = max(high - low, abs(high - close[1]), abs(close[1] - low)) ;
atr = ema(tr, N) ;
ema_close = ema(close, N) ;
up = ema_close + atr * M ;
mid = ema_close ;
lw = ema_close - atr*M ;
width = (up - lw) / mid
swma
swma(对称加权移动平均线),返回对称加权移动平均值。
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
返回值
返回序列数据source的对称加权移动平均线
例子
// 内部实现
func_swma(x) {
return x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
}
func_swma = func_swma(close)
hma
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
大于0的整数 |
返回值
返回 ' length' 柱的 'source' 的船体移动平均线
例子
hma(close, 5)
stoch
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
大于0的整数 |
返回值
随机指标值
例子
stoch(close, high, low, 5)
adma
类型
函数
参数说明
名称 |
类型 |
说明 |
source |
序列数据 |
如close,更多取值见行情数据 |
length |
数值 |
大于0的整数 |
P |
数值 |
大于0的整数,快线频率 |
Q |
数值 |
大于0的整数,慢线频率 |
返回值
返回 ' length' 柱的 'source' 的考夫曼均值
例子
adma(close, 9, 2, 30)
// 内部实现
direction = abs(close - close[9])
volatility = sum(abs(close - close[1]), 9)
er = direction / volatility
fastsc = 2 / (2 + 1)
slowsc = 2 / (30 + 1)
smooth = er * (fastsc - slowsc) + slowsc
constant = smooth * smooth
last = ema(close, 9)[1]
amaclose = last + constant * (close - last)
关联阅读:
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。