Crypto Trading Signals
Trading signal generation for a $10 crypto portfolio: $5 BTC, $5 ETH, plus crypto-adjacent stocks COIN and MSTR.
Portfolio
ASSET | TYPE | VALUE
-------|---------|--------
BTC | Crypto | $5.00
ETH | Crypto | $5.00
COIN | Stock | Track only
MSTR | Stock | Track only
COIN and MSTR are stocks, not cryptocurrencies. They trade Mon-Fri 9:30AM-4PM ET.
How It Works
This skill uses a two-phase design optimized for small models (0.5B-1B):
Phase 1 — Data (script does everything):
A Python script fetches prices, computes RSI/MACD/Bollinger indicators, generates BUY/HOLD/SELL signals, and writes the results to crypto_report.json.
Phase 2 — Interpret (model reads JSON, writes summary):
The model reads the pre-computed JSON and writes a human-readable report to crypto_summary.txt.
The script handles all the hard work. The model only needs to call 2 tools total.
Workflow
Step 1: Run the signal script
IMPORTANT: Copy and paste this exact command into the shell tool. Do NOT modify the path.
find /usr -name crypto_signal_agent.py -exec python {} run \;
This command searches for the script and runs it. The path will be found automatically. Do NOT guess paths like /path/to/ or /usr/bin/python. Use only the command above, exactly as written.
The script will:
- Fetch BTC and ETH prices from CoinGecko (fallback: CoinCap)
- Fetch COIN and MSTR prices from Yahoo Finance
- Compute RSI, SMA, EMA, MACD, Bollinger Bands from 30-day history
- Generate BUY/HOLD/SELL signals with confidence levels
- Write results to
crypto_report.jsonin the current directory - Append to
crypto_signals_log.jsonfor historical tracking
Step 2: Read the report
Use the read_file tool to read crypto_report.json.
Step 3: Write a human-readable summary
Based on the JSON data, use write_file to create crypto_summary.txt containing:
CRYPTO SIGNAL REPORT — {date}
========================
BTC: ${price} ({change_24h}% 24h)
RSI(14): {rsi} | MACD: {macd} | BB Position: {pos}
SIGNAL: {signal} ({confidence})
ETH: ${price} ({change_24h}% 24h)
RSI(14): {rsi} | MACD: {macd} | BB Position: {pos}
SIGNAL: {signal} ({confidence})
COIN: ${price} ({change}% 24h) — STOCK, not crypto
MSTR: ${price} ({change}% 24h) — STOCK, not crypto
PORTFOLIO: ${total} | 24h P&L: {pnl}%
ACTION: {one sentence recommendation}
Use the signal data from the JSON. Do not make up numbers.
Step 4: Present to user
Read crypto_summary.txt and display it as your final answer.
Quick Commands
- "Run signals" → Full 4-step workflow above
- "Check prices" → Run script, read report, show prices only
- "How's my portfolio" → Run script, read report, show portfolio section
Other Script Commands
The script supports additional commands:
run— Full analysis + JSON reportprices— Current prices onlyhistory— Last 100 logged signals
Change run to prices or history in the command above.
Constraints
- Zero dependencies — Python stdlib only
- Free APIs only — CoinGecko, CoinCap, Yahoo Finance (no keys)
- COIN/MSTR are stocks — note this in output
- Not financial advice — for educational/research purposes
Troubleshooting
- If the script fails with a network error, the JSON will contain
_errorfields - If CoinGecko rate-limits (429), the script auto-falls back to CoinCap
- If Yahoo Finance fails, stock data will be missing (crypto still works)
- The script writes to the current working directory
Asset Reference
| Asset | CoinGecko ID | Yahoo Ticker | Type |
|---|---|---|---|
| BTC | bitcoin | BTC-USD | Crypto |
| ETH | ethereum | ETH-USD | Crypto |
| COIN | — | COIN | Stock |
| MSTR | — | MSTR | Stock |