‹ 首页

scanner-bullish

@staskh · 收录于 1 周前

Scan stocks for bullish trends using technical indicators (SMA, RSI, MACD, ADX). Use when user asks to scan for bullish stocks, find trending stocks, or rank symbols by momentum.

适合你,如果经常用技术指标筛选有上涨潜力的股票

/ 下载安装
scanner-bullish.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add staskh/trading_skills/scanner-bullish
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- staskh/trading_skills/scanner-bullish
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify staskh/trading_skills/scanner-bullish
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
288GitHub stars
~897最小装载
~1.2K含声明引用
~1.2K文本包总量
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · cc30858

Bullish Scanner

Scans symbols for bullish trends and ranks them by composite score.

Instructions
Note: If uv is not installed or pyproject.toml is not found, replace uv run python with python in all commands below.
uv run python scripts/scan.py SYMBOLS [--top N] [--period PERIOD]
Arguments
  • SYMBOLS - Comma-separated ticker symbols (e.g., AAPL,MSFT,GOOGL,NVDA)
  • --top - Number of top results to return (default: 30)
  • --period - Historical period for analysis: 1mo, 3mo, 6mo (default: 3mo)
Scoring System (max ~9.5 points)

| Indicator | Condition | Points | |-----------|-----------|--------| | SMA20 | Price > SMA20 | +1.0 | | SMA50 | Price > SMA50 | +1.0 | | RSI | 50-70 (bullish) | +1.0 | | | 30-50 (neutral) | +0.5 | | | <30 (oversold) | +0.25 | | MACD | MACD > Signal | +1.0 | | | Histogram rising | +0.5 | | EMA9/21 | EMA9 > EMA21 (golden cross) | +0.5 | | | EMA9 < EMA21 (death cross) | -0.25 | | Dual crossover | Both up, both ≤10 days | +1.0 | | | Both up, any age | +0.5 | | | Both down, both ≤10 days | -1.0 | | | Both down, any age | -0.5 | | | Directions conflict | -0.5 | | ADX | >25 with +DI > -DI | +1.5 | | | +DI > -DI only | +0.5 | | Momentum | period return / 20 | -1 to +2 |

Output

Returns JSON with:

  • scan_date - Timestamp of scan
  • symbols_scanned - Total symbols analyzed
  • results - Array sorted by score (highest first):
  • symbol, score, price
  • next_earnings, earnings_timing (BMO/AMC)
  • period_return_pct, pct_from_sma20, pct_from_sma50
  • rsi, macd, macd_signal, macd_hist, adx, dmp, dmn
  • ema9, ema21 — current EMA9 and EMA21 values
  • ema_crossover - Most recent EMA9/EMA21 crossover (or null if none found):
  • direction - "up" (EMA9 crossed above EMA21 = bullish) or "down" (crossed below = bearish)
  • days_ago - Trading days since the crossover bar (0 = happened in the most recent bar)
  • macd_crossover - Most recent MACD crossover (or null if none found):
  • direction - "up" (MACD crossed above signal = bullish) or "down" (crossed below = bearish)
  • days_ago - Trading days since the crossover bar (0 = happened in the most recent bar)
  • signals - List of triggered conditions
EMA Crossover Interpretation
  • EMA9 > EMA21 with small days_ago (0-5): fresh golden cross — short-term momentum confirmed
  • EMA9 just crossed below EMA21: death cross — short-term momentum turning negative
  • EMA9 crossover lagging MACD crossover by days: normal — MACD leads, EMA confirms
  • null: EMA9/21 relationship unchanged throughout the period
MACD Crossover Interpretation
  • direction: "up" with small days_ago (0-5): fresh bullish crossover — early entry signal
  • direction: "up" from a deeply negative signal: recovery from correction
  • direction: "down": momentum has turned bearish regardless of score
  • null: no sign change found in the period — trend has been consistently one-directional
Examples
# Scan a few symbols
uv run python scripts/scan.py AAPL,MSFT,GOOGL,NVDA,TSLA

# Get top 10 from larger list
uv run python scripts/scan.py AAPL,MSFT,GOOGL,NVDA,TSLA,AMD,AMZN,META --top 10

# Use 6-month lookback
uv run python scripts/scan.py AAPL,MSFT,GOOGL --period 6mo
Interpretation
  • Score > 6: Strong bullish trend
  • Score 4-6: Moderate bullish
  • Score 2-4: Neutral/weak
  • Score < 2: Bearish or no trend
Dependencies
  • pandas
  • pandas-ta
  • yfinance
Timezone

All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.

按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。