🧪 Skills

Charts

Generate 90-day candlestick charts with SMA 20/50, RSI, Fibonacci retracements, and pattern detection for BTC, ETH, XRP, SUI, Gold, and Silver.

v1.1.0
❤️ 0
⬇️ 685
👁 1
Share

Description

Skill: charts

Purpose

Generate professional technical analysis charts with candlesticks, Fibonacci retracement, moving averages (SMA 20/50), RSI, and pattern detection. Uses the local crypto_charts.py module.

When to Use

  • Boss Man asks "show me the BTC chart" or "run TA on silver"
  • You need visual charts for market analysis or reporting
  • Morning protocol chart generation
  • Any request for technical analysis with visuals

Generate All Charts (Full Suite)

Generates charts for all 6 tracked assets: BTC, ETH, XRP, SUI, Gold, Silver. Warning: Takes 2-3 minutes due to API rate limits between requests.

cd ~/clawd && python3 -c "
import json
from crypto_charts import generate_all_charts, cleanup_old_charts
cleanup_old_charts()
report = generate_all_charts(output_dir=os.path.expanduser('~/clawd/charts'))
print(json.dumps(report, indent=2, default=str))
" 2>&1

Charts saved to: ~/clawd/charts/chart_btc.png, chart_eth.png, etc.

Generate Single Chart

For a quick single-asset chart without waiting for the full suite:

cd ~/clawd && python3 -c "
import os, json
from crypto_charts import (
    fetch_yfinance, fetch_ohlc, fetch_market_data,
    calc_moving_averages, calc_rsi, calc_fibonacci,
    detect_patterns, generate_chart, COINS
)

coin_id = 'COIN_ID'  # bitcoin, ethereum, ripple, sui, gold, silver
info = COINS[coin_id]

# Fetch data (Yahoo Finance first, CoinGecko fallback)
df = fetch_yfinance(coin_id)
if df is None or len(df) < 10:
    df = fetch_ohlc(coin_id)
if df is None or len(df) < 10:
    df = fetch_market_data(coin_id)

if df is not None and len(df) >= 5:
    df = calc_moving_averages(df)
    df = calc_rsi(df)
    fib = calc_fibonacci(df)
    patterns = detect_patterns(df)

    chart_path = os.path.expanduser(f'~/clawd/charts/chart_{info[\"symbol\"].lower()}.png')
    generate_chart(coin_id, df, fib, chart_path)

    print(f'Chart: {chart_path}')
    print(f'Price: \${df[\"close\"].iloc[-1]:,.2f}')
    print(f'RSI: {df[\"rsi\"].iloc[-1]:.1f}')
    print('Patterns:')
    for p in patterns:
        print(f'  - {p}')
else:
    print('Not enough data to generate chart')
"

Tracked Assets

coin_id Symbol Chart Color Data Source
bitcoin BTC #F7931A Yahoo Finance → CoinGecko
ethereum ETH #627EEA Yahoo Finance → CoinGecko
ripple XRP #00AAE4 Yahoo Finance → CoinGecko
sui SUI #6FBCF0 Yahoo Finance → CoinGecko
gold XAU #FFD700 Yahoo Finance
silver XAG #C0C0C0 Yahoo Finance

What the Charts Include

  • Candlestick bars (green up / red down) — 90 days of daily data
  • 20 SMA (blue) and 50 SMA (gold) — trend and support/resistance
  • Fibonacci retracement levels (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, 100%)
  • RSI subplot (purple) — with overbought (70) and oversold (30) lines
  • Current price marker — dot + horizontal line in the asset's accent color

Pattern Detection (Automatic)

The module auto-detects and reports:

  • SMA crossovers (Golden Cross / Death Cross)
  • Head & Shoulders / Inverse H&S
  • Fibonacci zone positioning
  • Trend strength (7-day momentum)
  • RSI condition (overbought/oversold/neutral)
  • Price position within 90-day range

Sending Charts via Telegram

After generating, send the chart image using Clawdbot's native message command:

message (Telegram, target="7887978276") [attach ~/clawd/charts/chart_btc.png]

Rules

  • Charts use 90 days of history — enough for meaningful TA
  • Yahoo Finance is tried first (free, reliable), CoinGecko is fallback
  • Rate limit: 8-second delays between coins, 20-second batch cooldowns
  • Always run cleanup_old_charts() first to avoid disk buildup
  • Chart images are ~150 DPI, dark theme (#0f172a background)

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs