# 原生指标函数

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

常用原生指标包括:

类别 函数
行情源指标 KDATAOPENHIGHLOWCLOSEAMOVOL
均线和趋势 MAEMASMAWMAMACD
交叉和引用 CROSSLONGCROSSREFBARSLASTBARSCOUNT
区间统计 HHVLLVCOUNTSUM
基础运算 ABSMAXMINIF

说明:

  • 这些函数底层复用原生 Indicator,不是 Python 层重新计算。
  • CLOSE 这类源指标既支持 CLOSE(),也支持作为参数直接写入 MA(CLOSE, 5)
  • run_backtest/run_signal 的干净策略里,runner 会自动注入这些原生指标名;普通脚本需要手工从 pylambda 导入。
  • 当前不提供 formula_indicator 这类字符串公式解析入口;完整通达信公式脚本转换后续按独立转换器设计,不在本批 Python API 中实现。