协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
traderspy-trading-signals【开发与工程】Fetch and explain TraderSpy's AI crypto futures signals: entry, take-profit ladder, stop, triggers, status against the live price, and how recent signals resolved. Use for "latest signals".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
TraderSpy's AI signals are automated reads of the market: a named preset fires when several technical conditions line up on one crypto futures pair, a validator scores the alignment, and the published signal carries an entry, a take-profit ladder, a stop and — later — what actually happened. The signals feed at https://traderspy.app/signals publishes every one with its resolved outcome. Your job is to fetch, translate and contextualise them; the decision stays with the user.
@traderspy-smart-money), not for indicator reads on a coin (@traderspy-technical-analysis).| Tool | Use it for | Key arguments |
|---|---|---|
get_signals | The list: newest first | limit 1–50 (default 20), skip, importance high / medium / low / all, coin |
get_signal_details | One signal in full, plus the live price | signalId (the id from the list) |
get_signal_stats | Aggregate hit rate over a window | period 4h / 8h / 24h / 7d |
Three argument behaviours that are easy to get wrong:
importance is inclusive downward. high returns high only, medium returns high AND
medium, low returns everything. To show "medium and above" pass medium, not low.coin is a prefix match on the pair name. BTC matches BTCUSDT and also BTCDOMUSDT;
check the coin field of each row before presenting "BTC signals".limit is what gets rendered. In hosts that draw signal cards, every fetched row becomes a
card. If the user asks for "the last 5", pass limit: 5 — do not fetch 20 and show 5.strategyName (the preset, e.g. "OBV Divergence Buy (4H)") · action buy / sell · timeframe
1h / 4h / 1d · price at trigger · targets[] as {label, type, pct} where pct is measured from
price · triggeredConditions[] in plain language · importance · signalStrength weak /
moderate / strong / very_strong · resolutionStatus · createdAt.
Convert target percentages to prices before showing them — users think in prices:
get_signal_stats, and do not call a
sub-1 R:R "bad" on its own).resolutionStatus is the outcome so far:
| Status | Meaning |
|---|---|
pending | Still inside its tracking window, nothing hit yet |
tp1_hit / tp2_hit / tp3_hit | Highest take-profit reached (a later stop touch does not downgrade it) |
profit_locked | Trend exhaustion detected before TP1; a partial gain was locked |
stop | Stop level touched before any take-profit |
expired | Window ended with neither side touched |
Outcomes are judged on 1-minute wicks, so "TP1 hit" means price actually traded there. The
tracking window is 24 × the signal timeframe (24h for a 1h signal, 4 days for a 4h signal); a 1h
signal that is still pending two days later is stale rather than alive.
"Latest signals" / "any setups?" → get_signals with the limit the user implies (default 10 if
they gave no number). Lead with the newest, group by side if several, and make the resolved ones
visible — a list that mixes three winners, two stops and five pending rows should say so.
"Signals for SOL" → get_signals with coin. If the result is empty, say there is no recent
signal on that pair rather than offering a different pair as if it were the same thing.
"Is this signal still valid?" / "Should I still care about it?" → get_signal_details, then
compare livePrice with the entry, TP1 and SL in the same units:
pending buy with livePrice below the SL price
is finished in everything but paperwork — say so)history.highestPrice / lowestPrice show the best and worst it has seen since entryindicatorValues are the readings at trigger time, not now; if the user wants the current
picture, hand off to technical-analysis rather than re-reading stale values as if they were live"How are the signals doing?" → get_signal_stats. Explain the number honestly: winRate is
hits ÷ (hits + stops) over signals CREATED in the window, so it ignores pending rows, and a 4h
window is a handful of signals. Prefer 7d for a track-record question and say how many signals
it rests on (total, pending).
For a list, ALWAYS use a compact table and keep one signal per row:
| Coin | Side | TF | Entry | TP1 | SL | Preset | Status | Age |
For one signal, use this order: headline (coin, side, timeframe, preset, importance) → the levels
as prices with the % in brackets → what triggered it (the triggeredConditions, lightly
rephrased) → where price is now versus entry / TP1 / SL → the outcome so far → the one-line risk
note. Quote livePrice with its timestamp when the answer depends on it.
Do not invent an "AI review" if aiReview is null — most signals do not carry one. When it exists,
report score and decision as the reviewer's opinion, not as a verdict.
For the full field glossary, including the indicatorValues keys, read
references/signal-fields.md.
Show me the latest AI signals.
Any signals on SOL right now?
Is the latest BTC signal still valid? Show me where price is against its entry, targets and stop.
How have the signals resolved over the last 7 days?
https://mcp.traderspy.app/mcp, Streamable HTTP), authorized with OAuth or a personal key from https://traderspy.app/mcp. A free TraderSpy account is enough. Without the server the skill has no data to work from.@traderspy-technical-analysis (called technical-analysis in the text above, its upstream ID) - the current chart read on the signal's coin@traderspy-market-briefing - the freshest signals inside a market overview