// 成交历史数据 // symbol: 交易对, 形如 tchbtc, ethbtc,btcbitcny,eosbtc... // size : 获取数量, 取值范围[1,2000] public static MarketTrade GetMarketTrade(string symbol, int size) { string strResponse = Http.Get(V1.URL + "/market/history/trade", string.Format("symbol={0}&size={1}", symbol, size)); if (string.IsNullOrEmpty(strResponse)) { return(null); } Response response = Response.FromString(strResponse); if (response == null || response.code != "0" || response.msg != "suc" || string.IsNullOrEmpty(response.data)) { return(null); } MarketTrade marketTrade = MarketTrade.FromString(response.data); if (marketTrade == null || string.IsNullOrEmpty(marketTrade.symbol)) { return(null); } return(marketTrade); }
public static MarketTrade FromString(string strResponseData) { Json.Dictionary dict = Json.ToDictionary(strResponseData); if (dict == null) { return(null); } MarketTrade marketTrade = new MarketTrade(); marketTrade.symbol = dict["symbol"]; if (string.IsNullOrEmpty(marketTrade.symbol)) { return(null); } int size = int.Parse(dict["size"]); Json.Array trade_data = Json.ToArray(Json.GetAt(dict, "trade_data")); foreach (string dataItem in trade_data) { Json.Dictionary dataItemDist = Json.ToDictionary(dataItem); Item item = new Item(); item.id = int.Parse(dataItemDist["id"]); item.side = dataItemDist["side"]; item.price = double.Parse(dataItemDist["price"]); item.vol = double.Parse(dataItemDist["vol"]); item.amount = double.Parse(dataItemDist["amount"]); item.ts = Int64.Parse(dataItemDist["ts"]); item.ds = dataItemDist["ds"]; if (marketTrade.trade_data == null) { marketTrade.trade_data = new System.Collections.Generic.List <Item>(); } marketTrade.trade_data.Add(item); } if (marketTrade.trade_data.Count != size) { return(null); } return(marketTrade); }