opencode-skills-collection 4.0.74 → 4.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +16 -1
- package/bundled-skills/claude-api/SKILL.md +4 -4
- package/bundled-skills/claude-api/curl/examples.md +5 -5
- package/bundled-skills/claude-api/java/claude-api.md +1 -1
- package/bundled-skills/claude-api/php/claude-api.md +2 -2
- package/bundled-skills/claude-api/python/claude-api/README.md +13 -13
- package/bundled-skills/claude-api/python/claude-api/batches.md +3 -3
- package/bundled-skills/claude-api/python/claude-api/files-api.md +3 -3
- package/bundled-skills/claude-api/python/claude-api/streaming.md +6 -6
- package/bundled-skills/claude-api/python/claude-api/tool-use.md +19 -19
- package/bundled-skills/claude-api/ruby/claude-api.md +3 -3
- package/bundled-skills/claude-api/shared/error-codes.md +2 -2
- package/bundled-skills/claude-api/shared/live-sources.md +1 -1
- package/bundled-skills/claude-api/shared/models.md +4 -4
- package/bundled-skills/claude-api/shared/tool-use-concepts.md +2 -2
- package/bundled-skills/claude-api/typescript/claude-api/README.md +12 -12
- package/bundled-skills/claude-api/typescript/claude-api/batches.md +2 -2
- package/bundled-skills/claude-api/typescript/claude-api/files-api.md +1 -1
- package/bundled-skills/claude-api/typescript/claude-api/streaming.md +4 -4
- package/bundled-skills/claude-api/typescript/claude-api/tool-use.md +14 -14
- package/bundled-skills/electron-drive-skill/LICENSE +21 -0
- package/bundled-skills/electron-drive-skill/README.md +172 -0
- package/bundled-skills/electron-drive-skill/SKILL.md +237 -0
- package/bundled-skills/electron-drive-skill/drive.config.json.example +10 -0
- package/bundled-skills/electron-drive-skill/package.json +28 -0
- package/bundled-skills/electron-drive-skill/scripts/daemon.mjs +352 -0
- package/bundled-skills/electron-drive-skill/scripts/drive.mjs +250 -0
- package/bundled-skills/electron-drive-skill/scripts/lib.mjs +165 -0
- package/bundled-skills/electron-drive-skill/scripts/lib.test.mjs +56 -0
- package/bundled-skills/jev-social/SKILL.md +5 -5
- package/bundled-skills/lintlang-audit/SKILL.md +100 -0
- package/bundled-skills/mcp-dependency-drift-audit/SKILL.md +169 -0
- package/bundled-skills/nexrad-mosaic-access/SKILL.md +297 -0
- package/bundled-skills/nexrad-mosaic-construction/SKILL.md +277 -0
- package/bundled-skills/nexrad-product-access/SKILL.md +258 -0
- package/bundled-skills/nexrad-radar-visualization/SKILL.md +318 -0
- package/bundled-skills/radar-satellite-analysis/SKILL.md +314 -0
- package/bundled-skills/system-prompt-lookup/SKILL.md +188 -0
- package/bundled-skills/traderspy-market-briefing/SKILL.md +132 -0
- package/bundled-skills/traderspy-market-screener/SKILL.md +182 -0
- package/bundled-skills/traderspy-market-screener/references/condition-cookbook.md +70 -0
- package/bundled-skills/traderspy-position-check/SKILL.md +130 -0
- package/bundled-skills/traderspy-position-check/references/risk-math.md +60 -0
- package/bundled-skills/traderspy-smart-money/SKILL.md +151 -0
- package/bundled-skills/traderspy-smart-money/references/exchange-notes.md +40 -0
- package/bundled-skills/traderspy-technical-analysis/SKILL.md +162 -0
- package/bundled-skills/traderspy-technical-analysis/references/derivatives-guide.md +57 -0
- package/bundled-skills/traderspy-technical-analysis/references/indicator-guide.md +47 -0
- package/bundled-skills/traderspy-trading-signals/SKILL.md +156 -0
- package/bundled-skills/traderspy-trading-signals/references/signal-fields.md +64 -0
- package/bundled-skills/unified-ai-gateway/SKILL.md +58 -16
- package/package.json +1 -1
- package/skills_index.json +657 -358
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: traderspy-position-check
|
|
3
|
+
description: "Health-check crypto futures positions the user describes, with TraderSpy data: liquidation and stop distance, multi-timeframe read, funding and top-trader side. Reports only; never tells the user to close or add."
|
|
4
|
+
category: finance
|
|
5
|
+
risk: safe
|
|
6
|
+
source: "https://github.com/target1m/traderspy-mcp/tree/069aae5a84640d671f92705a2e3bc0b62efca1e0/skills/position-check"
|
|
7
|
+
source_repo: target1m/traderspy-mcp
|
|
8
|
+
source_type: official
|
|
9
|
+
date_added: "2026-09-25"
|
|
10
|
+
author: target1m
|
|
11
|
+
tags: [traderspy, crypto, risk-management, futures, mcp]
|
|
12
|
+
tools: [claude, cursor, gemini]
|
|
13
|
+
license: MIT
|
|
14
|
+
license_source: "https://github.com/target1m/traderspy-mcp/blob/069aae5a84640d671f92705a2e3bc0b62efca1e0/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# TraderSpy Position Check
|
|
18
|
+
|
|
19
|
+
A position check answers, in order: how much room is left before this position is taken away
|
|
20
|
+
(liquidation), how much before the user's own plan says it is wrong (stop), what the chart and
|
|
21
|
+
the derivatives market are doing around it, and who else is positioned the same way. Report those
|
|
22
|
+
facts with numbers. The decision — hold, trim, close, add — belongs to the person whose money it
|
|
23
|
+
is.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- Use when the user asks "how's my position", "am I in trouble", "how far am I from liquidation", "should I hold or close" or "review my trades", or asks what you think of their long or short.
|
|
28
|
+
- Use when the user pastes or describes a position, for example "I'm long ETH from 2,400 at 10x".
|
|
29
|
+
- The skill reports and explains. It never tells the user to close, add, hedge or move a stop, and it cannot trade.
|
|
30
|
+
|
|
31
|
+
## Inputs
|
|
32
|
+
|
|
33
|
+
The position always comes from the user. TraderSpy has no account tool: it cannot read a balance
|
|
34
|
+
or an open position on any exchange, so never offer to "check the account".
|
|
35
|
+
|
|
36
|
+
Ask for whatever is missing among side, entry, leverage (and stop / target / the exchange's
|
|
37
|
+
liquidation price if they have them). Size is optional — the analysis works in percentages. The
|
|
38
|
+
current price is the `price` that `get_technical_indicators` returns.
|
|
39
|
+
|
|
40
|
+
Map the symbol to Binance naming for the data tools: `BTC` → `BTCUSDT`, `kPEPE` → `1000PEPEUSDT`,
|
|
41
|
+
`xyz:AVGO` → `AVGOUSDT`.
|
|
42
|
+
|
|
43
|
+
## Calls per position (keep it to what matters)
|
|
44
|
+
|
|
45
|
+
1. `get_technical_indicators` — `intervals: ["1h","4h","1d"]`, `indicators: ["rsi","macd","ema",
|
|
46
|
+
"atr","adx","supertrend","levels"]`. One call. This gives the trend on three timeframes, ATR
|
|
47
|
+
for stop sanity and the nearest levels.
|
|
48
|
+
2. `get_derivatives` — up to five coins in ONE call for all positions at once. Funding is a cost
|
|
49
|
+
or an income for this position; the OI regime says whether the move is being funded.
|
|
50
|
+
3. `get_positions` — `symbol`, `status: "open"`, `limit: 20`. Optional; skip on a tight quota.
|
|
51
|
+
Tells you whether tracked top traders are on the same side.
|
|
52
|
+
|
|
53
|
+
Three positions ≈ 3 + 1 (+3) calls. If the quota is tight, do derivatives for all coins first,
|
|
54
|
+
then technicals for the position with the smallest liquidation distance.
|
|
55
|
+
|
|
56
|
+
## The math (show it, briefly)
|
|
57
|
+
|
|
58
|
+
- P&L % on margin = (mark − entry) / entry × leverage, sign-flipped for shorts; P&L % on price =
|
|
59
|
+
the same without leverage. State both when leverage > 1.
|
|
60
|
+
- Distance to liquidation = |liq − mark| / mark. With no liquidation price from the user, approximate:
|
|
61
|
+
≈ 100 / leverage % minus a maintenance buffer (say it is approximate; cross margin makes the
|
|
62
|
+
real distance depend on the whole account).
|
|
63
|
+
- Distance to stop = |stop − mark| / mark, and stop distance in ATRs = |stop − mark| / ATR(14) on
|
|
64
|
+
the 4h. Under 1 ATR means the stop sits inside normal noise for that timeframe.
|
|
65
|
+
- Funding per day ≈ `funding.ratePct` × 3 on notional; positive rate costs longs and pays shorts.
|
|
66
|
+
|
|
67
|
+
Bands for the liquidation distance: ≤ 5% →
|
|
68
|
+
"at risk", ≤ 15% → "watch", above → "comfortable". These are labels for a distance, not
|
|
69
|
+
instructions.
|
|
70
|
+
|
|
71
|
+
## The report
|
|
72
|
+
|
|
73
|
+
ALWAYS use this template per position:
|
|
74
|
+
|
|
75
|
+
**<COIN> <SIDE> · <leverage>x · <marginMode>**
|
|
76
|
+
|
|
77
|
+
- Entry <entry> → mark <mark> (<±x.x%> on price, <±y%> on margin) · uPnL <$, when the size is known>
|
|
78
|
+
- Liquidation <liq> — <d%> away → **<at risk / watch / comfortable>**
|
|
79
|
+
- Stop <stop or "none stated"> — <d%> / <n> ATR(4h) away · Target <if any>
|
|
80
|
+
- Chart: 1h <bias, RSI, trend> · 4h <…> · 1d <…> · confluence <aligned / mixed>
|
|
81
|
+
- Nearest levels: support <price (d%)>, resistance <price (d%)>
|
|
82
|
+
- Derivatives: funding <label, annualized → cost or income for this side>, OI <regime>, top
|
|
83
|
+
traders <long %> (same side / opposite side)
|
|
84
|
+
- Thesis check: what the position needs to keep working, and the level or reading that would
|
|
85
|
+
say it has stopped working
|
|
86
|
+
- Scenarios: if price goes to <nearest level against> the position shows <P&L>; at <liquidation>
|
|
87
|
+
it is gone; at <nearest level for> it shows <P&L>
|
|
88
|
+
|
|
89
|
+
Then one line naming the position with the least room, and one plain sentence that crypto derivatives are high-risk and this is market information,
|
|
90
|
+
not financial advice.
|
|
91
|
+
|
|
92
|
+
Facts first, labels second, no verbs of instruction. "The stop sits 0.6 ATR away, inside normal 4h
|
|
93
|
+
noise" is a report; "move your stop" is not.
|
|
94
|
+
|
|
95
|
+
## Conduct
|
|
96
|
+
|
|
97
|
+
- Never tell the user to close, hold, add, hedge, move a stop or change leverage. Present
|
|
98
|
+
distances, scenarios and the invalidation level; the decision is theirs. If they ask "should I
|
|
99
|
+
close", lay out what supports staying in and what argues against, then hand it back.
|
|
100
|
+
- Distances and scenarios are arithmetic on current prices and levels the tools returned; they are
|
|
101
|
+
not predictions of where price will go.
|
|
102
|
+
- Nothing in this connector trades — no order, close, transfer or withdrawal tool exists, by
|
|
103
|
+
design. Say so when asked to act; the decision and any trade stay with the user.
|
|
104
|
+
- Position details the user shares stay in the conversation; do not restate them in later
|
|
105
|
+
unrelated answers.
|
|
106
|
+
- Quote only tool results and what the user told you; if a coin is not tracked, say so.
|
|
107
|
+
|
|
108
|
+
Formulas and worked examples: `references/risk-math.md`.
|
|
109
|
+
|
|
110
|
+
## Examples
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
I'm short SOL from 180 at 5x, liquidation around 214. How far is it, and what do the 1h/4h/1d indicators say?
|
|
114
|
+
I'm long ETH from 2,400 at 10x with a stop at 2,250. How does it look?
|
|
115
|
+
Am I in trouble on my SOL short?
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Limitations
|
|
119
|
+
|
|
120
|
+
- Needs the hosted TraderSpy MCP server connected in the client (`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.
|
|
121
|
+
- Tool calls are metered per day: 300 on the free tier, 5,000 on premium.
|
|
122
|
+
- Every tool is read-only. Nothing here places, closes or modifies an order, and there is no withdrawal or transfer tool.
|
|
123
|
+
- The output is market data and analysis for the user's own research, not investment advice.
|
|
124
|
+
- TraderSpy cannot see anyone's exchange or TraderSpy account, so every position has to be described or pasted in chat.
|
|
125
|
+
- Without a `liquidationPrice` the liquidation distance is an approximation; under cross margin it depends on the whole account.
|
|
126
|
+
|
|
127
|
+
## Related Skills
|
|
128
|
+
|
|
129
|
+
- `@traderspy-technical-analysis` - a full chart read on one of the coins
|
|
130
|
+
- `@traderspy-smart-money` - who else holds the same position
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Risk math for position checks
|
|
2
|
+
|
|
3
|
+
Entry, side and leverage come from the user; mark is the current `price` from the data tools.
|
|
4
|
+
|
|
5
|
+
## P&L
|
|
6
|
+
|
|
7
|
+
- Price move % = (mark − entry) / entry × 100, sign-flipped for a SHORT.
|
|
8
|
+
- Return on margin % ≈ price move % × leverage (isolated margin; for cross margin the same figure
|
|
9
|
+
describes the position, not the account).
|
|
10
|
+
- Unrealized P&L in USD needs the size; compute it only when the user gave one, and say so.
|
|
11
|
+
|
|
12
|
+
## Liquidation
|
|
13
|
+
|
|
14
|
+
- Exact: the liquidation price the user's exchange shows → distance % = |liq − mark| / mark × 100.
|
|
15
|
+
- Approximation when the user has none: distance % ≈ 100 / leverage − maintenance margin (assume ~0.5–1%
|
|
16
|
+
and say "approximately"). 10x → ~9%, 20x → ~4%, 40x → ~2%. Cross margin can be wider (the whole
|
|
17
|
+
account backs it) or tighter (other positions drain it); the exact figure is the exchange's.
|
|
18
|
+
|
|
19
|
+
Bands: ≤ 5% at risk · ≤ 15% watch · > 15% comfortable.
|
|
20
|
+
|
|
21
|
+
## Stop sanity
|
|
22
|
+
|
|
23
|
+
- Stop distance % = |stop − mark| / mark × 100.
|
|
24
|
+
- In ATRs = |stop − mark| / ATR(14) on the timeframe the user trades (use the 4h if unstated).
|
|
25
|
+
< 1 ATR: inside normal noise; 1–2 ATR: typical swing stop; > 3 ATR: wide.
|
|
26
|
+
- Reward-to-risk = |target − mark| / |stop − mark| from the CURRENT mark (the original R:R from
|
|
27
|
+
entry is history).
|
|
28
|
+
|
|
29
|
+
## Funding
|
|
30
|
+
|
|
31
|
+
- Per-day cost ≈ `funding.ratePct` × 3 (three 8h settlements) × notional; a positive rate is paid
|
|
32
|
+
by longs to shorts. Quote it as "≈ $x/day" or "≈ y% APR against / for this side".
|
|
33
|
+
- `avg3dPct` says whether today's rate is typical.
|
|
34
|
+
|
|
35
|
+
## Reading the chart against the position
|
|
36
|
+
|
|
37
|
+
- Same-side confluence (a LONG with 1h/4h/1d bullish) → the chart supports the position; the risk
|
|
38
|
+
is the distance to the stop and to liquidation, not the direction.
|
|
39
|
+
- Opposite-side confluence → the chart is against it; name the level that would have to reclaim.
|
|
40
|
+
- Mixed → identify which timeframe is the user's and lead with that one.
|
|
41
|
+
- Nearest level against the position vs stop: if the stop is beyond a well-touched support (for a
|
|
42
|
+
long), the plan has structure; if it sits above it, note that the level may be tested first.
|
|
43
|
+
|
|
44
|
+
## Worked example
|
|
45
|
+
|
|
46
|
+
LONG ETH 10x cross, entry 2,434, mark 2,534, liq 2,290, stop 2,380, ATR(4h) 62, funding
|
|
47
|
+
+0.002%/8h, OI regime `new_longs`, top traders 55% long.
|
|
48
|
+
|
|
49
|
+
- Price move +4.1%, on margin ≈ +41%.
|
|
50
|
+
- Liquidation 9.6% away → comfortable.
|
|
51
|
+
- Stop 6.1% / 2.5 ATR away → outside 4h noise.
|
|
52
|
+
- Funding ≈ 0.006%/day → negligible cost for a long (≈ 2% APR).
|
|
53
|
+
- Chart 4h bullish, 1d neutral → mixed; the 4h is doing the work.
|
|
54
|
+
- Derivatives: new longs entering; leaders lean long only mildly (55%).
|
|
55
|
+
- Thesis check: the position needs the 4h uptrend to hold; a 4h close below the nearest support
|
|
56
|
+
(say 2,470) would put the stop in play; above 2,600 resistance the next level is …
|
|
57
|
+
- Scenarios: at 2,470 → +1.5% on price (+15% on margin); at 2,380 (stop) → −2.2% / −22%; at 2,290
|
|
58
|
+
→ liquidated.
|
|
59
|
+
|
|
60
|
+
Reported as facts and scenarios — no instruction about what to do.
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: traderspy-smart-money
|
|
3
|
+
description: "Track what top crypto futures traders hold on Binance, Hyperliquid, Bybit and OKX with TraderSpy: elite leaderboard, positions, trader profiles and history. Use for \"what are whales doing\"."
|
|
4
|
+
category: finance
|
|
5
|
+
risk: safe
|
|
6
|
+
source: "https://github.com/target1m/traderspy-mcp/tree/069aae5a84640d671f92705a2e3bc0b62efca1e0/skills/smart-money"
|
|
7
|
+
source_repo: target1m/traderspy-mcp
|
|
8
|
+
source_type: official
|
|
9
|
+
date_added: "2026-09-25"
|
|
10
|
+
author: target1m
|
|
11
|
+
tags: [traderspy, crypto, smart-money, whale-tracking, mcp]
|
|
12
|
+
tools: [claude, cursor, gemini]
|
|
13
|
+
license: MIT
|
|
14
|
+
license_source: "https://github.com/target1m/traderspy-mcp/blob/069aae5a84640d671f92705a2e3bc0b62efca1e0/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# TraderSpy Smart Money
|
|
18
|
+
|
|
19
|
+
TraderSpy follows thousands of top-ranked accounts on four exchanges and records their positions as
|
|
20
|
+
they open, change and close. This skill turns that feed into answers about positioning and about
|
|
21
|
+
individual traders. Positions are observations of what other people did with their own money —
|
|
22
|
+
present them as evidence, never as instructions.
|
|
23
|
+
|
|
24
|
+
## When to Use
|
|
25
|
+
|
|
26
|
+
- Use when the user asks what whales or top traders are buying, shorting or holding, or whether big accounts are long or short a coin.
|
|
27
|
+
- Use when the user asks who ranks highest on an exchange or across exchanges, or wants to research one trader's record and open positions.
|
|
28
|
+
- Use for "smart money", "whale watch" or "what are the pros doing".
|
|
29
|
+
- Not for funding rate, open interest or long/short ratios of the whole market (`@traderspy-technical-analysis`), and not for AI signals (`@traderspy-trading-signals`).
|
|
30
|
+
|
|
31
|
+
## Tools
|
|
32
|
+
|
|
33
|
+
| Tool | Use it for | Key arguments |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `get_elite_leaderboard` | The cross-exchange top 10 by smart score, with the scoring rationale | none |
|
|
36
|
+
| `get_top_traders` | Ranked traders per exchange and window | `source` all / binance / hyperliquid / bybit / okx, `timeRange` 24h / 3D / 7D / 30D, `rankingType` ROI / PNL, `sortBy` ROI / PNL / SCORE, `limit` ≤ 200 |
|
|
37
|
+
| `get_positions` | The position feed | `status` open / closed / all, `source`, `symbol`, `limit` ≤ 50, `offset` |
|
|
38
|
+
| `get_trader_profile` | One trader: metrics + latest positions | `traderId` AND `source` (see below), `timeRange`, `rankingType` |
|
|
39
|
+
| `get_trader_position_history` | One trader's closed trades, paged | `traderId`, `source`, `page`, `limit` ≤ 50 |
|
|
40
|
+
| `get_market_stats` | Aggregate counts and PnL across all tracked positions | `source`, `period` 4h / 8h / 24h / 7d |
|
|
41
|
+
| `get_exchanges` | Which exchanges are currently tracked | none |
|
|
42
|
+
|
|
43
|
+
**Always pass `source` with a trader id.** `get_trader_profile` and `get_trader_position_history`
|
|
44
|
+
default to Binance; a Hyperliquid address (`0x…`) or an OKX id looked up on the wrong exchange
|
|
45
|
+
returns nothing. Take `source` from the row you got the id from.
|
|
46
|
+
|
|
47
|
+
## Reading the data
|
|
48
|
+
|
|
49
|
+
**Symbols differ per exchange.** Hyperliquid rows use bare coins (`BTC`, `ZEC`) and prefix
|
|
50
|
+
tokenized stocks with `xyz:` (`xyz:AVGO`); Binance, Bybit and OKX rows use `BTCUSDT`. When the
|
|
51
|
+
user asks about "BTC positions", pass `symbol: "BTC"` — the filter matches both `BTC` and
|
|
52
|
+
`BTCUSDT` exactly — and read the `symbol` field before summing anything. Tokenized stocks
|
|
53
|
+
(`xyz:AVGO`) are not reachable through the filter; fetch without `symbol` and pick them out.
|
|
54
|
+
|
|
55
|
+
**Position rows**: `side` LONG / SHORT, `size` in coins, `entryPrice`, `markPrice`, `leverage`,
|
|
56
|
+
`unrealizedPnl` (open rows) or `pnl` + `roi` (closed rows), `openTime` / `closeTime`, `isOpen`,
|
|
57
|
+
`lastEvent` (`increase`, `partial_close`, or null when the last change was the open itself). Notional ≈ `size × markPrice`; use
|
|
58
|
+
notional, not row count, when you say "whales are net long".
|
|
59
|
+
|
|
60
|
+
**Freshness.** Binance and Bybit snapshots refresh every 5–15 minutes, Hyperliquid every 15 minutes
|
|
61
|
+
plus live fills, OKX every 10–60 minutes. On a free-tier key the feed is delayed 15 minutes — if
|
|
62
|
+
`get_positions` returns nothing newer than that, say the feed is delayed rather than "no activity".
|
|
63
|
+
|
|
64
|
+
**Leaderboard rows** (`get_top_traders`) carry the exchange's own ranking snapshot: `roi`, `pnl`,
|
|
65
|
+
`assets` (account size), `winRate` (null on Hyperliquid — the exchange does not publish it),
|
|
66
|
+
`rankings[]` with the same trader across every window, and `smartScore` when TraderSpy has scored
|
|
67
|
+
them. `traderName` is a shortened address when the account has no public name. A trader who is
|
|
68
|
+
#1 on 30-day ROI with `assets` of $5k is a different animal from #19 with $3.4M — quote both.
|
|
69
|
+
|
|
70
|
+
**Smart score** (`get_elite_leaderboard`, 0–100, recomputed daily): realized PnL 30% (all-time
|
|
71
|
+
blended with the last 30 days), effective win rate 22%, ROI edge 18%, consistency 14%, longevity
|
|
72
|
+
10%, trade depth 6%, plus a recency bonus (up to +9) and a staleness penalty (down to −12 after
|
|
73
|
+
about three weeks idle). `scoreBreakdown` shows each part, `rationale[]` is a ready-made
|
|
74
|
+
plain-language justification, `metrics` has the raw counts (`closedTrades`, `profitFactor`,
|
|
75
|
+
`realizedPnl30d`, `openPositionCount`, `worstDayPnl`). `reliabilityMultiplier` below 1 means a
|
|
76
|
+
short history dragged the score down — say so when a 6-day-old account ranks top-5.
|
|
77
|
+
|
|
78
|
+
**Market stats** aggregate every tracked position, thousands of them, so `realizedPnl` can be a
|
|
79
|
+
large negative number even when the leaders are winning; the tracked universe includes traders
|
|
80
|
+
who fell off the leaderboard. Use it for counts and the exchange split, not as "smart money is
|
|
81
|
+
losing".
|
|
82
|
+
|
|
83
|
+
## Workflows
|
|
84
|
+
|
|
85
|
+
**"What are whales doing in SOL?"** → `get_positions` with `symbol`, `status: open`, `limit` 50.
|
|
86
|
+
Sum notional by side, name the largest two or three accounts with entry and leverage, and note
|
|
87
|
+
how recent the newest entries are. If open rows are few, add `status: closed` for the last day to
|
|
88
|
+
show whether they have been exiting.
|
|
89
|
+
|
|
90
|
+
**"Who are the best traders right now?"** → `get_elite_leaderboard` first (it is cross-exchange
|
|
91
|
+
and score-based), then `get_top_traders` for a specific exchange or window if the user wants raw
|
|
92
|
+
ROI/PnL. Explain that 7-day ROI rankings reward one lucky week; the smart score is built to
|
|
93
|
+
penalise exactly that.
|
|
94
|
+
|
|
95
|
+
**"Should I copy trader X?" / "Research this trader"** → `get_trader_profile` + one or two pages of
|
|
96
|
+
`get_trader_position_history`. From the history compute what the user actually needs: win rate
|
|
97
|
+
from closed rows, typical hold time (`closeTime − openTime`), typical leverage, how concentrated
|
|
98
|
+
in one coin, worst single trade, and whether the recent month looks like the all-time record.
|
|
99
|
+
Present it as a profile. Copying is the user's decision — this connector cannot follow anyone.
|
|
100
|
+
|
|
101
|
+
**"Are the pros long or short?" (whole market)** → `get_positions` `status: open` on the majors
|
|
102
|
+
plus `get_market_stats`; for exchange-wide long/short ratios of ALL accounts use
|
|
103
|
+
`get_derivatives` from technical-analysis instead, which answers that directly.
|
|
104
|
+
|
|
105
|
+
## Presenting
|
|
106
|
+
|
|
107
|
+
Positions: one row per position —
|
|
108
|
+
|
|
109
|
+
| Trader | Exchange | Side | Size (notional) | Entry | Mark | Lev | uPnL | Opened |
|
|
110
|
+
|
|
111
|
+
Traders: name, exchange, score or rank, window, ROI, PnL, account size, win rate (or "n/a" on
|
|
112
|
+
Hyperliquid), then the two-line rationale. Lead with the number that answers the question, keep
|
|
113
|
+
addresses shortened as returned, and always say which window a ROI belongs to.
|
|
114
|
+
|
|
115
|
+
## Conduct
|
|
116
|
+
|
|
117
|
+
- Positions are what other traders did, with their capital, their hedges and their exits, which
|
|
118
|
+
you cannot see in full. Present them as evidence about positioning, never as a recommendation to
|
|
119
|
+
mirror them; a leader's long can be one leg of a hedge.
|
|
120
|
+
- Past ROI and win rates describe a past sample — do not present a leaderboard as a forecast of
|
|
121
|
+
who will win next. Point out short histories and small samples.
|
|
122
|
+
- Nothing in this connector trades or copies. There is no order, follow, transfer or withdrawal
|
|
123
|
+
tool, by design. If asked to copy or execute a trade, say so plainly; the decision and the trade stay
|
|
124
|
+
with the user.
|
|
125
|
+
- Quote only what the tools returned; say when data is delayed or a field is null.
|
|
126
|
+
- When the answer is about a specific trade idea, end with one plain sentence that crypto
|
|
127
|
+
derivatives are high-risk and this is market information, not financial advice.
|
|
128
|
+
|
|
129
|
+
For exchange-specific quirks and refresh cadences read `references/exchange-notes.md`.
|
|
130
|
+
|
|
131
|
+
## Examples
|
|
132
|
+
|
|
133
|
+
```text
|
|
134
|
+
What are the top traders long and short right now?
|
|
135
|
+
What are whales doing in SOL?
|
|
136
|
+
Who is at the top of the Hyperliquid leaderboard right now, and what are they positioned in? Then show me the position history of the top one.
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Limitations
|
|
140
|
+
|
|
141
|
+
- Needs the hosted TraderSpy MCP server connected in the client (`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.
|
|
142
|
+
- Tool calls are metered per day: 300 on the free tier, 5,000 on premium.
|
|
143
|
+
- Every tool is read-only. Nothing here places, closes or modifies an order, and there is no withdrawal or transfer tool.
|
|
144
|
+
- The output is market data and analysis for the user's own research, not investment advice.
|
|
145
|
+
- On a free key, position rows are delayed 15 minutes. Leaderboards, profiles and stats are not delayed.
|
|
146
|
+
- It sees only the accounts TraderSpy tracks on Binance, Hyperliquid, Bybit and OKX, not what the same traders hold elsewhere, so a tracked long can be one leg of a hedge.
|
|
147
|
+
|
|
148
|
+
## Related Skills
|
|
149
|
+
|
|
150
|
+
- `@traderspy-technical-analysis` (called `technical-analysis` in the text above, its upstream ID) - `get_derivatives` for exchange-wide funding, open interest and long/short ratios
|
|
151
|
+
- `@traderspy-trading-signals` - AI signals rather than trader positions
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Exchange notes for the smart-money feed
|
|
2
|
+
|
|
3
|
+
| Exchange | `source` | Trader id looks like | Symbols | Refresh | Notes |
|
|
4
|
+
| --- | --- | --- | --- | --- | --- |
|
|
5
|
+
| Binance | `binance` | opaque leaderboard id | `BTCUSDT` | positions every 5–10 min | Largest tracked set (~5k positions); leaderboard is opt-in, so it is the traders who chose to be public |
|
|
6
|
+
| Hyperliquid | `hyperliquid` | `0x` EVM address | bare coin `BTC`, `kPEPE`-style 1000x coins, `xyz:AVGO` for tokenized stocks | fills live via WebSocket, snapshots every 15 min | Fully on-chain, so positions are exact; `winRate` is null because the venue does not publish it |
|
|
7
|
+
| Bybit | `bybit` | opaque id | `BTCUSDT` | every 10–15 min | Smaller tracked set |
|
|
8
|
+
| OKX | `okx` | 16-hex id | `BTCUSDT` | every 10 min – 1 h | Copy-trade leaders; names and avatars are public; many high-frequency scalpers with 90%+ win rates and tiny per-trade ROI |
|
|
9
|
+
|
|
10
|
+
## Elite leaderboard (`get_elite_leaderboard`)
|
|
11
|
+
|
|
12
|
+
- Recomputed daily (00:10 Europe/Istanbul); `lastRunAt` says when. Not intraday.
|
|
13
|
+
- `tier` is the exchange's own badge where one exists (OKX leaders show Silver / Bronze / Regular);
|
|
14
|
+
null on venues without badges.
|
|
15
|
+
- `algorithmDetails[]` in the response documents every weight — quote it when the user asks how
|
|
16
|
+
the score works instead of paraphrasing from memory.
|
|
17
|
+
- `summary.totalTrackedTraders` vs `tradersWithClosedTrades` tells you how many accounts actually
|
|
18
|
+
have a closed-trade record behind their score.
|
|
19
|
+
- A trader can top the score with a negative `effectiveRoi` if their realized PnL is huge — the
|
|
20
|
+
score rewards money made, not percentage. Say which when the two disagree.
|
|
21
|
+
|
|
22
|
+
## Reading a trader's history for a "should I copy" profile
|
|
23
|
+
|
|
24
|
+
From `get_trader_position_history` rows (`symbol, side, size, entryPrice, closePrice, leverage,
|
|
25
|
+
pnl, roi, openTime, closeTime`):
|
|
26
|
+
|
|
27
|
+
- win rate = rows with `pnl > 0` ÷ rows
|
|
28
|
+
- average hold = mean of `closeTime − openTime`, expressed in hours or days
|
|
29
|
+
- concentration = share of rows (or of |pnl|) in the single most-traded symbol
|
|
30
|
+
- worst trade = min `pnl`; compare it with the median win to show the shape of the distribution
|
|
31
|
+
- leverage habit = median `leverage`; flag anything ≥ 20× explicitly
|
|
32
|
+
- recency = share of rows in the last 30 days; a great all-time record with nothing recent is a
|
|
33
|
+
dormant account
|
|
34
|
+
|
|
35
|
+
Two pages of 50 rows are plenty for a profile. State the sample size.
|
|
36
|
+
|
|
37
|
+
## Free tier
|
|
38
|
+
|
|
39
|
+
Position rows are filtered to those older than 15 minutes on a free key. Leaderboards, profiles and
|
|
40
|
+
stats are not delayed.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: traderspy-technical-analysis
|
|
3
|
+
description: "Read one crypto futures pair with TraderSpy: 19 indicators on up to 3 timeframes in one call, key levels, funding, open interest and positioning. Use for \"analyse BTC\" or \"is SOL oversold\"."
|
|
4
|
+
category: finance
|
|
5
|
+
risk: safe
|
|
6
|
+
source: "https://github.com/target1m/traderspy-mcp/tree/069aae5a84640d671f92705a2e3bc0b62efca1e0/skills/technical-analysis"
|
|
7
|
+
source_repo: target1m/traderspy-mcp
|
|
8
|
+
source_type: official
|
|
9
|
+
date_added: "2026-09-25"
|
|
10
|
+
author: target1m
|
|
11
|
+
tags: [traderspy, crypto, technical-analysis, indicators, mcp]
|
|
12
|
+
tools: [claude, cursor, gemini]
|
|
13
|
+
license: MIT
|
|
14
|
+
license_source: "https://github.com/target1m/traderspy-mcp/blob/069aae5a84640d671f92705a2e3bc0b62efca1e0/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# TraderSpy Technical Analysis
|
|
18
|
+
|
|
19
|
+
One good read of a chart is three things in order: where price is in its structure (trend and
|
|
20
|
+
levels), what momentum and volatility are doing, and how the derivatives market is positioned
|
|
21
|
+
around it. TraderSpy gives all three in at most two calls. Spend the calls well — the user's quota
|
|
22
|
+
is finite — and quote the numbers, not adjectives.
|
|
23
|
+
|
|
24
|
+
## When to Use
|
|
25
|
+
|
|
26
|
+
- Use when the user asks about a coin's chart, trend, momentum, support and resistance, or where a level such as the 200 EMA sits.
|
|
27
|
+
- Use for "analyse BTC", "how does SOL look", "is X overbought / oversold", "what do the indicators say" or "is this a good entry", even when the user only names a coin.
|
|
28
|
+
- Use when the question is whether funding is high or open interest is building, or when the user wants price or candle data.
|
|
29
|
+
- For scanning many coins by conditions use `@traderspy-market-screener`; for whale positions use `@traderspy-smart-money`.
|
|
30
|
+
|
|
31
|
+
## Tools
|
|
32
|
+
|
|
33
|
+
| Tool | Use it for | Key arguments |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `get_technical_indicators` | The chart read | `symbol`, `intervals` (≤ 3) or `interval`, `indicators` (≤ 19), `periods`, `history` 0–20 |
|
|
36
|
+
| `get_derivatives` | Funding, open interest, positioning | `symbols` (≤ 5 Binance USDⓈ-M perps; bare `BTC` is fine) |
|
|
37
|
+
| `get_price` | Live price, 24h high/low/volume/change | `symbols` (≤ 20) |
|
|
38
|
+
| `get_candles` | Raw OHLCV | `symbol`, `interval` 1m/5m/15m/1h/4h/1d, `limit` ≤ 500 |
|
|
39
|
+
| `get_tracked_symbols` | Coverage check | none — only when a symbol returns no data |
|
|
40
|
+
|
|
41
|
+
Symbols are Binance Futures names: `BTCUSDT`, `SOLUSDT`, `1000PEPEUSDT` (1000x-prefixed small
|
|
42
|
+
caps), and tokenized equities/ETFs such as `AAPLUSDT` or `SPYUSDT`. Append `USDT` to a bare coin.
|
|
43
|
+
Hyperliquid-only perps (e.g. HYPE) are tracked under the same naming.
|
|
44
|
+
|
|
45
|
+
## Making the call count
|
|
46
|
+
|
|
47
|
+
- **Multi-timeframe is one quota unit.** For any "how does X look" question pass
|
|
48
|
+
`intervals: ["1h","4h","1d"]` (or `["15m","1h","4h"]` for an intraday user) and get a
|
|
49
|
+
`confluence` verdict — never three separate calls.
|
|
50
|
+
- **Pick indicators for the question.** Default `rsi, macd, ema, bollinger` covers momentum and
|
|
51
|
+
trend. Add `levels` + `pivots` whenever the user cares about entries, targets or "where is
|
|
52
|
+
support"; `atr` for stop distance and volatility; `adx` for trend strength; `supertrend` for a
|
|
53
|
+
clean trend state; `obv` / `mfi` when volume confirmation matters; `ichimoku` / `keltner` only
|
|
54
|
+
when asked. Eight to ten well-chosen indicators is a full read; all 19 is noise.
|
|
55
|
+
- **`periods`** lets you honour the user's settings (`{"ema":[9,21,55,200],"rsi":7}`); an unknown
|
|
56
|
+
key is rejected, so use the documented names only.
|
|
57
|
+
- **Add `get_derivatives`** when the question involves "why is it moving", crowding, funding,
|
|
58
|
+
open interest, leverage, liquidations, or when the user is about to lean on a directional call —
|
|
59
|
+
candles cannot see positioning.
|
|
60
|
+
- `get_candles` is for when the user wants the data itself (to chart, export or compute something
|
|
61
|
+
custom). Do not fetch candles to eyeball indicators the technicals tool already computes.
|
|
62
|
+
|
|
63
|
+
## Reading the response
|
|
64
|
+
|
|
65
|
+
**Shape.** One timeframe → top-level `indicators` + `summary`. Several → `timeframes[]` (each
|
|
66
|
+
with `interval`, `price`, `candles`, `indicators`, `summary`) plus `confluence` `{ aligned, bias,
|
|
67
|
+
byInterval }`; the top-level `interval`/`price` then name the first timeframe only. `settings`
|
|
68
|
+
echoes what was computed; `warnings[]` lists anything that was thinned or missing.
|
|
69
|
+
|
|
70
|
+
**Every indicator** carries `value`, `previous`, `direction` (rising / falling / flat) and a short
|
|
71
|
+
`series` (oldest → newest), plus its own fields — `zone` on RSI/Stochastic/CCI/MFI/Williams,
|
|
72
|
+
`crossover` on MACD/Stochastic, `stack`/`pricePosition` on EMA, `±DI` and `strength` on ADX,
|
|
73
|
+
`trend`/`flipped`/`barsSinceFlip` on SuperTrend, `divergence` on RSI/MACD/OBV. `{ value: null,
|
|
74
|
+
reason: "insufficient_data" }` means the tape is too short for that period — say so, do not
|
|
75
|
+
substitute.
|
|
76
|
+
|
|
77
|
+
**`summary` is the spine of the read.** `bias` (bullish / bearish / neutral) is computed from a
|
|
78
|
+
FIXED set (RSI 14, MACD, EMA 20/50/200, ADX 14, ATR 14, BB 20/2, volume 20) regardless of what
|
|
79
|
+
you requested, so it is comparable between calls; `score` is its internal vote (|score| ≥ 30 sets
|
|
80
|
+
a bias). `trend` (direction, strength, emaStack, priceVsEma200), `momentum` (rsiZone, macdState),
|
|
81
|
+
`volatility` (atrPct, atrPercentile 0–100, squeeze, state), `volume.ratioVsAverage`, `patterns[]`
|
|
82
|
+
(candlestick finders on the last two bars) and `notes[]` — plain-language sentences written to be
|
|
83
|
+
quoted. Build the answer from the notes, then add the numbers.
|
|
84
|
+
|
|
85
|
+
**`levels`** (nearest three per side from swing highs/lows over 300 bars): `price`, `touches`,
|
|
86
|
+
`distancePct`; `range.positionPct` (0 = at the low of the lookback, 100 = at the high);
|
|
87
|
+
`fibonacci` (the dominant leg with `retracedPct` and the nearest level above/below);
|
|
88
|
+
`volumeProfile` (`poc`, value area, `pricePosition`). **`pivots`** are classic floor pivots from
|
|
89
|
+
the previous DAILY candle whatever the timeframe. Together they give you a levels table; distance
|
|
90
|
+
in % is what a user can act on.
|
|
91
|
+
|
|
92
|
+
**`confluence.aligned`** is true only when every timeframe with data agrees on a non-neutral bias.
|
|
93
|
+
"Aligned bearish on 1h/4h/1d" is a strong statement; "4h bullish, 1d neutral" is a pullback
|
|
94
|
+
question. Say which.
|
|
95
|
+
|
|
96
|
+
**Derivatives** (`get_derivatives`): `funding.label` — `extreme_longs_paying` / `longs_paying` /
|
|
97
|
+
`neutral` / `shorts_paying` / `extreme_shorts_paying` (longs pay at ≥ +0.03% per 8h, extreme at
|
|
98
|
+
≥ +0.10%; shorts pay at ≤ −0.01%, extreme at ≤ −0.05%; Binance's baseline is +0.01%; quote
|
|
99
|
+
`annualizedPct`); `openInterest.regime` — `new_longs` / `short_covering` / `new_shorts` /
|
|
100
|
+
`long_liquidation` / `flat` (needs ≥ 1% OI and ≥ 0.5% price change over 24h);
|
|
101
|
+
`positioning.label` — `long_heavy` (long/short ratio ≥ 1.5, i.e. ≥ 60% long) / `balanced` /
|
|
102
|
+
`short_heavy` (≤ 0.67, i.e. ≤ 40% long), read from the top-trader POSITION ratio first;
|
|
103
|
+
`takerBuySellRatio` is the last hour's aggressor flow. Data is at most 60 s old. `notes[]` are
|
|
104
|
+
quotable. Details in `references/derivatives-guide.md`.
|
|
105
|
+
|
|
106
|
+
## Presenting
|
|
107
|
+
|
|
108
|
+
For a single-coin read ALWAYS use this order, and keep it to what the user asked:
|
|
109
|
+
|
|
110
|
+
1. **Price line** — symbol, price, time of the read, 24h change if you fetched it.
|
|
111
|
+
2. **Per timeframe, one line each** — bias, trend (EMA stack and ADX), momentum (RSI zone, MACD
|
|
112
|
+
state), volatility (ATR %, squeeze), with the key number after each label.
|
|
113
|
+
3. **Confluence** — aligned or not, and what the disagreement means.
|
|
114
|
+
4. **Levels table** — nearest support and resistance with distance %, the pivot, the nearest
|
|
115
|
+
Fibonacci level, the value-area edge if price is near it.
|
|
116
|
+
5. **Derivatives line** (if fetched) — funding label + annualized, OI regime, top-trader long %.
|
|
117
|
+
6. **What would change the read** — the one or two levels or readings that flip the picture
|
|
118
|
+
(e.g. "a 4h close above 79,325 resistance with OI rising would turn the 4h bias bullish").
|
|
119
|
+
7. One plain sentence: crypto derivatives are high-risk; this is market information, not advice.
|
|
120
|
+
|
|
121
|
+
Use `RSI(14) 41.3 — neutral, falling` style labelling so the period and the direction are always
|
|
122
|
+
visible. Percentages to one decimal; prices to the precision the tool returned.
|
|
123
|
+
|
|
124
|
+
## Conduct
|
|
125
|
+
|
|
126
|
+
- Describe the chart; do not prescribe the trade. If the user asks "is this a good entry", answer
|
|
127
|
+
with what supports the entry, what argues against it, where the invalidation sits, and hand the
|
|
128
|
+
decision back. Never tell the user to buy, sell, size or leverage.
|
|
129
|
+
- Indicators describe the past bars they were computed on; do not present a bias as a forecast or
|
|
130
|
+
imply any outcome is assured.
|
|
131
|
+
- Nothing in this connector trades — no order, close, transfer or withdrawal tool exists, by
|
|
132
|
+
design. If asked to execute, say so plainly; the decision and the trade stay with the user.
|
|
133
|
+
- Quote only what the tools returned. If an indicator is `insufficient_data` or a symbol is not
|
|
134
|
+
tracked, say so instead of estimating.
|
|
135
|
+
- When the answer is about a specific trade idea, end with one plain sentence that crypto
|
|
136
|
+
derivatives are high-risk and this is market information, not financial advice — once per
|
|
137
|
+
answer.
|
|
138
|
+
|
|
139
|
+
Per-indicator fields and conventional readings: `references/indicator-guide.md`.
|
|
140
|
+
|
|
141
|
+
## Examples
|
|
142
|
+
|
|
143
|
+
```text
|
|
144
|
+
Analyse BTC on the 1h, 4h and 1d with funding and open interest.
|
|
145
|
+
Is SOL overbought? Where are the nearest support and resistance levels?
|
|
146
|
+
Where is the 200 EMA on ETH, and is funding stretched?
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Limitations
|
|
150
|
+
|
|
151
|
+
- Needs the hosted TraderSpy MCP server connected in the client (`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.
|
|
152
|
+
- Tool calls are metered per day: 300 on the free tier, 5,000 on premium.
|
|
153
|
+
- Every tool is read-only. Nothing here places, closes or modifies an order, and there is no withdrawal or transfer tool.
|
|
154
|
+
- The output is market data and analysis for the user's own research, not investment advice.
|
|
155
|
+
- A multi-timeframe read is one tool call; adding derivatives makes it two.
|
|
156
|
+
- Symbols use Binance Futures naming (`BTCUSDT`, `1000PEPEUSDT`). `get_derivatives` covers Binance USDⓈ-M perpetuals, up to five per call.
|
|
157
|
+
|
|
158
|
+
## Related Skills
|
|
159
|
+
|
|
160
|
+
- `@traderspy-market-screener` - many coins at once, and backtests of a condition
|
|
161
|
+
- `@traderspy-smart-money` - what tracked top traders hold
|
|
162
|
+
- `@traderspy-position-check` - the same read applied to an open position
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Derivatives guide — `get_derivatives`
|
|
2
|
+
|
|
3
|
+
Source: Binance USDⓈ-M perpetual futures public endpoints, snapshot cached 60 s. One entry per
|
|
4
|
+
symbol; an unknown or non-Binance symbol comes back as `{ symbol, error, message }`.
|
|
5
|
+
|
|
6
|
+
## Fields
|
|
7
|
+
|
|
8
|
+
- `markPrice`, `indexPrice`, `premiumPct` — mark vs index; a persistent positive premium is
|
|
9
|
+
another face of long crowding.
|
|
10
|
+
- `funding`: `rate` (raw, per 8h), `ratePct`, `annualizedPct`, `nextFundingTime`,
|
|
11
|
+
`minutesToNextFunding`, `avg24hPct`, `avg3dPct`, `label`.
|
|
12
|
+
- `openInterest`: `contracts`, `valueUsd`, `change4hPct`, `change24hPct`, `priceChange24hPct`,
|
|
13
|
+
`regime`.
|
|
14
|
+
- `positioning`: `globalLongShortRatio`, `globalLongPct` (all accounts), `topTraderLongShortRatio`,
|
|
15
|
+
`topTraderLongPct` (top traders, by position size), `takerBuySellRatio` (last hour),
|
|
16
|
+
`label`.
|
|
17
|
+
- `notes[]` — the interpretation in sentences; quote them.
|
|
18
|
+
|
|
19
|
+
## Labels
|
|
20
|
+
|
|
21
|
+
| `funding.label` | Rule (per 8h) | Reading |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| `extreme_shorts_paying` | ≤ −0.05% | Shorts crowded and paying heavily; squeeze risk |
|
|
24
|
+
| `shorts_paying` | ≤ −0.01% | Shorts paying longs |
|
|
25
|
+
| `neutral` | between −0.01% and +0.03% (Binance's baseline is +0.01%) | No crowding signal |
|
|
26
|
+
| `longs_paying` | ≥ +0.03% | Longs paying shorts — leverage leaning long |
|
|
27
|
+
| `extreme_longs_paying` | ≥ +0.10% | Longs crowded and paying heavily; long-squeeze / flush risk |
|
|
28
|
+
|
|
29
|
+
Quote `annualizedPct` alongside — "0.05%/8h" means little to most readers, "≈ 55% APR" does.
|
|
30
|
+
|
|
31
|
+
| `openInterest.regime` | OI 24h | Price 24h | Reading |
|
|
32
|
+
| --- | --- | --- | --- |
|
|
33
|
+
| `new_longs` | up | up | Fresh money buying; trend being funded |
|
|
34
|
+
| `short_covering` | down | up | Rally driven by shorts closing — less durable |
|
|
35
|
+
| `new_shorts` | up | down | Fresh shorts pressing; trend being funded to the downside |
|
|
36
|
+
| `long_liquidation` | down | down | Longs being flushed — capitulation-type move |
|
|
37
|
+
| `flat` | < 1% OI or < 0.5% price | No meaningful OI story |
|
|
38
|
+
|
|
39
|
+
| `positioning.label` | Rule | Reading |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| `long_heavy` | long/short ratio ≥ 1.5 (≈ 60%+ long) | Leaders leaning long |
|
|
42
|
+
| `balanced` | between | No lean |
|
|
43
|
+
| `short_heavy` | ratio ≤ 0.67 (≈ 40% or less long) | Leaders leaning short |
|
|
44
|
+
|
|
45
|
+
Top-trader positioning (by position size) is read first because it is the informed cohort; the
|
|
46
|
+
all-account ratio shows the crowd. When they disagree ("top traders 69% long, all accounts 45%
|
|
47
|
+
long"), that disagreement is the interesting sentence.
|
|
48
|
+
|
|
49
|
+
## Combining with the chart
|
|
50
|
+
|
|
51
|
+
- Chart bullish + `new_longs` + `neutral` funding: a trend with fuel and no crowding.
|
|
52
|
+
- Chart bullish + `extreme_longs_paying`: extended; flush risk is the caveat to state.
|
|
53
|
+
- Chart bearish + `short_covering` bounce: a relief rally, not a reversal, until OI rebuilds.
|
|
54
|
+
- `long_liquidation` with `extreme_shorts_paying` afterwards: the flush may be done; watch whether
|
|
55
|
+
OI rebuilds.
|
|
56
|
+
|
|
57
|
+
These are conventional readings to explain the data, not predictions.
|