HQChart使用教程30-K线图如何对接第3方数据26-指标脚本自定义函数
作者:互联网
HQChart使用教程30-K线图如何对接第3方数据26-指标脚本自定义函数
增加系统自定义变量函数
JSComplier.AddFunction(obj) 可以往HQChart增加一个自定义函数, 在SetOption前调用。
JSComplier.AddVariant({ {Name:"函数名", Description:"函数描述信息", IsDownload:"是否需要下载数据true/false", Invoke:"方法回调" } );
Name
函数名
Description
函数描述信息
IsDownload
是否需要下载数据, 如果设置为false, 不会触发NetworkFilter回调
true/false
Invoke
函数方法实现
自定义函数数据接口
通过NetworkFilter回调来获取数据
this.NetworkFilter=function(data, callback)
{
console.log('[KLineChart::NetworkFilter] data', data);
switch(data.Name)
{
case 'JSSymbolData::GetCustomFunctionData': //自定义函数数据下载
this.GetCustomFunctionData(data, callback);
break;
}
}
协议名称-自定义函数数据下载
对应代码的类名和函数名: JSSymbolData::GetCustomFunctionData
协议日志截图
参数说明
Request 字段说明
FunctionName
函数名
JobItem.Args
参数列表
daterange
K线数据日期范围
返回json数据结构
Data
数据 { Date:日期, Time:时间(分钟K线才有) , Value:数值 }
DataType
数据结构类型
0 = 数组类型, 数据平滑处理
1 = 单值数据
2 = 数组类型 数据不做平滑处理,默认都是0.
具体数据结构参见 HQChart使用教程30-K线图如何对接第3方数据25-指标脚本自定义变量
自定义函数实现
如果自定义函数有计算功能, 就需要实现自定义函数的计算功能, 需要设置Invoke回调计算函数,
如果 Invoke设置为null, 直接就返回下载的数据
函数格式: function(obj)
this.Create=function() //创建图形
{
.............
JSComplier.AddFunction({Name:"BUYSTOCK", Description:"用户买入", IsDownload:true,
Invoke:(obj)=>this.BUYSTOCK(obj)
})
..............
this.Option.NetworkFilter=function(data, callback) { self.NetworkFilter(data, callback); }; //绑定网络协议回调
this.Chart.SetOption(this.Option); //设置K线配置
........................
}
this.BUYSTOCK=function(obj)
{
console.log('[KLineChart::BUYSTOCK] obj', obj);
return { Out:10 };
}
1. 回调函数参数说明
Args
函数参数
DownloadData
函数下载数据, 如果IsDownload设置为true, 这里保存的就是下载的数据.
KData
K线数据
Name
函数名
Period
周期
Right
复权
Symbol
股票代码
ThrowError
执行异常回调函数
2. 返回格式
{ Out: 返回的数据 }
单值
如 return { Out:10 };
数组
如: return { Out:[1,20,22…] };
返回的数据长度必须和K线的长度一致
交流QQ群
如果还有问题可以加交流QQ群: 950092318
HQChart代码地址
地址:github.com/jones2000/HQChart
标签:HQChart,obj,函数,自定义,data,30,数据 来源: https://blog.csdn.net/jones2000/article/details/112809781