Skip to content
DanioX.
menu_

/methodology

Methodology: How the Season Engine Scores the Market

DanioX turns a discretionary trading framework into published rules. Nothing is hand-tuned per day and nothing is hidden: the tables below are generated from the same code that scores the live dashboard.

1. The framework

  • Macro chain (lead → lag): Gold → Stocks (S&P 500 / Nasdaq) → BTC → large alts → small caps. Gold falling while the dollar and yields rise = tightening. Gold rising with a weak dollar = liquidity bid, bullish for BTC later.
  • Liquidity gauges: a rising DXY, fast-rising 10-year yield, oil spike or VIX above 20 are bearish for crypto; the opposite is bullish.
  • Crypto structure: rising BTC dominance = BTC outperforms and alts bleed; falling dominance while BTC holds = alt season; rising ETH/BTC = alt-rotation trigger.
  • Regime (CTP): breadth ≥ 40% (share of liquid coins with daily close > EMA50 and EMA20 > EMA50) AND BTC 4h close > EMA50 → risk-on.

2. Season scores

Each season is a weighted checklist summing to 100. A condition scores 0–1 (most are yes/no; a few are graded). If a data source is down, its conditions are removed from both the numerator and the denominator, the score is rescaled, and the gauge shows the share of the checklist that was evaluable. A season needs at least 40% of its weight available to be scored. The dominant season is the highest score; conviction is strong at 70+ with a 15-point lead, moderate at 50+, otherwise weak.

Dollar Season — Risk-off. Cash is king; crypto liquidity is draining.

6 rows
DXY above 50-day EMA20
DXY rising (20d)20
US 10Y yield rising (20d)15
VIX above 2015
Gold falling (20d)10
Crypto breadth below 40%20

Gold Season — Defensive liquidity bid. Historically a leading signal for BTC.

4 rows
Gold above 50-day EMA25
Gold rising (20d)25
Gold outperforming S&P 500 (20d)25
Dollar weak (below EMA50 / falling)25

Bitcoin Season — BTC trends and outperforms; alts lag.

4 rows
BTC daily uptrend (close > EMA50, EMA20 > EMA50)30
BTC dominance rising (7d)25
ETH/BTC falling (7d)20
BTC 4h close above 4h EMA5025

Alt Season — Rotation into altcoins; breadth expands.

6 rows
BTC.D falling while BTC holds above EMA5020
ETH/BTC rising (7d)10
ETH/BTC above 50-day EMA10
Breadth ≥ 40% (coins in daily uptrend)20
Alts beating BTC over 30 days15
Altcoin Season Index (90d)25

Graded conditions: VIX scores 1 above 20, 0.5 between 16 and 20 when rising. “Dollar weak” scores 0.5 for each of (below EMA50, 20-day change < 0). Alt outperformance (30d) and the alt season index (90d) scale linearly from 0 at 25% to full credit at 75%. BTC dominance moves smaller than ±0.05 points over 7 days count as flat.

3. Chain stage

For Gold, Stocks (average of S&P 500 and Nasdaq), BTC and an equal-weight alt basket we compute the 20-day return divided by (daily volatility × √20). The link with the highest volatility-adjusted momentum leads, provided it exceeds 0.25; otherwise the chain is “stalled”. Note that stock and gold series have ~5 bars per week, so “20 days” means 20 sessions (about four weeks) for them and 20 calendar days for crypto.

4. Altcoin season index & breadth

Universe: 42 liquid Binance USDT pairs (ETH, SOL, XRP, BNB, DOGE, ADA, TRX, AVAX, LINK, DOT, TON, SUI, NEAR, APT, LTC, BCH, UNI, AAVE, ATOM, FIL, ARB, OP, INJ, TIA, SEI, FET, RENDER, PENDLE, CRV, LDO, HBAR, ICP, ETC, XLM, WLD, JUP, ENA, ONDO, TAO, POL, ALGO, VET). Symbols Binance rejects are skipped. The index is the % of coins whose 90-day return beats BTC's; ≥ 75 = alt season. Breadth is the % of the universe in a daily uptrend.

5. Bitcoin dominance (approximate trend)

The current value is CoinGecko's market_cap_percentage.btc. For the 7/30/90-day trend we model each large coin's past market cap as today's share × (past price / today's price): stablecoins are held flat, staked/wrapped tokens follow their underlying, and every other coin plus the long tail follows the equal-weight alt basket. Supply changes are ignored, so it is labelled approx.

6. CTP signal board

Port of the owner's Python scanner. Daily uptrend + 4h close > EMA50 and EMA200 + 7–18% below the 30-day high + stop distance 3.3–8% + rising 4h volume (mean of last 6 bars > prior 30). Signal: a 4h low within 0.5 ATR(14) of EMA20 while closing above EMA50, on one of the last 4 closed bars. Confirmation: within 3 bars, a close above the prior bar's high and above EMA20. Stop: lowest low from 5 bars before the signal through confirmation − 0.5 ATR. Targets 1.5R / 3R / 5R.

7. Data sources

  • Yahoo Finance daily charts: DXY (DX-Y.NYB), Gold (GC=F), S&P 500 (^GSPC), Nasdaq (^IXIC), US 10Y (^TNX), VIX (^VIX), WTI Oil (CL=F).
  • Binance spot klines (api.binance.com, falling back to data-api.binance.vision): BTCUSDT 1d/4h, ETHBTC 1d, the alt universe 1d/4h.
  • CoinGecko /global (BTC dominance, market-cap shares) and alternative.me Fear & Greed.

Every source is cached for about 60 seconds on the server and fails independently — the UI marks any source that is unavailable. See the disclaimer.