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

个人爱好(摄影/模型)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jones2000/article/details/112809781