🧪 Skills

Stock TA Charts

Generate professional technical analysis charts (candlesticks, Fibonacci, SMA 20/50, RSI, pattern detection) for crypto and commodities. Use when the user as...

v1.0.0
❤️ 0
⬇️ 0
👁 1
Share

Description


name: charts description: "Generate professional technical analysis charts (candlesticks, Fibonacci, SMA 20/50, RSI, pattern detection) for crypto and commodities. Use when the user asks for market charts, TA visuals, or price analysis on BTC, ETH, XRP, SUI, Gold, or Silver."

Skill: charts

Generate professional technical analysis charts using the local crypto_charts.py module.

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