.. _api-factor: ================== 技术分析 ================== 指标注册与获取函数 ====================================================== reg_indicator - 注册指标 ------------------------------------------------------ .. py:function:: reg_indicator(name, factor, freq='1d', win_size=10) 将函数注册为技术指标,注册后可以通过调用 :py:func:`~get_indicator` 获取技术指标计算结果 :param name: 指标名称 :type name: str :param factor: 指标函数对象 :type factor: :py:data:`~typing.Union`\[:py:data:`~typing.Callable`, :py:class:`~Factor`] :param freq: 指标的计算周期,支持日级别与分钟级别,'1d'代表每日,'5m'代表5分钟 :type freq: str :param win_size: 获取数据回溯窗口。该指标用于在注册指标时让系统获取回溯获取数据的最大窗口,便于数据的加载与预计算 :type win_size: int :exapmle: .. code-block:: python # 定义指标函数体本身 def KDJ_SIGNAL(): # 连续两个周期J值一直在超买区 K, D, J = KDJ() return EVERY(J > 80, 2) # 注册技术指标 reg_indicator('kdj', KDJ_SIGNAL, '1d', win_size=20) get_indicator - 获取指标 ------------------------------------------------------ .. py:function:: get_indicator(self, order_book_id, name) 获取技术指标的计算结果 :param order_book_id: 标的代码 :type order_book_id: str :param name: 指标名称 :type name: str :return: 定义指标返回值 :exapmle: .. code-block:: python # 定义指标函数体本身 def KDJ_SIGNAL(): # 连续两个周期J值一直在超买区 K, D, J = KDJ() return EVERY(J > 80, 2) # 注册技术指标 reg_indicator('kdj', KDJ_SIGNAL, '1d', win_size=20) # 获取指标计算结果 get_indicator('000001.XSHE', 'kdj')