编写股票技术指标是一项结合数学计算与市场逻辑的工作。无论是想在通达信、大智慧、文华财经等软件中编写自定义指标,还是希望用Python/Excel实现量化回测,其核心逻辑都是相通的。
下面我将为你系统讲解技术指标的编写方法、步骤、常用函数及注意事项,并提供几个经典指标的源码示例。
一、技术指标编写的基本原理
技术指标的本质是通过特定数学公式,对价格(开高低收) 和成交量等原始数据进行处理,提炼出能够辅助判断市场趋势、买卖点的信号。
- 数据源:最常见的是收盘价(CLOSE),此外还有开盘价(OPEN)、最高价(HIGH)、最低价(LOW)、成交量(VOL)等。
- 计算周期:计算指标所采用的时间窗口长度,例如MA5就是取最近5个交易日的收盘价进行计算。
- 输出方式:将计算结果以曲线(LINE)、柱状线(STICK)、颜色变化或数字提示等方式在图表上直观显示出来。
二、编写指标的一般步骤
编写一个指标通常遵循以下流程,从明确目标到最终测试优化:

三、通用函数与语法(以通达信/大智慧为例)
不同平台的函数名称可能略有差异,但逻辑相似。以下是一些最常用的函数:
| 函数类型 | 函数示例 | 说明 |
|---|---|---|
| 数据引用 | CLOSE, OPEN |
引用收盘价、开盘价 |
HIGH, LOW |
引用最高价、最低价 | |
VOL |
引用成交量 | |
REF(X, N) |
引用N周期前的X值,例如REF(CLOSE, 1)表示昨日收盘价 |
|
| 数学计算 | MA(X, N) |
计算X的N周期简单移动平均,例如MA(CLOSE, 5)表示5日均线 |
EMA(X, N) |
计算X的N周期指数移动平均(更重视近期数据) | |
SMA(X, N, M) |
计算X的N周期移动平均,M为权重 | |
HHV(X, N) |
求N周期内X的最高值 | |
LLV(X, N) |
求N周期内X的最低值 | |
SUM(X, N) |
求X的N周期总和 | |
| 逻辑判断 | CROSS(A, B) |
判断A是否上穿B(金叉),例如CROSS(MA5, MA10) |
IF(COND, A, B) |
条件判断函数,如果条件COND成立,返回A,否则返回B | |
| 图形绘制 | DRAWICON |
在满足条件的位置绘制图标(如箭头) |
DRAWTEXT |
在满足条件的位置显示文字 | |
STICKLINE |
绘制柱状线 | |
PLOYLINE |
绘制折线 |
四、经典指标源码示例
1. 移动平均线 (MA)
MA5:MA(CLOSE,5); {绘制5日均线}
MA10:MA(CLOSE,10); {绘制10日均线}
MA20:MA(CLOSE,20); {绘制20日均线}
2. 指数平滑异同移动平均线 (MACD)
DIF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2, COLORSTICK; {绘制MACD柱状线}
3. 相对强弱指标 (RSI)
LC := REF(CLOSE,1); {昨日收盘价}
RSI1:SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*100; {计算6日RSI}
4. 自定义买卖点指标示例
{策略逻辑:5日线上穿10日线,且成交量放大超过5日均量线的1.5倍时,标记买入信号}
MA5 := MA(CLOSE, 5);
MA10 := MA(CLOSE, 10);
VOL_MA5 := MA(VOL, 5);
BuyCondition := CROSS(MA5, MA10) AND VOL > VOL_MA5 * 1.5;
DRAWICON(BuyCondition, LOW, 1); {在最低价位置绘制1号买入图标}
五、注意事项与高级技巧
- 避免未来函数:确保指标公式中不使用未来函数(如
ZIG、PEAK等),这类函数引用未来数据,会导致回测表现完美但实战无效,俗称“漂移”。 - 优化参数:指标的周期参数(如N值)不是一成不变的。可以通过回测找到最适合当前品种和市场的参数。
- 组合使用:单个指标总有局限性,将不同类型(趋势、摆动、能量)的指标组合使用,可以有效过滤假信号,提高胜率。例如,均线金叉时,如果RSI也从超卖区回升,信号更可靠。
- 理解市场逻辑:最好的指标往往蕴含深刻的市场理解。在编写前,想清楚你要捕捉的是哪种市场现象(趋势、超买超卖、动能、波动率等)。
提示:以上代码示例主要适用于通达信、大智慧等国内主流股票软件。如果在Python中编写,通常会使用
pandas、numpy等库进行数据处理和计算。
编写指标是一个从模仿到创新的过程。建议先从理解和修改经典指标开始,逐步加入自己的思路,最终形成独有的交易系统。
正文完