# 原生指标函数
Lambda提供了大量原生指标函数。用户策略里可以直接使用这些指标,不需要自己用pandas重写 MA / MACD / CROSS。
常用写法:
def handle_bar(context, bar_dict):
ma5 = MA(CLOSE, 5)
ma10 = MA(CLOSE(), 10)
buy_signal = CROSS(ma5, ma10)
price_filter = CLOSE > ma5
# 需要读取 MACD 三个结果序列时,先绑定 KData,再按结果序号访问。
stock = sm[to_internal_code(context.stock)]
kdata = stock.get_kdata(Query(Datetime(202606100000), Datetime(202607090000), Query.DAY))
macd = MACD(CLOSE, 12, 26, 9)(kdata)
dif = macd.get_result(0)
dea = macd.get_result(1)
bar = macd.get_result(2)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
常用原生指标包括:
| 类别 | 函数 |
|---|---|
| 行情源指标 | KDATA、OPEN、HIGH、LOW、CLOSE、AMO、VOL |
| 均线和趋势 | MA、EMA、SMA、WMA、MACD |
| 交叉和引用 | CROSS、LONGCROSS、REF、BARSLAST、BARSCOUNT |
| 区间统计 | HHV、LLV、COUNT、SUM |
| 基础运算 | ABS、MAX、MIN、IF |
说明:
- 这些函数底层复用原生
Indicator,不是 Python 层重新计算。 CLOSE这类源指标既支持CLOSE(),也支持作为参数直接写入MA(CLOSE, 5)。- 在
run_backtest/run_signal的干净策略里,runner 会自动注入这些原生指标名;普通脚本需要手工从pylambda导入。 - 当前不提供
formula_indicator这类字符串公式解析入口;完整通达信公式脚本转换后续按独立转换器设计,不在本批 Python API 中实现。