Skip to main content

Help Center

Detailed documentation of every feature, metric formula, data source, and update frequency — so you know exactly how ChartDatabase works.

Overview

What is ChartDatabase?

ChartDatabase is a technical analysis tool for cryptocurrency traders. Instead of manually scanning hundreds of charts, you get a continuously updated view of detected chart patterns, RSI divergences, support and resistance distances, and market context metrics across major Binance pairs.

The platform is designed for education and research. It does not provide financial advice or execute trades. You use the data to understand market structure faster and decide what deserves your attention.

Public pages vs subscriber access

Anyone can visit the marketing site, legal pages, Research, and this Help Center without signing in.

Create an account with email or Google Sign-In, then complete Whop checkout ($39/month, includes a 7-day free trial) to get full product access: dashboard, pattern lists, coin detail charts, watchlist (up to 50 items), and alerts (up to 100 active). Trial and Pro subscribers see the same in-app features; Pro continues after the trial converts.

How analysis updates

Pattern detection runs on closed candles, not on incomplete candles. That keeps signals stable and avoids false positives from mid-candle noise.

Live price, 24h change, and distance-to-level columns update continuously between analysis runs so you can see how close price is to key levels in real time. Prices and 24h change come from Binance USD-M perpetual futures, not spot.

Each timeframe (15m, 1h, 4h, 1d) has its own analysis snapshot. The dashboard and lists show the latest completed analysis for the selected timeframe.

  • Pattern scan: after each candle close for the active timeframe.
  • Live price & distances: updated from the Binance USD-M futures kline stream between candle closes.
  • 24h change: Binance USD-M perpetual futures ticker (not spot).
  • Fuel gauge ingredients: recomputed about every 10 seconds on coin detail pages.

Timeframes

15M, 1H, 4H, and 1D timeframes

15M is best for very short-term structure and fast-moving setups. 1H is best for shorter-term structure and faster-moving setups. 4H is the default balance between noise and trend clarity for many swing traders. 1D highlights higher-timeframe context and slower patterns.

When you change timeframe on a list or coin page, you are looking at a separate analysis snapshot. A pattern visible on 4H may not exist on 1D, and distances are recalculated for that timeframe's levels.

Patterns

22 chart patterns

ChartDatabase detects 22 chart patterns including ascending/descending/symmetrical triangles, broadening wedges, head and shoulders, double/triple tops and bottoms, cup and handle, bullish/bearish flags and pennants, rising/falling wedges, and ascending/descending channels.

Each detection includes drawn trendlines on the Original chart view, a breakout direction (bullish, bearish, or neutral), and optional volume confirmation when price action supports the pattern.

2 RSI divergence patterns

RSI divergence compares price swings with RSI swings. Regular bullish divergence appears when price makes a lower low but RSI makes a higher low (potential reversal up). Regular bearish divergence is the opposite.

These appear in the Meta List RSI Divergence column and as dedicated pattern types.

Bullish, bearish, and neutral

Bullish patterns suggest upward resolution (e.g. ascending triangle, falling wedge). Bearish patterns suggest downward resolution (e.g. descending triangle, rising wedge). Neutral means the setup is symmetric or price has not yet committed to a side.

Direction is a structural label, not a trade recommendation. Always combine it with your own risk management and higher-timeframe context.

Volume confirmation

Volume confirmation compares breakout-bar volume to recent average volume. Higher-than-average volume on a breakout adds confidence that participation backs the move.

A pattern without volume confirmation can still be valid structurally; it may simply lack the participation traders often want before acting.

Key metrics

24h Change

24h Change helps you quickly sort coins by recent momentum. Green values mean price is up versus 24 hours ago; red values mean price is down.

This is Binance USD-M perpetual futures' rolling 24-hour price change percentage (same convention as the futures exchange ticker), not spot and not a calendar-day change. It updates continuously from the live futures ticker stream.

  • Source: Binance USD-M Perpetual Futures ticker (priceChangePercent) — not spot.
  • Update frequency: real-time via WebSocket as Binance publishes futures ticker updates.

To Support

Negative values mean price is below support (support is above current price). Positive values mean price is above support.

Support comes from the detected pattern's lower trendline or structural floor, stored when the pattern was last analyzed. The percentage is recalculated on every live price tick.

  • support_level: from pattern detection output for that coin, timeframe, and pattern type.
  • current_price: latest Binance futures mark/last price from our live kline stream.
To Support (%) = ((current_price − support_level) / support_level) × 100

To Resistance

Negative values mean price is below resistance (room to run up toward it). Positive values mean price has moved above resistance.

Resistance comes from the pattern's upper trendline or structural ceiling. Coins with small absolute values are near that level.

  • resistance_level: from pattern detection output for that coin, timeframe, and pattern type.
  • Updated live as price moves; levels themselves refresh on the next pattern analysis run.
To Resistance (%) = ((current_price − resistance_level) / resistance_level) × 100

Forming

Forming is Yes while closes stay inside the pattern's support and resistance envelopes (within 0.5×NATR). Trendlines still extend to the last closed candle.

The first close 0.5×NATR above resistance or below support starts recent breakout or recent breakdown. Forming becomes No. Trendlines freeze at the last in-band candle and are not extended. After 20 closed candles the pattern is dropped from lists.

Non-trendline patterns (head and shoulders, doubles, cups, RSI divergences) show None. Forming only applies to trendline patterns. Head and shoulders, doubles, triples, and cups stay listed while the pattern-end/break index is within the last 20 candles — the same wait as a trendline after invalidation. RSI divergences keep a shorter pivot-recency rule.

  • Yes = still forming (in-band); trendlines may extend on each closed candle.
  • No = recent breakout or recent breakdown; first 20 candles after invalidation.
  • None = not a trendline pattern; this column does not apply.
  • After 20 candles the trendline row is removed. No further data is kept.
  • H&S / doubles / cups: listed while pattern end is within the last 20 candles. RSI divergences unchanged.

Fuel

Fuel summarizes volume, momentum, and leverage pressure into a single badge and zone (Low / Neutral / High) so you can compare coins at a glance in tables.

The badge maps the composite score to a label: Dead Water (low), Organic Flow (neutral), or The Powder Keg (high). Open a coin's detail page for the full gauge breakdown.

  • Composite weights: Volume 30%, Momentum 25%, Leverage 45%.
  • Fallback without leverage data: Volume 50%, Momentum 50%.
  • Full formulas: see the Fuel Index section in this Help Center.

RSI (14)

RSI measures recent gains vs losses on a 0–100 scale using a 14-period lookback on closed candles. Values above 70 are often considered overbought; below 30 oversold — context matters by market and timeframe.

RSI is also used for divergence detection and as an input to the Fuel Momentum score.

  • Period: 14 (standard RSI setting).
  • Source: calculated from Binance kline closes, stored in RSIData.
  • Updates: recalculated when each new candle closes for the active timeframe.

OHLC values

OHLC updates as you move across the Original chart. It reflects the candle at the crosshair position, not always the latest live candle.

Use OHLC to verify wick rejections, breakout closes, and volume bar alignment with pattern lines.

Historical insight

Historical insight compares the selected live setup to our offline research for the same pattern type and timeframe. It is educational context — not a prediction or trade signal. Live “breakout direction” on the chart is price-vs-levels bias and is not these rates.

Pattern outlook uses exclusive breakout / breakdown / forming rates from the matched 3-way (else 2-way) category cell for this live setup — the same cell as the typical-travel bands. The bullets describe that cell versus the pattern×timeframe headline.

Coin detail does not load live/geometry feature tables. Category-tree cells stay in the research JSON and drive outlook, matches, and typical-travel bands.

The matched 3-way or 2-way cell sits beside the outlook rates. Other matches (extra 2-ways and 1-way bins used to fill up to five) sit below with the same exclusive breakout / breakdown / forming bars. If fewer than five exist, all of them are shown. Headline rates still come from the primary 3-way (else 2-way) matched category. A feature needs a combined breakout/breakdown rate spread of at least 25 to enter the tree; weaker 3rd features are dropped so some pattern×timeframes are 2-way only. If that 3-way cell is empty, the next 2-way pair is used. Thin cells are kept (no n drop). RSI, Fuel, pattern scale, and category-move bands always use the last closed candle. They rematch when a new candle closes, not on forming-bar ticks. Trendline patterns (triangles, wedges, channels, flags, pennants) use two research versions: while the setup is still forming, rates and typical travel come from forming snapshots only (pattern-end terminal candles are excluded). After a known breakout (first breached candle already above the breakout line), Average up / Average down come from a breakout-first terminal category tree — historical pattern-end snapshots grouped by which trendline closed past by 0.5× NATR first (the same threshold that flags a live recent breakout/breakdown), then scored on their real 1.0× NATR forward outcome. After a known breakdown (first breached candle already below the breakdown line), the mirrored breakdown-first terminal tree is used. If the side is unknown, the mixed pattern-end terminal snapshot is used.

“Full study” opens the public research page for the full methodology and charts.

  • Pattern outlook = exclusive rates of the primary 3-way (else 2-way) category cell. The list is up to five matches: 3-way, then 2-way, then 1-way to fill. Other matches show the same exclusive rates as the primary card.
  • Baseline (for pp) = the same snapshot universe as the matched cell: forming snapshots while Trendline Forming = Yes; breakout-first or breakdown-first pattern-end terminal after a known side; mixed terminal if the side is unknown; last snapshot for non-trendline types.
  • Breakout / Breakdown / Forming or Sideways = exclusive next-20-candle first-hit classes vs 1.0× NATR. The third class is Forming while a trendline is still forming (stayed between the trendlines). Once resolved — after a known breakout/breakdown, or for non-trendline types (head & shoulders, double top, cup & handle, etc.) — the third class is the real Sideways rate (tagged a line, no 1× NATR follow-through). After a known breakout/breakdown, all three rates are measured within the cohort of historical patterns whose first breach (0.5× NATR) was the same side — Breakout is the real share of that cohort that went on to clear 1.0× NATR, not assumed from the side label. An i-icon appears only on a Forming panel if those three rates still sum to less than 100%.
  • ×NATR under each class = median wick max-up / max-down in that class, divided by row NATR.
  • pp = percentage points vs the pattern×timeframe baseline rates.
  • RSI / Fuel / scale / BTC enter the category tree from the last closed candle and rematch when a new candle closes. Formation geometry is last-snapshot. Trendline Forming = Yes → forming snapshots only (exclude terminal). Trendline Forming = No with a known breakout or breakdown → that side's first-breach (0.5× NATR) pattern-end terminal tree only. Unknown side → mixed terminal.
  • Matched category = 3-way then 2-way tree; feature spread score must be ≥ 25; no cell n filter. Chart TP/SL band = category median 20-candle wick travel scaled by pattern NATR. Exclusive first-hit gates stay in the research metrics (1.0× NATR) and are not drawn on the chart. Avg up / Avg down bands stay on last-closed close until the next candle closes.
  • n = sample size in that bin or category cell.

Fuel Index

Fuel Index — overview & gauge

Fuel measures market activity and positioning stress on a 0.0–1.0 scale (displayed as 0–100 on the gauge). Three component scores are computed from closed candles and Binance futures data, then blended with fixed weights. The same formulas run in our backend and in your browser so live updates stay consistent.

Live Vol and Long % are shown for context but are not included in the composite gauge score.

When derivatives data is unavailable for a symbol, Leverage is dropped and Volume/Momentum are reweighted to 50% / 50%.

  • 0.00 – 0.33 → Low zone → label “Dead Water”
  • 0.34 – 0.66 → Neutral zone → label “Organic Flow”
  • 0.67 – 1.00 → High zone → label “The Powder Keg”
  • All component scores are clamped to [0.0, 1.0] before blending.
composite = clamp(volume_score × 0.30 + momentum_score × 0.25 + leverage_score × 0.45)
Fallback (no leverage): composite = clamp(volume_score × 0.50 + momentum_score × 0.50)
Gauge pointer angle = −90° + composite × 180°

Volume score (0–1)

Volume answers: “Is the most recently closed bar trading heavier or lighter than normal?” We use closed-candle volume from our ChartData store (sourced from Binance klines). The open (forming) candle is not used for the gauge — only for the separate Live Vol bar.

  • volume_trend_slope: normalized linear-regression slope over the last 5 closed volumes.
  • Requires at least 20 closed candles; below that we default ratio to 1.0.
  • Data source: Binance USD-M Futures klines → stored in ChartDatabase → SMA(20) on close.
volume_ratio = closed_volume / SMA(volume, 20)
If ratio < 0.8:  base = (ratio / 0.8) × 0.25
If 0.8 ≤ ratio ≤ 1.5:  base = 0.3 + ((ratio − 0.8) / 0.7) × 0.3
If ratio > 1.5:  base = 0.6 + min(1, (ratio − 1.5) / 1.5) × 0.4
trend_adj = clamp(volume_trend_slope × 0.15, −0.05, +0.05)
volume_score = clamp(base + trend_adj)

Momentum score (0–1)

Momentum captures how actively price is moving, independent of up/down bias. We use RSI(14) from our RSIData table and ROC computed from closed prices. ROC lookback depends on timeframe.

  • ROC periods: 15m → 8 bars, 1h → 5 bars, 4h → 3 bars, 1d → 2 bars.
  • Regime “exhaustion” (score ≈ 0.7–1.0): RSI > 75 or < 25 while ROC is decelerating.
  • Regime “flat” (score ≈ 0.35–0.4): low ROC and RSI near 40–60.
  • Regime “accelerating” (score ≈ 0.6–1.0): RSI outside 40–60 and |ROC| ≥ 1%.
  • Regime “steady” (default): score ≈ 0.45 + min(0.25, |ROC| × 4).
  • Data source: ChartData closes + RSIData (period 14) from Binance klines.
ROC = (close_now − close_N_bars_ago) / close_N_bars_ago
rsi_change_3 = RSI_now − RSI_3_bars_ago

Leverage score (0–1)

Leverage reflects derivatives market pressure — crowded positioning and extreme funding. If Binance futures data is missing for a symbol, this component is skipped and the composite uses the 50/50 Volume/Momentum fallback weights.

  • Open interest: Binance FAPI /fapi/v1/openInterest — polled every ~10 seconds.
  • OI history (30 points): /futures/data/openInterestHist — refreshed every ~5 minutes.
  • Funding rate: Binance WebSocket !markPrice@arr@1s — updated about every 1 second.
  • Redis cache TTL: OI/funding ~120s, OI history ~300s.
oi_percentile = percentile rank of current OI within last 30 OI history points
If percentile ≤ 0.25:  base = 0.1 + (p / 0.25) × 0.2
If 0.25 < p ≤ 0.75:  base = 0.4 + ((p − 0.25) / 0.5) × 0.2
If p > 0.75:  base = 0.7 + ((p − 0.75) / 0.25) × 0.3
If oi_change_pct > +5%:  base += 0.10 (cap 1.0)
If oi_change_pct < −5%:  base −= 0.05
If |funding_rate| > 0.01%:  base += 0.05
If |funding_rate| > 0.05%:  base += 0.15 (flags funding_extreme)
leverage_score = clamp(base)

Live Vol (informational only)

Live Vol shows whether the currently forming candle is trading above or below its recent average volume. It helps you spot intrabar activity spikes before the candle closes.

  • Source: Redis live_kline:{timeframe}:{symbol} volume field from Binance kline WebSocket.
  • Excluded from composite — the gauge uses closed-candle volume only.
  • Updates with each kline tick on the open bar.
live_volume_ratio = live_candle_volume / SMA(volume, 20)
live_vol_score = score_volume(live_volume_ratio)   // same 0–1 mapping as closed volume

Long % and component bars

Volume, Momentum, and Leverage bars map their 0–1 scores to bar height on the coin detail panel. Long % shows the share of Binance global futures accounts that are net long (not weighted by position size).

  • Long % source: Binance /futures/data/globalLongShortAccountRatio.
  • Long % period matches timeframe: 15m, 1h, 4h, or 1d.
  • Long % cache TTL: ~300 seconds; refreshed on demand if cache is empty.
  • Green fill = long-heavy accounts; red = short-heavy; center line = 50/50.
  • Long % is excluded from the Fuel composite score.

Fuel update frequency & delivery

On coin detail pages, Fuel ingredients are published via WebSocket (Centrifugo) about every 10 seconds. Your browser scores them locally using the formulas above — the server sends raw ingredients, not pre-rendered scores, so you always see the same math we document here.

  • Live ingredient cache: 10 seconds (fuel_index:live:{symbol}:{timeframe}).
  • Base ingredient cache TTL: 15m → 15 minutes, 1h → 1 hour, 4h → 4 hours, 1d → 24 hours.
  • Closed volume & RSI: from PostgreSQL, refreshed when new candles close.
  • Derivatives polls: OI every 10s, OI history & long/short every 5 min, funding ~1s via WS.

Data sources & transparency

Where our data comes from

ChartDatabase is built for transparency. Every metric on the platform traces back to identifiable Binance endpoints or values derived from stored candles. We do not use proprietary black-box signals for Fuel — the formulas in this Help Center match the production code used by the platform.

  • Exchange: Binance USD-M Perpetual Futures (fapi.binance.com).
  • Candle data: Binance kline WebSocket streams for 15m, 1h, 4h, and 1d intervals.
  • Live price & volume: Redis live_kline keys updated from the kline stream.
  • 24h change: Binance USD-M perpetual futures ticker priceChangePercent (not spot).
  • Pattern levels & RSI: computed from stored ChartData / RSIData after candle close.
  • Derivatives: open interest, funding, OI history, global long/short ratio from Binance FAPI.

How often data updates

Different metrics have different natural refresh rates. Live price and funding can change every second. Pattern structure only changes when a candle closes and analysis re-runs.

  • Live price & forming-candle volume: kline WebSocket — typically sub-second.
  • 24h price change: ticker WebSocket — as Binance publishes.
  • Funding rate: markPrice WebSocket (!markPrice@arr@1s) — ~1 second.
  • Open interest: REST poll — every 10 seconds.
  • OI history & long/short ratio: REST poll — every 5 minutes.
  • Fuel ingredients (coin detail): published — every 10 seconds.
  • Pattern detection & S/R levels: on candle close (15m / 1h / 4h / 1d).
  • Fuel badge in list tables: uses cached ingredients per timeframe TTL.

Pattern & chart data pipeline

Candles are ingested continuously from Binance and saved to ChartData. RSI(14) is calculated on each new close. The pattern engine scans 60–200 historical candles (varies by pattern type) after each candle closes and stores detections with support_level, resistance_level, breakout_direction, and drawing coordinates.

  • Historical candles: Binance kline REST + WebSocket, stored in PostgreSQL ChartData.
  • RSI(14): calculated from closes, stored in RSIData.
  • Pattern analysis: triggered after candle close, not mid-candle.
  • Support/resistance levels: output of pattern detection, tied to specific pattern + timeframe.
  • Distance columns: live price applied to stored levels using the percentage formulas above.

Pages & navigation

Dashboard

The dashboard is your home base after login. Switch timeframes to see how many patterns exist in each category and drill into a specific pattern list from any card.

Stats like Total Patterns and Coins with Patterns update after each analysis run for the selected timeframe.

Meta List (All Patterns)

Meta List combines all pattern types in one sortable table. Filter by pattern type or search a symbol to narrow results. The RSI Divergence column flags divergence setups on that row.

Click any row to open the coin detail page for deeper chart inspection.

Pattern category pages

Each pattern type has its own list page reachable from the Patterns menu or dashboard cards. Sort by 24h Change, Fuel, To Support, or To Resistance to prioritize what to review.

Coin detail & charts

The coin detail page is where chart work happens. Review detected patterns, toggle RSI, switch between Original (pattern overlays) and TradingView (advanced tools), and add items to your watchlist or create alerts.

Watchlist

Watchlist

Add a watchlist item from any pattern row using the star icon. Each entry stores the symbol, timeframe, and pattern type so you can return to the exact setup later.

The header dropdown shows a compact table with live price and distances. The full Watchlist page includes when each item was added and removal controls.

Column abbreviations (TF, PT, Pr, TS, TR)

The header watchlist dropdown uses short column headers so the table fits on smaller screens. The full Watchlist page uses the same columns with inline help on each metric.

Price and distance values update from live Binance feeds between pattern analysis cycles. Timeframe, pattern type, and support/resistance levels come from the last analysis for that setup.

  • TF (Timeframe) — The candle interval for this saved setup: 15M, 1H, 4H, or 1D. Each timeframe has its own pattern detections and support/resistance levels.
  • PT (Pattern Type) — The chart or RSI pattern you saved (for example, ascending triangle or bullish flag). Underscores in the name are shown as spaces. An Invalid badge means that pattern no longer exists in the latest analysis for that timeframe.
  • Pr (Price) — Current live market price for the symbol, formatted in USD. Updates in real time from the Binance futures price stream.
  • TS (To Support) — Signed percentage distance from the current price to the pattern's support level. Negative means price is below support; positive means price is above support. See To Support in Metrics for the formula.
  • TR (To Resistance) — Signed percentage distance from the current price to the pattern's resistance level. Negative means price is still below resistance; positive means price has moved above it. See To Resistance in Metrics for the formula.

Invalid watchlist items

Patterns can disappear when price breaks structure, the pattern completes, or a new analysis cycle no longer classifies the setup. Invalid items remain visible so you know the saved setup expired — remove them or re-add if the pattern returns.

Alerts

Price & level alerts

Create alerts from the bell on a coin chart or from the watchlist. Each alert fires once when triggered, then deactivates so you are not spammed on repeated touches. Alerts that have not fired are removed after 30 days.

Connect Telegram under Settings → Notifications before alerts can deliver.

Alert types

Price alerts trigger when live price crosses your target above or below.

Near Support and Near Resistance alerts are available while Forming is Yes. They fire when price comes within 0.1 × pattern-average NATR of the pattern's support or resistance level for the selected timeframe and pattern type. That NATR is the same pattern-average value shown on the coin detail page, so more volatile coins use a wider near band.

Average up and Average down alerts are available when Forming is No or None. They use the frozen Typical 20-candle move prices from Historical Insight. Those levels are not offered while the pattern is still forming because they recalculate on every close. Near support/resistance alerts are not offered for invalid, completed, or non-forming setups, or when price is already inside the 0.1× NATR band.

Telegram delivery

Link Telegram from Settings → Notifications or the Watchlist page banner. You will receive a test message to confirm the connection.

If Telegram is disconnected, alerts remain saved but will not deliver until you reconnect.

Invalid alerts

Price alerts stay valid until triggered, removed, or 30 days old. Level-based alerts depend on an active pattern with support/resistance data. If that pattern drops out of the latest analysis, the alert is marked Invalid and will not fire.

Charts

Original chart

Original is optimized for pattern review: overlays are drawn from our detection engine, and you can toggle RSI(14) beneath the price chart.

Use fullscreen mode for a larger view. Pattern buttons above the chart jump between multiple detections on the same coin.

TradingView chart

Switch to TradingView for advanced drawing and indicators. Drawings persist when you toggle back to Original within the same session.

After a full page reload, sign into TradingView inside the widget or use Open in TradingView to save drawings to your TradingView account.

Access & plans

Free trial and Pro plan

The trial includes the same features as Pro: all coins, timeframes, patterns, watchlist, and alerts. Billing is handled by Whop; manage or cancel from Manage Billing / the Whop portal.

A 14-day money-back guarantee applies to your first paid charge. Cancel anytime before renewal.

Ready to explore?

Start your 7-day free trial and put these features to work on 500+ coins.

Start 7-Day Free Trial