home / skills / dkyazzentwatwa / chatgpt-skills / crypto-ta-analyzer
This skill performs multi-indicator crypto and stock analysis to generate 7-tier trading signals with divergence, volume, and squeeze alerts.
npx playbooks add skill dkyazzentwatwa/chatgpt-skills --skill crypto-ta-analyzerReview the files below or copy the command above to add this skill to your agents.
---
name: crypto-ta-analyzer
description: Technical analysis with 29+ indicators (BB, Ichimoku, RSI, MACD). Generates 7-tier trading signals with divergence detection, volume confirmation, and squeeze alerts for crypto and stocks.
---
# Crypto & Stock Technical Analysis
Multi-indicator technical analysis system that generates high-confidence trading signals by combining 29+ proven algorithms. Features divergence detection, Bollinger Band squeeze alerts, volume confirmation, and a 7-tier signal system. Ideal for cryptocurrency and stock market analysis.
## Core Workflow
### 1. Data Acquisition
Fetch historical price data from any supported source:
**CoinGecko (via MCP tools):**
```
Use coingecko_get_historical_chart tool with:
- coin_id: Target cryptocurrency (e.g., 'bitcoin', 'ethereum')
- days: Time range ('7', '30', '90', '365', 'max')
- vs_currency: Base currency (default 'usd')
```
**Other Supported Sources:**
- Exchange APIs (Binance, Coinbase, etc.) - OHLCV format
- Yahoo Finance - Stock data
- Any price-only data - Automatic OHLC approximation
**Minimum Requirements**:
- At least 100 data points for reliable analysis (50 minimum)
- Price data required, volume recommended
- Recent data preferred for active trading signals
### 2. Convert Data to OHLCV Format
The generic data converter auto-detects and normalizes any supported format:
```python
from scripts.data_converter import normalize_ohlcv, validate_data_quality
# Auto-detect format and convert
ohlcv_df, metadata = normalize_ohlcv(raw_data, source="auto")
# Check conversion quality
print(f"Format detected: {metadata['detected_format']}")
print(f"Rows: {metadata['original_rows']} -> {metadata['final_rows']}")
print(f"Warnings: {metadata['warnings']}")
# Validate data quality
quality_report = validate_data_quality(ohlcv_df)
```
**Backward compatible** with old CoinGecko converter:
```python
from scripts.data_converter import prepare_analysis_data
ohlcv_df = prepare_analysis_data(coingecko_json_data)
```
### 3. Run Technical Analysis
Execute the analyzer with prepared data:
```python
from scripts.ta_analyzer import TechnicalAnalyzer
import json
# Initialize analyzer with OHLCV data
analyzer = TechnicalAnalyzer(ohlcv_df)
# Run comprehensive analysis
results = analyzer.analyze_all()
# Display results
print(json.dumps(results, indent=2))
```
### 4. Interpret Results
Analysis returns comprehensive data including new features:
```json
{
"scoreTotal": 8.5,
"tradeSignal": "STRONG_UPTREND",
"tradeSignal7Tier": "STRONG_BUY",
"tradeTrigger": true,
"currentPrice": 45234.56,
"priceChange24h": 3.45,
"confidence": 0.75,
"normalizedScore": 0.42,
"volumeConfirmation": 0.85,
"squeezeDetected": false,
"divergences": {
"RSI": "NONE",
"MACD": "NONE",
"OBV": "NONE"
},
"individualScores": {
"RSI": 1.0,
"MACD": 1.0,
"BB": 0.75,
"OBV": 0.8,
"ICHIMOKU": 1.0,
...
},
"individualSignals": {
"RSI": "BUY",
"MACD": "BUY",
"BB": "BUY",
...
},
"regime": {
"regime": "TRENDING",
"adx": 32.5,
"dmiDirection": "UP"
},
"warnings": []
}
```
**7-Tier Signal System** (NEW):
- **STRONG_BUY**: High confidence bullish (normalized >= 0.5, confidence >= 0.7)
- **BUY**: Moderate confidence bullish (normalized >= 0.35, confidence >= 0.5)
- **WEAK_BUY**: Low confidence bullish (normalized >= 0.2)
- **NEUTRAL**: No clear direction
- **WEAK_SELL**: Low confidence bearish (normalized <= -0.2)
- **SELL**: Moderate confidence bearish (normalized <= -0.35, confidence >= 0.5)
- **STRONG_SELL**: High confidence bearish (normalized <= -0.5, confidence >= 0.7)
**Legacy Signal Interpretation** (backward compatible):
- **scoreTotal >= 7.0**: STRONG_UPTREND - High confidence bullish signal
- **scoreTotal 3.0-6.9**: NEUTRAL - Mixed signals, wait for clarity
- **scoreTotal < 3.0**: DOWNTREND - Bearish signal, avoid longs
**Divergence Types**:
- **BULLISH_DIV**: Price lower low + indicator higher low = potential reversal up
- **BEARISH_DIV**: Price higher high + indicator lower high = potential reversal down
- **HIDDEN_BULLISH**: Trend continuation signal in uptrend
- **HIDDEN_BEARISH**: Trend continuation signal in downtrend
- **NONE**: No divergence detected
## Available Indicators (29)
### Core Indicators (10) - Weight: 1.0
- **RSI** (Relative Strength Index) - Momentum oscillator with divergence detection
- **MACD** (Moving Average Convergence Divergence) - Trend-following momentum with divergence
- **BB** (Bollinger Bands) - NEW: Volatility bands with squeeze detection
- **OBV** (On-Balance Volume) - NEW: Volume-price divergence indicator
- **ICHIMOKU** (Ichimoku Cloud) - NEW: Multi-component trend system (crypto-optimized 10/30/60)
- **EMA** (Exponential Moving Average) - Short/long crossover
- **SMA** (Simple Moving Average) - Short/long crossover
- **MFI** (Money Flow Index) - Volume-weighted RSI
- **KDJ** (Stochastic with J line) - Overbought/oversold with momentum
- **SAR** (Parabolic SAR) - Trend reversal detection
### Strong Indicators (5) - Weight: 0.75
- **DEMA** (Double Exponential MA) - Reduced lag moving average
- **MESA** (MESA Adaptive MA) - Ehlers Hilbert Transform based
- **CCI** (Commodity Channel Index) - Cyclical trend identification
- **AROON** - Trend timing indicator
- **APO** (Absolute Price Oscillator) - Trend strength
### Supporting Indicators (14) - Weight: 0.5
- **ADX** (Average Directional Index) - Trend strength
- **DMI** (Directional Movement Index) - Trend direction
- **CMO** (Chande Momentum Oscillator) - Modified RSI
- **KAMA** (Kaufman Adaptive MA) - Volatility-adjusted MA
- **MOMI** (Momentum) - Rate of price change
- **PPO** (Percentage Price Oscillator) - Normalized MACD
- **ROC** (Rate of Change) - Percentage momentum
- **TRIMA** (Triangular MA) - Smoothed moving average
- **TRIX** (Triple Exponential MA) - Smoothed momentum
- **T3** (Tillson T3) - Low-lag smooth MA
- **WMA** (Weighted MA) - Linearly weighted
- **VWAP** (Volume Weighted Average Price) - NEW: Institutional reference
- **ATR_SIGNAL** (ATR Volatility Signal) - NEW: Volatility-based signals
- **CAD** (CMO with Regime-Aware Mean Reversion) - Adaptive momentum
See [references/indicators.md](references/indicators.md) for detailed indicator explanations.
## Usage Patterns
### Quick Analysis
For rapid assessment of a single cryptocurrency:
```
1. Call coingecko_get_historical_chart for target coin (7-30 days)
2. Convert data using coingecko_converter
3. Run ta_analyzer.analyze_all()
4. Present scoreTotal and tradeSignal to user
```
### Comparative Analysis
To compare multiple cryptocurrencies:
```
1. Call coingecko_compare_coins for target coins
2. For each coin:
- Fetch historical chart data
- Run technical analysis
- Store results
3. Create comparison table with scores and signals
4. Identify strongest/weakest performers
```
### Deep Dive Analysis
For comprehensive assessment with context:
```
1. Fetch multiple timeframes (7d, 30d, 90d)
2. Run analysis on each timeframe
3. Check for signal agreement across timeframes
4. Review individual indicator signals for divergences
5. Cross-reference with market data (market cap, volume, dominance)
6. Provide detailed report with confidence levels
```
### Trend Monitoring
For ongoing market surveillance:
```
1. Fetch current data for watchlist
2. Run analysis on all coins
3. Filter for STRONG_UPTREND signals (score >= 7)
4. Rank by score descending
5. Present top opportunities with context
```
## Best Practices
### Data Quality
- **Always validate** data quality before analysis using validate_data_quality()
- Ensure minimum 100 data points (preferably 200+)
- Check for missing values or data gaps
- Use appropriate timeframe for user's trading strategy
### Interpretation Guidelines
- **Never rely on single indicator** - the power is in consensus
- **Consider market context** - indicators behave differently in trending vs ranging markets
- **Watch for divergences** - when price contradicts indicators, reversal may be coming
- **Volume confirms price** - MFI provides crucial validation
- **Multiple timeframes** - confirm signals across different periods
### Common Patterns
**High Conviction Bullish** (STRONG_BUY):
- 7-tier signal: STRONG_BUY or BUY
- Confidence >= 0.7
- RSI between 30-70 (not overbought)
- MACD bullish crossover
- Price above Ichimoku cloud
- OBV confirms with no bearish divergence
- Volume confirmation >= 0.7
- ADX > 25 (strong trend)
**Breakout Setup**:
- Bollinger Band squeeze detected (squeezeDetected: true)
- ADX rising from < 20
- Volume starting to increase
- Watch for band expansion
**Trend Exhaustion Warning**:
- Score > 7 BUT RSI > 80 or MFI > 90
- Bearish divergence on RSI, MACD, or OBV
- Price above Bollinger upper band (%B > 1.0)
- Potential reversal or pullback incoming
**Divergence-Based Reversal**:
- Bearish divergence: Prepare for potential top
- Bullish divergence: Watch for potential bottom
- OBV divergence is most reliable (volume precedes price)
**False Breakout**:
- Strong price move BUT ADX < 20
- Low volume (volumeConfirmation < 0.5)
- OBV not confirming price move
- Likely whipsaw or temporary spike
**Ichimoku Confirmation**:
- Price above cloud + Tenkan above Kijun = Strong bullish
- Price below cloud + Tenkan below Kijun = Strong bearish
- Price inside cloud = No-trade zone, wait for clarity
## Limitations
### CoinGecko Data Considerations
- CoinGecko provides price points, not true OHLC bars
- Converter approximates OHLC from adjacent prices
- Works well for trend analysis, less precise for intraday patterns
### Indicator Nature
- Most indicators are **lagging** - calculated from past data
- Can generate **whipsaws** in choppy, sideways markets
- **Overfitting risk** - too many indicators can cause analysis paralysis
- Market regime changes require adaptation
### Recommended Use Cases
✅ **Great for**: Trend identification, medium-term signals, portfolio screening
✅ **Good for**: Entry/exit timing, risk assessment, comparative analysis
⚠️ **Limited for**: High-frequency trading, precise intraday timing, ranging markets
❌ **Avoid for**: News-driven moves, low-liquidity coins, extreme volatility events
## Advanced Techniques
### Custom Scoring Weights
Modify indicator weights based on market conditions:
- **Trending markets**: Increase weight of MACD, EMA, ADX
- **Ranging markets**: Increase weight of RSI, CCI, Stochastic
- **High volatility**: Increase weight of SAR, KAMA (adaptive indicators)
### Multi-Timeframe Confirmation
Analyze same coin across multiple timeframes:
```
- 7 days (short-term trend)
- 30 days (medium-term trend)
- 90 days (long-term trend)
```
Strongest signals occur when all timeframes agree.
### Sector Analysis
Analyze multiple coins in same sector to identify:
- Sector-wide trends vs individual coin movements
- Relative strength leaders
- Laggard coins with catch-up potential
## Troubleshooting
### Issue: Score stuck at 0 or very low
**Cause**: Insufficient data or flat price action
**Solution**: Fetch longer historical period or check data quality
### Issue: Conflicting signals across indicators
**Cause**: Market in transition or ranging
**Solution**: Score will be neutral - wait for clearer direction
### Issue: High score but bearish user intuition
**Cause**: Indicators lag price, or news-driven move
**Solution**: Cross-reference with market context, recent news, volume
### Issue: Analysis fails with NaN values
**Cause**: Insufficient data for indicator calculation
**Solution**: Fetch minimum 100 data points, preferably 200+
## Integration with CoinGecko MCP
This skill is designed to work seamlessly with CoinGecko MCP tools:
**Primary Tools Used**:
- `coingecko_get_historical_chart` - Main data source
- `coingecko_get_price` - Quick current price checks
- `coingecko_compare_coins` - Multi-coin analysis
- `coingecko_get_market_data` - Context and validation
**Workflow Integration**:
1. User asks about a cryptocurrency
2. Use CoinGecko tools to fetch data
3. Convert to OHLCV format
4. Run technical analysis
5. Present results with context from market data
## Example Outputs
### Simple Analysis Response
```
Bitcoin Technical Analysis (7-day period)
📊 7-Tier Signal: STRONG_BUY
🎯 Confidence: 78%
💰 Current Price: $45,234.56 (+3.45% 24h)
📈 Volume Confirmation: 85%
Key Indicators:
✅ RSI: BUY (38.2 - healthy level, no divergence)
✅ MACD: BUY (bullish crossover, no divergence)
✅ Bollinger: BUY (price near upper band, no squeeze)
✅ OBV: BUY (volume confirms trend, no divergence)
✅ Ichimoku: BUY (price above cloud)
✅ Volume: ACCUMULATION (MFI bullish)
Warnings: None
Recommendation: Strong buy signal with volume confirmation.
No divergences or overbought conditions detected.
```
### Comparative Analysis Response
```
Top 5 Cryptocurrencies by Technical Score (30-day analysis)
1. Solana (SOL): 9.0 - STRONG_UPTREND
- All momentum indicators bullish
- Strong volume confirmation
2. Ethereum (ETH): 7.5 - STRONG_UPTREND
- Trending higher, minor overbought warning
3. Bitcoin (BTC): 5.0 - NEUTRAL
- Consolidating after recent move
4. Cardano (ADA): 2.5 - DOWNTREND
- Multiple bearish signals
5. XRP: 1.0 - DOWNTREND
- Weak momentum and volume
```
## Related Resources
- **Indicator Details**: See [references/indicators.md](references/indicators.md)
- **Core Analysis Engine**: [scripts/ta_analyzer.py](scripts/ta_analyzer.py)
- **Data Converter**: [scripts/coingecko_converter.py](scripts/coingecko_converter.py)
This skill performs multi-indicator technical analysis for cryptocurrencies and stocks using 29+ proven indicators (RSI, MACD, Bollinger Bands, Ichimoku, OBV, etc.). It combines divergence detection, volume confirmation, and Bollinger squeeze alerts to produce a clear 7-tier trading signal and confidence metrics. The analyzer is designed for trend identification, comparative screening, and multi-timeframe confirmation.
The analyzer accepts historical price (and optional volume) data, normalizes it to OHLCV format, then runs a weighted set of indicators to compute individual scores and signals. It detects divergences, checks volume confirmation, flags Bollinger squeezes, and aggregates results into a normalized score, confidence value, and a 7-tier trade signal (STRONG_BUY to STRONG_SELL). Outputs include per-indicator signals, regime metrics (ADX/DMI), and warnings.
What data do I need for reliable results?
Provide price history normalized to OHLCV. Volume is recommended. Use at least 100 data points; 200+ is better.
How should I interpret the 7-tier signal?
Signals combine normalized score and confidence: STRONG_BUY/SELL require high normalized magnitude and confidence; BUY/SELL are moderate; WEAK and NEUTRAL indicate low conviction.