# 第三方交互 / TS-MCP ## `td_MCP_GetHQData01(stock_id, endt, cy)` 声明:function 获取指定证券、日期和周期的价格与成交量,用作 TS-MCP 工具示例 | 参数 | 类型 | 说明 | | ---------- | ------------- | ---------------------------- | | `stock_id` | string\|array | 证券代码或证券代码集合 | | `endt` | t_date | 计算或查询使用的日期时间边界 | | `cy` | string | 行情或统计周期 | 返回:array ### 示例 范例01:定义 TS-MCP 行情查询函数 ```tsl function td_MCP_GetHQData01( stock_id = "SH000001", endt = 20260325T, cy = cy_day() ); begin setSysParam(pn_cycle(), cy); return select ["StockID"], ["StockName"], ["date"], dateToStr(["date"]) as "日期", ["close"], ["vol"] from markettable datekey endt to endt + 18 / 24 of stock_id end; end; ``` ## `td_opi_getInfoData01(stock_id, begt, endt, reportmode)` 声明:function 执行 `td_opi_getInfoData01` 对应的模块功能 | 参数 | 类型 | 说明 | | ------------ | -------- | -------------------------------------------- | | `stock_id` | string | 可选。目标证券、指数、基金或对象的代码标识 | | `begt` | datetime | 可选。计算或查询区间的开始日期 | | `endt` | datetime | 可选。计算或查询区间的结束日期 | | `reportmode` | any | 可选。控制计算方法、数据口径或返回格式的选项 | 返回:any ### 示例 范例01:调用示例 ```tsl baseurl := "https://opi.tinysoft.com.cn"; uri := '/Service/mcp/Session/HQData'; url := baseurl $ uri; header := array("Connection: keep-alive", "content-type: application/json", "JSON-Encode: gbk", "Authorization: Bearer {58DC***DF58}"); //请求头 header := array2str(header, "\r\n"); toolist := array( "jsonrpc": "2.0", "id": 100, "method": "tools/list", "params": ( "cursor": "optional-cursor-value" ) ); toolist := ExportJsonString(toolist); //转换成 JSON 串 sid := CreateHttpSession(); //创建会话 ret := InternetRequest(sid, URL, "", header, toolist, "", "", 0, res, resp, 500000); DestroyHttpSession(sid); //销毁会话 echo "ret->", ret, " resp->", resp, " res->", tostn(importjsonstring(res)), "\r\n"; return; ``` 范例02:调用示例 ```tsl baseurl := "https://opi.tinysoft.com.cn"; uri := '/Service/mcp/Session/HQData'; url := baseurl $ uri; header := array("Connection: keep-alive", "content-type: application/json", "JSON-Encode: gbk", "Authorization: Bearer {58DC***DF58}"); //请求头 header := array2str(header, "\r\n"); toolist := array( "jsonrpc": "2.0", "id": 100, "method": "tools/call", "params": ( "name": "HQData", "arguments": ( "StockID": "SZ000002", "Endt": 20260720T, "cy": cy_day() ) ) ); toolist := ExportJsonString(toolist); //转换成 JSON 串 sid := CreateHttpSession(); //创建会话 ret := InternetRequest(sid, URL, "", header, toolist, "", "", 0, res, resp, 500000); DestroyHttpSession(sid); //销毁会话 echo "ret->", ret, " resp->", resp, " res->", tostn(importjsonstring(res)), "\r\n"; return 1; ```