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个参数