TraderSpy
AI crypto signals, whale positions, 19 technical indicators, derivatives, screener and backtests
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"traderspy": {
"url": "https://mcp.traderspy.app/mcp"
}
}
}Puntos de conexión remotos
https://mcp.traderspy.app/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (17)
🟢get_signals(limit, skip, importance, coin)
Use this when the user asks for recent public AI crypto trading signals, optionally filtered by coin, importance, or pagination. When the user names a count ("last 5 signals"), pass it as `limit` — the card view renders exactly what was fetched, so over-fetching shows more cards than the user asked for.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Number of signals to return"
},
"skip": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Offset for pagination"
},
"importance": {
"type": "string",
"enum": [
"high",
"medium",
"low",
"all"
],
"default": "all",
"description": "Filter by signal importance"
},
"coin": {
"type": "string",
"description": "Filter by coin symbol, e.g. BTC, ETH"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
],
"description": "Signal id — pass to get_signal_details"
},
"strategyName": {
"type": [
"string",
"null"
],
"description": "Preset that produced the signal"
},
"importance": {
"type": [
"string",
"null"
],
"description": "high | medium | low"
},
"action": {
"type": [
"string",
"null"
],
"description": "buy or sell"
},
"signalStrength": {
"type": [
"string",
"null"
],
"description": "weak | moderate | strong | very_strong"
},
"coin": {
"type": [
"string",
"null"
]
},
"timeframe": {
"type": [
"string",
"null"
],
"description": "Chart timeframe the preset evaluated, e.g. 4h"
},
"price": {
"type": [
"number",
"null"
],
"description": "Price when the signal triggered"
},
"targets": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Take-profit and stop levels: { label, type, pct }"
},
"triggeredConditions": {
"anyOf": [
{
"type": "array",
"items": {}
},
{
"type": "null"
}
]
},
"resolutionStatus": {
"type": [
"string",
"null"
],
"description": "pending | stop | tp1_hit | tp2_hit | tp3_hit | profit_locked | expired"
},
"createdAt": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Signals, newest first"
},
"pagination": {
"anyOf": [
{
"type": "object",
"properties": {
"limit": {
"type": [
"number",
"null"
]
},
"skip": {
"type": [
"number",
"null"
]
},
"total": {
"type": [
"number",
"null"
]
},
"hasMore": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_signal_details(signalId)
Use this when the user needs full details for one AI signal by ID, including review and resolution data.
Esquema de entrada
{
"type": "object",
"properties": {
"signalId": {
"type": "string",
"description": "The ID of the signal to retrieve"
}
},
"required": [
"signalId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
],
"description": "Signal id — pass to get_signal_details"
},
"strategyName": {
"type": [
"string",
"null"
],
"description": "Preset that produced the signal"
},
"importance": {
"type": [
"string",
"null"
],
"description": "high | medium | low"
},
"action": {
"type": [
"string",
"null"
],
"description": "buy or sell"
},
"signalStrength": {
"type": [
"string",
"null"
],
"description": "weak | moderate | strong | very_strong"
},
"coin": {
"type": [
"string",
"null"
]
},
"timeframe": {
"type": [
"string",
"null"
],
"description": "Chart timeframe the preset evaluated, e.g. 4h"
},
"price": {
"type": [
"number",
"null"
],
"description": "Price when the signal triggered"
},
"targets": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Take-profit and stop levels: { label, type, pct }"
},
"triggeredConditions": {
"anyOf": [
{
"type": "array",
"items": {}
},
{
"type": "null"
}
]
},
"resolutionStatus": {
"type": [
"string",
"null"
],
"description": "pending | stop | tp1_hit | tp2_hit | tp3_hit | profit_locked | expired"
},
"createdAt": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"livePrice": {
"type": [
"number",
"null"
],
"description": "Current price, so the model can judge whether the signal still stands"
},
"indicatorValues": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Indicator readings at trigger time"
},
"aiReview": {
"anyOf": [
{
"type": "object",
"properties": {
"score": {
"type": [
"number",
"null"
]
},
"decision": {
"type": [
"string",
"null"
]
},
"analysis": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
{
"type": "null"
}
]
},
"history": {
"anyOf": [
{
"type": "object",
"properties": {
"entryPrice": {
"type": [
"number",
"null"
]
},
"currentPrice": {
"type": [
"number",
"null"
]
},
"highestPrice": {
"type": [
"number",
"null"
]
},
"lowestPrice": {
"type": [
"number",
"null"
]
},
"resolution": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "{ status, price, time } once resolved"
}
},
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_signal_stats(period)
Use this when the user asks for aggregate AI signal performance statistics over a specific period.
Esquema de entrada
{
"type": "object",
"properties": {
"period": {
"type": "string",
"enum": [
"4h",
"8h",
"24h",
"7d"
],
"default": "24h",
"description": "Time period for statistics"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"total": {
"type": [
"number",
"null"
],
"description": "Signals published in the period"
},
"targetHits": {
"type": [
"number",
"null"
],
"description": "Signals that reached a take-profit or locked profit"
},
"stopped": {
"type": [
"number",
"null"
]
},
"pending": {
"type": [
"number",
"null"
],
"description": "Still open at the end of the period"
},
"highCount": {
"type": [
"number",
"null"
],
"description": "High-importance signals"
},
"winRate": {
"type": [
"number",
"null"
],
"description": "targetHits / resolved, as a percentage; null when nothing resolved"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_top_traders(source, timeRange, rankingType, sortBy, order, ...)
Use this when the user wants ranked smart-money traders across supported exchanges with sorting and filtering.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"all",
"binance",
"hyperliquid",
"bybit",
"okx"
],
"default": "all",
"description": "Exchange to filter by"
},
"timeRange": {
"type": "string",
"enum": [
"24h",
"3D",
"7D",
"30D"
],
"default": "30D",
"description": "Performance time range"
},
"rankingType": {
"type": "string",
"enum": [
"ROI",
"PNL"
],
"default": "ROI",
"description": "Ranking snapshot type"
},
"sortBy": {
"type": "string",
"enum": [
"ROI",
"PNL",
"SCORE"
],
"description": "Sort metric (defaults to ranking type)"
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
],
"default": "DESC",
"description": "Sort direction"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 200,
"default": 20,
"description": "Number of traders to return"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Ranked traders: source, topTraderId, traderName, roi, pnl, winRate, smartScore, rank, rankings[]"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_elite_leaderboard
Use this when the user specifically asks for the elite leaderboard by SmartScore across exchanges.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"type": "object",
"properties": {
"key": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
},
"algorithmVersion": {
"type": [
"string",
"null"
]
},
"leaders": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Ranked traders with score, scoreBreakdown, metrics, rationale[] and tier"
},
"algorithmDetails": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "How each scoring component is weighted"
},
"summary": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Coverage of the run: traders scored, trades counted"
},
"lastRunAt": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"updatedAt": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_trader_profile(traderId, source, timeRange, rankingType)
Use this when the user needs one trader profile, including metrics and latest positions.
Esquema de entrada
{
"type": "object",
"properties": {
"traderId": {
"type": "string",
"description": "The trader ID"
},
"source": {
"type": "string",
"enum": [
"binance",
"hyperliquid",
"bybit",
"okx"
],
"default": "binance",
"description": "Exchange the trader is on"
},
"timeRange": {
"type": "string",
"enum": [
"24h",
"3D",
"7D",
"30D"
],
"default": "30D",
"description": "Performance time range"
},
"rankingType": {
"type": "string",
"enum": [
"ROI",
"PNL"
],
"default": "ROI",
"description": "Ranking snapshot type"
}
},
"required": [
"traderId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"topTraderId": {
"type": [
"string",
"null"
]
},
"traderName": {
"type": [
"string",
"null"
]
},
"avatarUrl": {
"type": [
"string",
"null"
]
},
"roi": {
"type": [
"number",
"null"
]
},
"pnl": {
"type": [
"number",
"null"
]
},
"mdd": {
"type": [
"number",
"null"
],
"description": "Maximum drawdown"
},
"winRate": {
"type": [
"number",
"null"
]
},
"aum": {
"type": [
"number",
"null"
]
},
"smartScore": {
"type": [
"number",
"null"
]
},
"timeRange": {
"type": [
"string",
"null"
]
},
"rankingType": {
"type": [
"string",
"null"
]
},
"rank": {
"type": [
"number",
"null"
]
},
"positions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"side": {
"type": [
"string",
"null"
]
},
"size": {
"type": [
"number",
"null"
]
},
"entryPrice": {
"type": [
"number",
"null"
]
},
"markPrice": {
"type": [
"number",
"null"
]
},
"closePrice": {
"type": [
"number",
"null"
]
},
"leverage": {
"type": [
"number",
"null"
]
},
"unrealizedPnl": {
"type": [
"number",
"null"
]
},
"pnl": {
"type": [
"number",
"null"
]
},
"roi": {
"type": [
"number",
"null"
]
},
"openTime": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"closeTime": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"isOpen": {
"type": [
"boolean",
"null"
]
},
"lastEvent": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Currently tracked positions"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_trader_position_history(traderId, source, page, limit)
Use this when the user asks for closed trade history of a specific trader.
Esquema de entrada
{
"type": "object",
"properties": {
"traderId": {
"type": "string",
"description": "The trader ID"
},
"source": {
"type": "string",
"enum": [
"binance",
"hyperliquid",
"bybit",
"okx"
],
"default": "binance",
"description": "Exchange"
},
"page": {
"type": "number",
"minimum": 1,
"default": 1,
"description": "Page number"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Results per page"
}
},
"required": [
"traderId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"side": {
"type": [
"string",
"null"
]
},
"size": {
"type": [
"number",
"null"
]
},
"entryPrice": {
"type": [
"number",
"null"
]
},
"markPrice": {
"type": [
"number",
"null"
]
},
"closePrice": {
"type": [
"number",
"null"
]
},
"leverage": {
"type": [
"number",
"null"
]
},
"unrealizedPnl": {
"type": [
"number",
"null"
]
},
"pnl": {
"type": [
"number",
"null"
]
},
"roi": {
"type": [
"number",
"null"
]
},
"openTime": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"closeTime": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"isOpen": {
"type": [
"boolean",
"null"
]
},
"lastEvent": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Closed positions, most recently closed first"
},
"pagination": {
"anyOf": [
{
"type": "object",
"properties": {
"page": {
"type": [
"number",
"null"
]
},
"limit": {
"type": [
"number",
"null"
]
},
"total": {
"type": [
"number",
"null"
]
},
"hasMore": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_positions(status, source, symbol, limit, offset)
Use this when the user asks for current or historical smart-money positions, optionally filtered by status, source, or symbol.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"all",
"open",
"closed"
],
"default": "all",
"description": "Position status filter"
},
"source": {
"type": "string",
"enum": [
"all",
"binance",
"hyperliquid",
"bybit",
"okx"
],
"default": "all",
"description": "Exchange filter"
},
"symbol": {
"type": "string",
"description": "Filter by trading pair, e.g. BTC, ETHUSDT"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Number of positions to return"
},
"offset": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Offset for pagination"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"side": {
"type": [
"string",
"null"
]
},
"size": {
"type": [
"number",
"null"
]
},
"entryPrice": {
"type": [
"number",
"null"
]
},
"markPrice": {
"type": [
"number",
"null"
]
},
"closePrice": {
"type": [
"number",
"null"
]
},
"leverage": {
"type": [
"number",
"null"
]
},
"unrealizedPnl": {
"type": [
"number",
"null"
]
},
"pnl": {
"type": [
"number",
"null"
]
},
"roi": {
"type": [
"number",
"null"
]
},
"openTime": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"closeTime": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"isOpen": {
"type": [
"boolean",
"null"
]
},
"lastEvent": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": true
},
{
"type": "object",
"properties": {
"sortDate": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": true
}
]
}
},
{
"type": "null"
}
],
"description": "Smart money positions across the tracked exchanges"
},
"pagination": {
"anyOf": [
{
"type": "object",
"properties": {
"offset": {
"type": [
"number",
"null"
]
},
"limit": {
"type": [
"number",
"null"
]
},
"total": {
"type": [
"number",
"null"
]
},
"hasMore": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_market_stats(source, period)
Use this when the user asks for aggregate market stats (positions, PNL, win rate), optionally scoped by source and period.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"all",
"binance",
"hyperliquid",
"bybit",
"okx"
],
"default": "all",
"description": "Exchange filter"
},
"period": {
"type": "string",
"enum": [
"4h",
"8h",
"24h",
"7d"
],
"description": "Time period for closed position stats"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"totalPositions": {
"type": [
"number",
"null"
]
},
"openPositions": {
"type": [
"number",
"null"
]
},
"realizedPnl": {
"type": [
"number",
"null"
]
},
"avgRoi": {
"type": [
"number",
"null"
]
},
"winRate": {
"type": [
"number",
"null"
],
"description": "Percentage of closed positions in profit; null when none closed"
},
"closedInPeriod": {
"type": [
"number",
"null"
]
},
"period": {
"type": [
"string",
"null"
]
},
"byExchange": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Per-exchange { totalPositions, openPositions }, keyed by exchange"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_exchanges
Use this when the user asks which exchanges are currently available in TraderSpy smart-money tracking.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"enabled": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Tracked exchanges and whether each is currently enabled"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_price(symbols)
Get real-time price data for one or more crypto futures symbols. Returns current price, 24h high/low, volume, and 24h price change percentage.
Esquema de entrada
{
"type": "object",
"properties": {
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 20,
"description": "List of symbols to get prices for, e.g. [\"BTCUSDT\", \"ETHUSDT\"]"
}
},
"required": [
"symbols"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"price": {
"type": [
"number",
"null"
]
},
"high24h": {
"type": [
"number",
"null"
]
},
"low24h": {
"type": [
"number",
"null"
]
},
"volume24h": {
"type": [
"number",
"null"
]
},
"change24h": {
"type": [
"number",
"null"
],
"description": "24h change as a percentage"
},
"updatedAt": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_candles(symbol, interval, limit)
Get OHLCV (Open, High, Low, Close, Volume) candle data for a crypto futures symbol. Useful for charting, price history, and technical analysis.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Trading pair symbol, e.g. BTCUSDT"
},
"interval": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"default": "1h",
"description": "Candle interval/timeframe"
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 500,
"default": 100,
"description": "Number of candles to return"
}
},
"required": [
"symbol"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"interval": {
"type": [
"string",
"null"
]
},
"candles": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"openTime": {
"type": [
"number",
"null"
]
},
"open": {
"type": [
"number",
"null"
]
},
"high": {
"type": [
"number",
"null"
]
},
"low": {
"type": [
"number",
"null"
]
},
"close": {
"type": [
"number",
"null"
]
},
"volume": {
"type": [
"number",
"null"
]
},
"closeTime": {
"type": [
"number",
"null"
]
},
"isFinal": {
"type": [
"boolean",
"null"
],
"description": "False for the candle still forming"
}
},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Oldest first"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_tracked_symbols
List all crypto futures symbols currently tracked by TraderSpy with real-time candle data available.
Esquema de entrada
{
"type": "object",
"properties": {}
}Esquema de salida
{
"type": "object",
"properties": {
"symbols": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"count": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_technical_indicators(symbol, interval, intervals, indicators, periods, ...)
Technical analysis for a crypto futures symbol. 19 indicators: RSI, MACD, EMA, SMA, Bollinger Bands, ATR, ADX (+DI/−DI), Stochastic, OBV (with price divergence), VWAP, CCI, MFI, Williams %R, ROC, SuperTrend, Ichimoku, Keltner Channels, classic pivot points and swing support/resistance levels. Every indicator returns its current value, the previous bar, a rising/falling/flat direction, a short `series` history and — where it applies — zones and crossovers. EMA/SMA accept several periods at once (default 20/50/200); every period is overridable via `periods`. Pass `intervals` (up to 3) to get 1h/4h/1d in ONE call with a multi-timeframe `confluence` verdict. Each timeframe also carries a `summary` (bias, trend, momentum, volatility, volume, plain-language notes) computed from a fixed indicator set — quote its notes rather than the raw score.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Trading pair symbol, e.g. BTCUSDT"
},
"interval": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"default": "1h",
"description": "Candle timeframe. Ignored when `intervals` is given."
},
"intervals": {
"type": "array",
"items": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
]
},
"minItems": 1,
"maxItems": 3,
"description": "Up to 3 timeframes in ONE call (one quota unit), e.g. [\"1h\",\"4h\",\"1d\"]. The response then carries per-timeframe results plus a `confluence` verdict."
},
"indicators": {
"type": "array",
"items": {
"type": "string",
"enum": [
"rsi",
"macd",
"ema",
"sma",
"bollinger",
"atr",
"adx",
"stochastic",
"obv",
"vwap",
"cci",
"mfi",
"williamsR",
"roc",
"supertrend",
"ichimoku",
"keltner",
"pivots",
"levels"
]
},
"minItems": 1,
"maxItems": 19,
"default": [
"rsi",
"macd",
"ema",
"bollinger"
],
"description": "Indicators to compute. `levels` = swing support/resistance from price structure, `pivots` = classic floor pivots from the previous day."
},
"periods": {
"type": "object",
"properties": {
"rsi": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "RSI period (default 14)"
},
"ema": {
"type": "array",
"items": {
"type": "integer",
"minimum": 2,
"maximum": 500
},
"minItems": 1,
"maxItems": 4,
"description": "EMA periods, up to 4 (default [20, 50, 200])"
},
"sma": {
"type": "array",
"items": {
"type": "integer",
"minimum": 2,
"maximum": 500
},
"minItems": 1,
"maxItems": 4,
"description": "SMA periods, up to 4 (default [20, 50, 200])"
},
"macdFast": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "MACD fast EMA (default 12)"
},
"macdSlow": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "MACD slow EMA (default 26)"
},
"macdSignal": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "MACD signal EMA (default 9)"
},
"bollinger": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Bollinger period (default 20)"
},
"bollingerStdDev": {
"type": "number",
"minimum": 0.5,
"maximum": 5,
"description": "Bollinger std-dev multiplier (default 2)"
},
"atr": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "ATR period (default 14)"
},
"adx": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "ADX period (default 14)"
},
"stochastic": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Stochastic %K period (default 14)"
},
"stochasticSignal": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Stochastic %D smoothing (default 3)"
},
"cci": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "CCI period (default 20)"
},
"mfi": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "MFI period (default 14)"
},
"williamsR": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Williams %R period (default 14)"
},
"roc": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Rate-of-change period (default 12)"
},
"vwap": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Rolling VWAP window in bars (default 48)"
},
"obv": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "OBV averaging window (default 20)"
},
"supertrend": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "SuperTrend ATR period (default 10)"
},
"supertrendMultiplier": {
"type": "number",
"minimum": 0.5,
"maximum": 10,
"description": "SuperTrend ATR multiplier (default 3)"
},
"keltner": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Keltner EMA period (default 20)"
},
"keltnerAtr": {
"type": "integer",
"minimum": 2,
"maximum": 500,
"description": "Keltner ATR period (default 10)"
},
"keltnerMultiplier": {
"type": "number",
"minimum": 0.5,
"maximum": 10,
"description": "Keltner ATR multiplier (default 2)"
}
},
"additionalProperties": false,
"description": "Optional period overrides, e.g. {\"ema\":[9,21,55,200],\"rsi\":7}"
},
"history": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"default": 5,
"description": "Prior values returned per indicator as `series` (oldest → newest, length history + 1). 0 = latest only."
}
},
"required": [
"symbol"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"interval": {
"type": [
"string",
"null"
],
"description": "Primary timeframe (the first requested one)"
},
"price": {
"type": [
"number",
"null"
],
"description": "Latest close on the primary timeframe, or null when no candles are stored"
},
"candles": {
"type": [
"number",
"null"
],
"description": "Closed candles the primary timeframe was computed on"
},
"lastCandleOpenTime": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"indicators": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Single-timeframe call only: requested indicators keyed by name. Each carries value, previous, direction, series and indicator-specific fields (zone, crossover, stack, levels…); { value: null, reason: \"insufficient_data\" } when the tape is too short. Omitted when `timeframes` is present — read them there."
},
"summary": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Single-timeframe call only: bias, score, trend, momentum, volatility, volume, notes[]. Omitted when `timeframes` is present."
},
"timeframes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Present when several intervals were requested: one { interval, price, candles, indicators, summary } per timeframe, in the requested order. The top-level indicators/summary are omitted in that case."
},
"confluence": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Multi-timeframe agreement: { aligned, bias, byInterval }"
},
"settings": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Echo of what was computed: indicators, history, resolved periods"
},
"warnings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_derivatives(symbols)
Funding rate, open interest and positioning for Binance USDⓈ-M perpetual futures — the derivatives questions candles cannot answer: is funding high (who is paying whom, annualized), is open interest building or unwinding (24h/4h change, and the OI×price regime: new longs, short covering, new shorts, long liquidation), and which way accounts lean (top-trader long/short by position, all-account ratio, taker buy/sell flow). Each symbol carries plain-language notes — quote those. Up to 5 symbols per call; data is 60s fresh.
Esquema de entrada
{
"type": "object",
"properties": {
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 5,
"description": "Up to 5 Binance USDⓈ-M futures symbols, e.g. [\"BTCUSDT\", \"ETHUSDT\"]. A bare base asset (\"BTC\") is read as its USDT perpetual."
}
},
"required": [
"symbols"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "One entry per symbol: { symbol, markPrice, indexPrice, premiumPct, funding { rate, ratePct, annualizedPct, nextFundingTime, minutesToNextFunding, avg24hPct, avg3dPct, label }, openInterest { contracts, valueUsd, change4hPct, change24hPct, priceChange24hPct, regime }, positioning { globalLongShortRatio, globalLongPct, topTraderLongShortRatio, topTraderLongPct, takerBuySellRatio, label }, notes[] } — or { symbol, error, message } when the symbol is not a Binance USDⓈ-M futures pair"
},
"count": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢screen_symbols(interval, conditions, symbols, universe, limit, ...)
Screen MANY crypto futures symbols at once on one timeframe — "which coins are oversold on 4h", "what is above its 200 EMA with rising volume", "show me squeezes". Give up to 3 AND-ed conditions from a fixed metric list (RSI, stochastic, CCI, MFI, Williams %R, ADX, ROC, MACD histogram, ATR%, volume ratio, Bollinger %B / width, price vs EMA, EMA spread, SuperTrend, change %, price) with lt / gt / crossAbove / crossBelow. Scans the most-traded symbols by 24h volume (default 50, max 100) or an explicit list; every row carries the metric values plus bias, trend, RSI, ADX, ATR% and 24h change. With NO conditions and explicit `symbols` it is a side-by-side comparison table ("compare BTC, ETH, SOL"). ONE quota unit however many symbols — always prefer this over calling get_technical_indicators in a loop.
Esquema de entrada
{
"type": "object",
"properties": {
"interval": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"default": "4h",
"description": "Candle timeframe to evaluate on"
},
"conditions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metric": {
"type": "string",
"enum": [
"rsi",
"stochastic",
"cci",
"mfi",
"williamsR",
"adx",
"roc",
"macdHistogram",
"atrPct",
"volumeRatio",
"bbPercentB",
"bbWidthPct",
"priceVsEma",
"emaSpread",
"supertrend",
"changePct",
"price"
],
"description": "Metric. Defaults in brackets. rsi(14): RSI, 0–100; stochastic(14,3): Slow stochastic %K (period, %D smoothing), 0–100; cci(20): Commodity Channel Index; mfi(14): Money Flow Index, 0–100; williamsR(14): Williams %R, −100–0; adx(14): Average Directional Index; roc(12): Rate of change in %; macdHistogram(12,26): MACD histogram (fast, slow; signal 9); atrPct(14): ATR as % of price; volumeRatio(20): Bar volume ÷ average of the previous N bars; bbPercentB(20): Position inside Bollinger (20, 2): 0 = lower band, 1 = upper band; bbWidthPct(20): Bollinger band width as % of the middle band; priceVsEma(50): % distance of close from EMA(period); > 0 = above; emaSpread(50,200): % of EMA(period) over EMA(period2); crossAbove 0 = golden cross; supertrend(10): +1 in an up-trend, −1 in a down-trend (ATR period, multiplier 3); changePct(24): % change of close over the last N bars; price: Close price"
},
"op": {
"type": "string",
"enum": [
"lt",
"gt",
"crossAbove",
"crossBelow"
],
"description": "lt / gt compare the latest value; crossAbove / crossBelow are one-bar events (previous bar on the other side)."
},
"value": {
"type": "number",
"description": "Threshold, in the metric's own unit (RSI 30, %B 0, spread 0, change −5 …)"
},
"period": {
"type": "integer",
"minimum": 2,
"maximum": 200,
"description": "Override the metric's primary period (RSI length, EMA period, bars for changePct)"
},
"period2": {
"type": "integer",
"minimum": 2,
"maximum": 200,
"description": "Second period where the metric has one: slow EMA for emaSpread, slow MACD, stochastic %D"
}
},
"required": [
"metric",
"op",
"value"
],
"additionalProperties": false
},
"maxItems": 3,
"description": "Up to 3 conditions, AND-ed. Examples: RSI oversold = {\"metric\":\"rsi\",\"op\":\"lt\",\"value\":30}; above the 200 EMA = {\"metric\":\"priceVsEma\",\"op\":\"gt\",\"value\":0,\"period\":200}; golden cross = {\"metric\":\"emaSpread\",\"op\":\"crossAbove\",\"value\":0,\"period\":50,\"period2\":200}; MACD bullish cross = {\"metric\":\"macdHistogram\",\"op\":\"crossAbove\",\"value\":0}; dumped 5% in a day = {\"metric\":\"changePct\",\"op\":\"lt\",\"value\":-5,\"period\":24}."
},
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 100,
"description": "Explicit symbols to scan (≤ 100, e.g. [\"BTC\",\"ETH\",\"SOL\"]). Omit to scan the most-traded symbols instead. With no `conditions`, every listed symbol is returned as a comparison table."
},
"universe": {
"type": "integer",
"minimum": 5,
"maximum": 100,
"default": 50,
"description": "How many of the most-traded symbols (by 24h volume) to scan when `symbols` is omitted (max 100)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Rows to return"
},
"sortBy": {
"type": "string",
"enum": [
"volume",
"change24h",
"metric"
],
"description": "volume (24h quote volume), change24h, or metric (the first condition's metric). Default: metric when conditions are given, else volume."
},
"sortOrder": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"interval": {
"type": [
"string",
"null"
]
},
"conditions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Human-readable conditions, e.g. \"RSI(14) < 30\""
},
"universe": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "{ source: top_by_volume | explicit, requested, scanned, missing[] }"
},
"matched": {
"type": [
"number",
"null"
],
"description": "Symbols satisfying every condition (all scanned symbols when no conditions)"
},
"returned": {
"type": [
"number",
"null"
]
},
"sortBy": {
"type": [
"string",
"null"
]
},
"sortOrder": {
"type": [
"string",
"null"
]
},
"results": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "One row per matching symbol: { symbol, price, change24hPct, volume24hUsd, values { \"<metric label>\": value }, bias, trend, rsi14, adx14, atrPct, volumeRatio, squeeze }"
},
"warnings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢backtest_condition(symbol, interval, conditions, horizons)
What happened AFTER a condition in the past, on one symbol and timeframe — "how did BTC do after RSI dropped below 30 on 4h", "is a golden cross on ETH daily actually bullish", "what usually follows a −5% day on SOL". Runs an event study over the whole stored tape (up to 1000 candles: ~41 days on 1h, ~166 days on 4h, ~3 years on 1d): occurrences, average / median forward return, win rate, average best and worst excursion per horizon, the unconditional baseline over the same tape and the EDGE the condition adds over it, the last five episodes, and whether the condition is active on the latest bar. Same condition vocabulary as screen_symbols. Quote the edge and the sample size together — a 3-sample stat is an anecdote.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Trading pair, e.g. BTCUSDT (a bare \"BTC\" is read as its USDT perpetual)"
},
"interval": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"default": "4h",
"description": "Candle timeframe"
},
"conditions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metric": {
"type": "string",
"enum": [
"rsi",
"stochastic",
"cci",
"mfi",
"williamsR",
"adx",
"roc",
"macdHistogram",
"atrPct",
"volumeRatio",
"bbPercentB",
"bbWidthPct",
"priceVsEma",
"emaSpread",
"supertrend",
"changePct",
"price"
],
"description": "Metric. Defaults in brackets. rsi(14): RSI, 0–100; stochastic(14,3): Slow stochastic %K (period, %D smoothing), 0–100; cci(20): Commodity Channel Index; mfi(14): Money Flow Index, 0–100; williamsR(14): Williams %R, −100–0; adx(14): Average Directional Index; roc(12): Rate of change in %; macdHistogram(12,26): MACD histogram (fast, slow; signal 9); atrPct(14): ATR as % of price; volumeRatio(20): Bar volume ÷ average of the previous N bars; bbPercentB(20): Position inside Bollinger (20, 2): 0 = lower band, 1 = upper band; bbWidthPct(20): Bollinger band width as % of the middle band; priceVsEma(50): % distance of close from EMA(period); > 0 = above; emaSpread(50,200): % of EMA(period) over EMA(period2); crossAbove 0 = golden cross; supertrend(10): +1 in an up-trend, −1 in a down-trend (ATR period, multiplier 3); changePct(24): % change of close over the last N bars; price: Close price"
},
"op": {
"type": "string",
"enum": [
"lt",
"gt",
"crossAbove",
"crossBelow"
],
"description": "lt / gt compare the latest value; crossAbove / crossBelow are one-bar events (previous bar on the other side)."
},
"value": {
"type": "number",
"description": "Threshold, in the metric's own unit (RSI 30, %B 0, spread 0, change −5 …)"
},
"period": {
"type": "integer",
"minimum": 2,
"maximum": 200,
"description": "Override the metric's primary period (RSI length, EMA period, bars for changePct)"
},
"period2": {
"type": "integer",
"minimum": 2,
"maximum": 200,
"description": "Second period where the metric has one: slow EMA for emaSpread, slow MACD, stochastic %D"
}
},
"required": [
"metric",
"op",
"value"
],
"additionalProperties": false
},
"maxItems": 3,
"description": "Up to 3 conditions, AND-ed. Examples: RSI oversold = {\"metric\":\"rsi\",\"op\":\"lt\",\"value\":30}; above the 200 EMA = {\"metric\":\"priceVsEma\",\"op\":\"gt\",\"value\":0,\"period\":200}; golden cross = {\"metric\":\"emaSpread\",\"op\":\"crossAbove\",\"value\":0,\"period\":50,\"period2\":200}; MACD bullish cross = {\"metric\":\"macdHistogram\",\"op\":\"crossAbove\",\"value\":0}; dumped 5% in a day = {\"metric\":\"changePct\",\"op\":\"lt\",\"value\":-5,\"period\":24}."
},
"horizons": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 200
},
"minItems": 1,
"maxItems": 4,
"description": "Bars ahead to measure returns over (≤ 4). Default per interval ≈ 4h / 1d / 3d: 1h → [4, 24, 72], 4h → [6, 18, 42], 1d → [1, 3, 7]."
}
},
"required": [
"symbol",
"conditions"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"interval": {
"type": [
"string",
"null"
]
},
"conditions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"bars": {
"type": [
"number",
"null"
],
"description": "Candles the study ran on (the whole stored tape)"
},
"coverageHours": {
"type": [
"number",
"null"
]
},
"from": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"to": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "null"
}
]
},
"evaluableBars": {
"type": [
"number",
"null"
]
},
"occurrences": {
"type": [
"number",
"null"
],
"description": "Episodes — the FIRST bar of each run where the conditions held"
},
"activeNow": {
"type": [
"boolean",
"null"
],
"description": "Conditions hold on the latest closed bar"
},
"currentValues": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Latest value of every metric involved"
},
"lastOccurrence": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "{ openTime, barsAgo, price }"
},
"horizons": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Per look-ahead: { bars, samples, avgReturnPct, medianReturnPct, winRatePct, avgMaxUpPct, avgMaxDownPct, bestPct, worstPct, baselineAvgReturnPct, edgePct } — edge = avg − unconditional baseline"
},
"horizonHours": {
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
},
"recent": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
{
"type": "null"
}
],
"description": "Newest episodes first: { openTime, barsAgo, price, returnsPct { \"<bars>\": pct } }"
},
"warnings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Prompts recomendados
get_signalsget_signalsComunidad
Evidencia