get_trading_day_ticker
Retrieve real-time trading day ticker data for Binance cryptocurrency pairs to monitor market movements and analyze price changes.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Trading pair symbol, e.g. BTCUSDT | |
| symbols | No | Array of multiple trading pair symbols | |
| timeZone | No | Time zone, default 0 | |
| type | No | Return data type, FULL or MINI |
Implementation Reference
- src/index.ts:269-303 (handler)Complete implementation of the get_trading_day_ticker tool, including schema definition and handler logic. The tool accepts optional parameters (symbol, symbols, timeZone, type) and fetches trading day ticker data from Binance API endpoint /api/v3/ticker/tradingDay.
// Trading Day Ticker server.tool( "get_trading_day_ticker", { symbol: z.string().optional().describe("Trading pair symbol, e.g. BTCUSDT"), symbols: z.array(z.string()).optional().describe("Array of multiple trading pair symbols"), timeZone: z.number().optional().describe("Time zone, default 0"), type: z.enum(["FULL", "MINI"]).optional().describe("Return data type, FULL or MINI") }, async (args: { symbol?: string; symbols?: string[]; timeZone?: number; type?: "FULL" | "MINI" }) => { try { let params: any = {}; if (args.symbol) { params.symbol = args.symbol; } else if (args.symbols) { params.symbols = JSON.stringify(args.symbols); } if (args.timeZone) params.timeZone = args.timeZone; if (args.type) params.type = args.type; const response = await axios.get(`${BASE_URL}/api/v3/ticker/tradingDay`, { params, ...getProxyConfig(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get trading day ticker: ${error.message}` }], isError: true }; } } ); - src/index.ts:406-434 (helper)getProxyConfig() helper function used by get_trading_day_ticker to configure HTTP/SOCKS proxy settings for API requests. Supports SOCKS5 and HTTP proxies via environment variables.
function getProxyConfig(): any { // 优先使用SOCKS5代理 if (socksProxyURL) { try { const agent = new SocksProxyAgent(socksProxyURL); return { httpsAgent: agent, httpAgent: agent }; } catch (error) { console.error(`Failed to create SOCKS proxy agent: ${error}`); } } // 回退到HTTP代理 if (httpProxyURL) { try { const urlInfo = new URL(httpProxyURL); return { proxy: { host: urlInfo.hostname, port: parseInt(urlInfo.port) || (urlInfo.protocol === 'https:' ? 443 : 80), protocol: urlInfo.protocol.replace(":", "") } }; } catch (error) { console.error(`Failed to parse HTTP proxy URL: ${error}`); } } return {}; }