HQChart使用教程33-如何在麦语法中自定义变量

151 篇文章 33 订阅

新版本增加自定义变量教程

版本1.1.9122以后的用下面的教程。 老的已经废弃了。
HQChart使用教程30-K线图如何对接第3方数据25-指标脚本自定义变量

麦语法变量

目前系统语法中系统指标有COLSE(收盘价), OPEN(开盘价)等,这些变量都会对应相应的股票数据。HQChart允许动态增加系统变量,来满足你的业务需求

增加系统自定义变量函数

JSComplier.AddVariant(obj) 可以往HQChart增加一个自定义变量

JSComplier.AddVariant({ Name:'变量名',Download:数据下载函数, Read:数据读取函数 } );

Name

变量名, 大写,如果和系统提供的变量冲突, 自定义变量无效

Download

变量数据下载函数, 在指标初始化的时候会调用, 支持异步取数据,如果不需要下载数据设置为null.

Read

读取变量函数, 指标中使用这个变量时会调用。 一次指标执行中只调用一次,.读取数据以后会缓存到HQChart中,后续直接读缓存

例子 用户买股票数据

USERBUY = 用户买卖某一个股票的数据。数据返回用户买股票的个数

  1. 我们定义个买卖数据下载函数
 var USER_BUY; //用户买股票数据
 function DownloadUserBuy(obj)
 {
     console.log('[DownloadUserBuy] obj ', obj);
     //模拟异步读取用户信息
     setTimeout(()=>
     { 
         USER_BUY=new Map([
             [20190705, {Count: 1 }],	//买股票日期, Count 买这个股票的次数
             [20190714, {Count: 3 }],
             [20190806, {Count: 1 }],
             [20190826, {Count: 1 }],
             [20190902, {Count: 2 }],
         ]);
         obj.Success();				//通知HQChart数据已到达继续执行, 需要要调用,否则指标会一直等待
     }, 500);
 }

DownloadUserBuy 入参(obj)说明

数据截图

在这里插入图片描述

Name

变量名称

Symbol

股票名称

KData

K线数据

Period

周期

Right

复权

Success

通知HQChart数据下载完成函数

  1. 定义一个读取买数据函数
function GetUserBuy(obj)
{
     console.log('[GetUserBuy] obj ', obj);
     var result=[]; //返回数组数据, 时间和KDataK线数据的日期时间一致
     for(var i in obj.KData.Data)
     {
         result[i]=0;
         var item=obj.KData.Data[i];	//读取每天的K线
         if (USER_BUY.has(item.Date))   
             result[i]=USER_BUY.get(item.Date).Count; //写入用户买股票数据到某一天的结果
     }

     return result;
 }

GetUserBuy 入参(obj)说明

数据截图

在这里插入图片描述

Name

变量名称

Symbol

股票名称

KData

K线数据

Period

周期

Right

复权

返回

int/double 型的数组

  1. 把自定义变量添加到HQChart里
 JSComplier.AddVariant({ Name:'USERBUY',Download:DownloadUserBuy, Read:GetUserBuy } );
  1. 写一个指标测试下吧
    把用户买股票的数据显示在K线上

T:=USERBUY;
DRAWICON(T>0,HIGH+0.1,13); //图标13时一个B的图标

  1. 效果图
    在这里插入图片描述

如果还有问题可以加交流QQ群: 950092318

HQChart代码地址
地址:github.com/jones2000/HQChart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HQChart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值