K线图及走势图数据自动更新设置
SetOption 设置数据自动更新
var option=
{
Type:'历史K线图',
......
IsAutoUpdate:true, //是自动更新数据
AutoUpdateFrequency:10000, //数据更新频率
.........
}
IsAutoUpdate: 是否自动更新数据
AutoUpdateFrequency : 自动更新数据的频率毫秒 (缺省 30秒)
只要设置这2个变量就可以让 k线图或走势图自动更新数据
K线图数据流程
数据流程大致是这样的 下载一次全量K线数据+定时更新当天数据 组合成完整的K线数据。
停止自动更新
使用ChartDestory()
页面关闭的时候,需要手动调用下停止自动更新来关闭定时器
Chart.ChartDestory();
关于自动更新注意的问题
有朋友在调试自动更新的时候经常会问我, 为什么没有调用自动更。
- 请查看你的更新频率(AutoUpdateFrequency)是不是太长了,可以改小点试试
- 请看下你目前时间是否是交易时间,更新只有在交易时间调用其他时间不调用。省流量。
前端专门有函数来判断当前的市场状态。 如果你非要在非交易日调试,把下面的函数直接return 2;
GetMarketStatus:function(symbol) //获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
{
if (!symbol) return 0;
var upperSymbol=symbol.toUpperCase();
if (this.IsUSA(upperSymbol))
{
var usaDate=GetLocalTime(-4);
var day = usaDate.getDay();
var time = usaDate.getHours() * 100 + usaDate.getMinutes();
if(day == 6 || day== 0) return 0; //周末
//9:30 - 16:00 考虑夏令时间时间增加1小时 9:30 - 17:00
if (time>1730) return 3;
if (time<930) return 1;
return 2;
}
else if (this.IsBIT(upperSymbol)) //数字货币24小时
{
return 2;
}
else
{
var nowDate= new Date();
var day = nowDate.getDay();
var time = nowDate.getHours() * 100 + nowDate.getMinutes();
if(day == 6 || day== 0) return 0; //周末
//9:30 - 15:40
if(time>1540) return 3;
if(time<925) return 1;
return 2;
}
},
自定义交易时间
在外部覆盖MARKET_SUFFIX_NAME.GetMarketStatus 这个方法就可以
返回 0=闭市 1=盘前 2=盘中 3=盘后
js
MARKET_SUFFIX_NAME.GetMarketStatus = function (symbol)
{
return 2; //一直交易
}
VUE
import HQChart from 'hqchart'
........
HQChart.Chart.MARKET_SUFFIX_NAME.GetMarketStatus = function (symbol)
{
return 2; //一直交易
}
小程序/uniapp
import { JSCommon } from "../../jscommon/umychart.wechat.3.0.js";
......
JSCommon.MARKET_SUFFIX_NAME.GetMarketStatus = function (symbol) { return 2; }
uniapp h5
import HQChart from '../../umychart_uniapp_h5/umychart.uniapp.h5.js'
HQChart.MARKET_SUFFIX_NAME.GetMarketStatus = function (symbol)
{
return 2; //一直交易
}
关闭自动更新以后手动开启自动更新
this.JSChart.JSChartContainer.IsAutoUpdate=true; //设置自动更新
this.JSChart.JSChartContainer.ChangeSymbol(当前股票); //重新请求当前得股票
交流QQ群: 950092318
如果还有问题可以加交流QQ群: 950092318
HQChart代码地址
地址:https://github.com/jones2000/HQChart