简单介绍
工作中需要绘制公司的分时和日k,但是接口要自己找。于是我就使用了腾讯的接口调分时和日k数据,新浪的接口调股票基本信息。如股票名字、今日开盘价、昨日收盘价、当前价格等等。均价线目前还没有。
参考资料:
https://blog.csdn.net/m0_37992075/article/details/84288021
https://blog.csdn.net/luanpeng825485697/article/details/78442062?locationNum=5&fps=1
效果图
股票代码: sz000001 – 平安银行
数据来源及处理
分时图:
数据链接:
1.分时图数据:http://data.gtimg.cn/flashdata/hushen/minute/sz000001.js?maxage=110&0.28163905744440854
2.股票基本信息: http://hq.sinajs.cn/list=sz000001
数据处理: ajax请求
分时图接口数据结构:
\n
date:190307\n
0930 5.95 169679\n
0931 5.90 221175\n
…
0931(日期:9:31) 5.90(当前成交价) 221175(累计成交量,初始成交量为9:30的)
注意:
1.腾讯分时图接口的成交量为累计成交量,绘制分时图需要的是每分钟成交量。需要处理一下。
2.请求数据,接收时并不在回调函数中。具体接收的参数可以看接口打印出来的。
function getmData(callback) { //分时图
$.ajax({
url: "http://data.gtimg.cn/flashdata/hushen/minute/sz000001.js?maxage=110&0.28163905744440854",
dataType:"script",
cache:"false",
type:"GET",
success: function () {
//结果用min_data接收
var msg = min_data;
var result = msg.replace(/\n/g,",").split(',')
var arr = result.slice(2,result.length-1), //开头结尾各一个空数组要去掉
_arr = [];
for(var i=0;i<arr.length;i++){
var _a = arr[i].split(" ") , _b = arr[i].split(" "), _c =[];
if(i>0){
_c = arr[i-1].split(" ");
}
// 腾讯股票接口传的数值0930(日期) 5.55(成交价) 37673(累计成交量,初始成交量为9:30的)
// 因此每分钟的 成交量 = 当前累计成交量 - 前一分钟的累计成交量
_b[2] = _c.length>0 ? _a[2] - _c[2] : _a[2];
_arr.push(_b)
}
mdata.data = _arr
callback(mdata)
},
error: function () {
alert("wrong");
}
});
}
function getInfo(callback){ //获取股票信息
$.ajax({
url: "http://hq.sinajs.cn/list=sz000001",
dataType: "script",
cache: "false",
type: "GET",
success: function(){
// 结果用 hq_str_sz000001 接收。需要对应请求的股票代码
var info = hq_str_sz000001;
var _info_arr = info.split(",")
callback(_info_arr)
},
error: function(){
alert("查询信息失败")
}
})
}
demo放在这里了 ❤,欢迎指正和交流。