register_indicator_class

扩展进程 -> 主进程,注册/更新自定义技术指标类

Example

{
    "aid": "register_indicator_class",        //必填, 标示此数据包为注册技术指标类
    "name": "MACD",                           //必填, 指标名称, 必须全局唯一
    "cname": "MACD",                          //可选, 指标中文名称, 缺省为与name相同
    "memo": "this is macd",                   //可选, 指标说明, 可以为任意字符串
    "type": "MAIN",                           //必填, 指标类型, "MAIN" = 主图指标, "SUB" = 附图指标
    "state": "KLINE",                         //必填, 指标数据类型, "KLINE" = 指标在K线图上使用, "TICK" = 指标在tick图上使用
    "yaxis": [                                //可选, 定义技术指标对Y坐标轴的要求, 每项定义一个Y轴,缺省为技术指标只使用一个普通Y轴
        {
            "id": 0,                          //必填, Y轴ID号
            "mid": 0,                         //可选, 指定Y坐标是否使用中线对称. 缺省或NaN表示不需要中线对称, 否则为指定中线数值
            "format": "NUMBER0"               //可选, 制定Y坐标显示格式, PRICE / HUGE / NUMBER0 / NUMBER1 / NUMBER2 / PERCENT0 /PERCENT1 /PERCENT2,
        }
    ],
    "params": [                               //可选, 技术指标参数表,每项定义一个参数。缺省为技术指标不需要任何参数
        {
           "name": "M",                       //必填, 参数名
           "memo": "this is M",               //可选, 参数说明,可以为任意字符串
           "type": "NUMBER",                  //必填, 参数类型,"NUMBER"=数值, "COLOR"=颜色, "STRING"=字符串
           "default": 1500,                   //必填, 参数默认值
           "min": 1000,                       //可选, 参数最小值, 仅当 type=NUMBER 时有效
           "max": 3800,                       //可选, 参数最大值, 仅当 type=NUMBER 时有效
        },
    ],
}

Remarks

扩展进程向主进程发送 register_indicator_class 包,声明扩展进程可以提供自定义技术指标

扩展进程如果可以提供多个自定义技术指标,应当发送多个 register_indicator_class 包,每个包声明一个技术指标

如果技术指标定义有变化,可以再次发送 register_indicator_class 来更新定义

如果扩展进程不再提供某技术指标,可以发送 unregister_indicator_class 来取消注册

如果多个扩展进程都声明了相同name的指标,则最后一个注册的有效

指标类型

type字段标记指标类型。 type="MAIN"时,表示指标为主图指标,默认在主图中输出; type="SUB"时,表示指标为副图指标,添加指标时默认会创建新的副图。

state字段标示指标数据类型 "KLINE" = 指标在K线图上使用, "TICK" = 指标在tick图上使用

Y轴

每个技术指标可以包含任意多个输出序列,这些输出序列可以分别属于不同的Y轴,也允许多个输出序列使用同一个Y轴。 缺省情况下,一个技术指标中的所有输出序列都使用ID=0的Y轴。

Name Value/Description
PRICE Y轴显示价格信息, 自动按照合约价格信息格式化
NUMBER0 显示0位小数的数值
NUMBER1 显示1位小数的数值
NUMBER2 显示2位小数的数值
PERCENT0 显示0位小数的百分比
PERCENT1 显示1位小数的百分比
PERCENT2 显示2位小数的百分比
HUGE 可能输出很大的数值,显示时会自动调整单位为千,万或百万

指标参数

技术指标可以有0-N个参数