新浪股票界面以获取历史数据

在过去的两天中,我制作了一个应用程序,该应用程序调用Sina 股票接口来获取实时和历史股票数据。由于新浪尚未发布有关其界面的官方文档,因此通过各种百度,新浪股票有很多不同之处。使用该界面股票配资平台,但是基本上每个人都直接转载或复制,实时数据的获取非常详细,但是缺少获取历史数据的方法。

要获取实时数据,您可以阅读以下博客:实时股票数据接口

经过不懈的努力,我终于在此博文中找到了一种从新浪股票获取历史数据的方法。腾讯股票界面,和讯股票界面,新浪股票界面,雪球股票数据,网易股票数据

过去20天左右的每5分钟数据

(参数:股票个数字,分钟间隔(5、1 5、30、60),平均值(5、10、1 5、20、25),查询点数(最多242))

获得的数据类似于以下json数组:日期股票行情历史数据接口配资门户,开盘价,最高价,最低价,收盘价,交易量:

将会获得很多数据,然后根据我的需要进行分析。我需要的是每日收盘价。股市每个工作日下午3点关闭,因此我只需要每天下午3点查找数据即可。

1、创建一个新的历史数据对象类:

public class HistoryModel {
    public String day;
    public String close;

    public HistoryModel(String day, String close) {
        this.day = day;
        this.close = close;
    }
}

2、创建一个新的股票多个历史数据类别:与上一个不同的是,它包含所有历史数据:参数包括股票名称,代码,当前价格,历史数据:

public class HistoryModels {
    public String name;
    public String code;
    public String now;
    public List list;

    public HistoryModels(String name, String code, String now, List list) {
        this.name = name;
        this.code = code;
        this.now = now;
        this.list = list;
    }
}

3、将需要查询的股票代码带入url以通过HTTP请求json数据。排球在这里要求:

将滤除该时间点15:00:00之前的数据股票行情历史数据接口,并将该组合乘以List之后,将所有分配组合到一个HistoryModels中,以存储股票信息和所有股票的历史数据。

// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(Home.context);
String url1 = "http://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol=" + Home.myChoiceModelList.get(ii).code + "&scale=60&ma=no&datalen=1023";

// Request a string response from the provided URL.
StringRequest stringRequest1 = new StringRequest(Request.Method.GET, url1,
        new Response.Listener() {
            @Override
            public void onResponse(String response) {
                List historyList = Convert(response,new TypeToken>() {
                }.getType());
                List historyList2 = new ArrayList<>();
                if(historyList!=null) {
                    for (int j = 0; j < historyList.size(); j++) {
                        if (historyList.get(j).day.split(" ")[1].equals("15:00:00")) {
                            historyList2.add(historyList.get(j));
                        }
                    }
                }
                HistoryModels model = new HistoryModels(Home.myChoiceModelList.get(ii).name, Home.myChoiceModelList.get(ii).code, Home.myChoiceModelList.get(ii).now, historyList2);
                cllList.add(model);
                Message msg = new Message();
                msg.what = 0x002;
                handler.sendMessage(msg);
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });

queue.add(stringRequest1);

4、json数据的处理,即将json转换为数据对象的方法如下:

/*
* Json转换泛型
 */
public static <T> T Convert(String jsonString, Type cls) {
    T t = null;
    try {
        if (jsonString != null && !jsonString.equals("")) {
            Gson gson = new Gson();
            t = gson.fromJson(jsonString, cls);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return t;
}

此处不介绍股票的实时数据。您可以从本文开头连接的博客中了解到它,并且它是详细编写的。

本文来自网络,不代表佰盈股票配资立场,转载请注明出处:http://www.0565120.com/2869.html

作者: 股票配资

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

QQ:188830909

在线咨询: QQ交谈

邮箱: QQ:188830909

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部