技术指标函数

金字塔把常用的经典技术指标都做成了内置函数——你不用从零算,直接调用即可。本章按类别梳理最常用的指标函数,并给出几个经典指标的 PEL 实现源码。

一、均线类

函数含义特点
MA(X,N)简单移动平均等权、稳定、有滞后
EMA(X,N)指数移动平均近期权重大、更灵敏
SMA(X,N,M)加权递推平均Y=(M*X+(N-M)*昨日)/N
WMA(X,N)线性加权平均按时间线性加权
DMA(X,A)动态移动平均A 为平滑因子
MA5:   MA(CLOSE, 5);
EMA20: EMA(CLOSE, 20);
多头:  MA5 > EMA20;       { 短期在长期之上 }

二、MACD

金字塔没有把 MACD 做成单一函数,而是用 EMA 组合实现(和通达信一致):

DIFF: EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:  EMA(DIFF,9);
MACD柱: 2*(DIFF - DEA), COLORSTICK;     { 柱状线,红绿 }

用法:DIFF 上穿 DEA(金叉)看多,下穿(死叉)看空;MACD 柱由负转正也偏多。

三、KDJ

KDJ 同样用基础函数拼装,是 PEL 里很典型的写法:

RSV := (CLOSE - LLV(LOW,9)) / (HHV(HIGH,9) - LLV(LOW,9)) * 100;
K: SMA(RSV, 3, 1);
D: SMA(K, 3, 1);
J: 3*K - 2*D;

常见用法:K 上穿 D(金叉)买入、J 超买(>90)/ 超卖(<10)做反向预警。

四、其他动量与趋势指标

函数含义
RSI(N) 或自建相对强弱,0~100,>70 偏强、<30 偏弱
SAR(N,S,M)抛物线止损点,N 周期、S 步长、M 极限
SARTURN(N,S,M)SAR 拐点:1 向上、-1 向下
TR真实波幅(ATR 的原料)
STD(X,N)N 周期标准差
BOLL 系列布林带,可用 STD 自建

布林带自建示例:

中轨: MA(CLOSE, 20);
上轨: 中轨 + 2*STD(CLOSE, 20);
下轨: 中轨 - 2*STD(CLOSE, 20);

ATR(平均真实波幅,常用于止损):

ATR: MA(TR, 14);

五、数学函数

函数含义
MAX(A,B) / MIN(A,B)两数最大 / 最小
ABS(X)绝对值
POW(A,B)A 的 B 次方
SQRT(X)开方
LN(X) / LOG(X)自然对数 / 常用对数
MOD(A,B)取余
CEILING(X) / FLOOR(X)向上 / 向下取整
ROUND(X) / ROUNDS(A,B)取整 / 保留 B 位小数
真实波幅简化版: MAX(HIGH-LOW, ABS(HIGH-REF(CLOSE,1)));

六、ZIG 与峰谷函数

金字塔内置了转折点识别函数(注意它们含未来逻辑,回测很准、实盘会漂移,谨慎使用):

函数含义
ZIG(K,N)之字转向,K 为价格类型、N 为转折阈值 %
PEAK(K,N,M)第 M 个波峰值
TROUGH(K,N,M)第 M 个波谷值
PEAKBARS(K,N,M)距第 M 个峰几根

七、一个综合示例

「均线多头排列 + MACD 金叉 + 放量」三重共振:

MA5  := MA(CLOSE,5);
MA20 := MA(CLOSE,20);
多头 := MA5 > MA20;

DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);
金叉 := CROSS(DIFF, DEA);

放量 := VOL > MA(VOL,5) * 1.5;

共振: 多头 AND 金叉 AND 放量;

小结

均线看趋势、MACD/KDJ 看强弱转折、BOLL/ATR 看波动区间、ZIG/PEAK/TROUGH 识别转折(含未来,慎用)。 掌握这些,绝大多数实战策略都能拼出来。接下来进入实战回测: 策略回测与图表