Give this to your AI agent to get started

Copy this into ChatGPT, Claude, Meta Muse, Gemini or any AI agent. It connects to our AI agent, Nexus to get you started.

What can I do with Chart Analyzer at cymetica.com/chart-analyzer?
EventTrader
Financial AI Models
PAPER
Menu
Dark Mode
Plain English Mode
PAPER TRADING MODE — Enable real trading on your Account page
Back

Chart Analyzer

One number for a chart: 1 very bearish, 50 the base rate, 100 very bullish. Price and volume only. Type a ticker, or a contract address so a coin is never confused with another that shares its ticker.

file format
connecting
…
1 bearish50 base rate100 bullish

50 = the base rate: 46.4% of all study candles rose 10 candles later. Above 50, the patterns on this chart rose more often than that in the study; below 50, less often. Bands: 1–20 very bearish, 21–40 bearish, 41–60 neutral, 61–80 bullish, 81–100 very bullish.

Held-out test: higher scores were not followed by rises more often. Not a forecast.

Loading…

Details: how the number is made and what the test found

The held-out test (history the scores were not learned from)

Daily candles, 2023 on: charts scoring 81-100 rose 10 candles later in 41.3% of 1,447 held-out cases; charts scoring 1-20 in 55.0% of 451. All held-out candles: 44.4%. Rank correlation of score with the 10-candle return: -0.0176. Higher scores were NOT reliably followed by rises more often in this test.

ScoreDaily candlesRose after 10 candles95% range4-hour candlesRose
1-2045155.0% 50.4–59.5% 54650.9%
21-4036,62847.3% 46.8–47.9% 50,14149.2%
41-60176,88143.8% 43.6–44.1% 262,77348.5%
61-8031,86643.9% 43.4–44.5% 52,10146.7%
81-1001,44741.3% 38.8–43.8% 1,13845.6%
All247,27344.4%366,69948.4%

Rank correlation of score with the next 10-candle return: -0.0176 (daily), -0.011 (4-hour, 60 pairs). Daily candles, every 10th candle only (outcomes do not overlap): charts scoring 61-80 rose 10 candles later in 43.7% of 3,151 held-out cases; charts scoring 21-40 in 46.6% of 3,627. All held-out candles: 44.4%. Rank correlation of score with the 10-candle return: -0.0146. Higher scores were NOT reliably followed by rises more often in this test.

What this means: the number tells you which measured patterns are on the chart and how those patterns did from 2017-08-17 to 2022-12-31. On 2023-01-01 to 2026-09-29 it did not sort charts into ones that rose more often. We publish that result rather than tune the method until it looks better.

Which timeframes the study covers

TimeframeRolePairsHeld-out candlesScores 1-20 roseScores 81-100 roseAll roseRank corr.
1drates measured + held-out test 292247,273 55.0% of 45141.3% of 1,447 44.4%-0.0176
4hheld-out test only 60366,699 (2023-01-01 to 2026-09-29) 50.9% of 54645.6% of 1,138 48.4%-0.011
1hheld-out test only 60792,645 (2025-01-01 to 2026-09-29) 48.1% of 1,28845.8% of 672 48.3%-0.0019
1wheld-out test only 21231,345 (2023-01-02 to 2026-09-28) 5.0% of 2041.3% of 75 36.8%-0.0961

Why 292 pairs on daily and fewer on the others: Daily covers every pair of the universe (292) because the rates were measured on it. 4-hour and 1-hour are a check only, and their history is 6x and 24x the rows of daily per pair, so they were run on the 60 pairs with the most trading (v1's 4-hour check had 58 of its own 60: two pairs lacked 4-hour history from 2023). Weekly uses every pair with at least 60 weekly candles, so pairs listed in the last ~14 months drop out. 4-hour sample: the 60 pairs of the daily universe with the highest 24h quote volume on 2026-09-29 (v1's own 4-hour list was not stored). 1-hour sample: the same 60 pairs as the 4-hour check (highest 24h quote volume on 2026-09-29), 1-hour candles from 2025-01-01 only: 1-hour history is 24x the rows of daily, so the sample was kept to what can be downloaded and scanned in one run.

1-hour candles, 2025 on: charts scoring 81-100 rose 10 candles later in 45.8% of 672 held-out cases; charts scoring 1-20 in 48.1% of 1,288. All held-out candles: 48.3%. Rank correlation of score with the 10-candle return: -0.0019. Higher scores were NOT reliably followed by rises more often in this test.

Weekly candles, 2023 on: charts scoring 61-80 rose 10 candles later in 38.5% of 2,656 held-out cases; charts scoring 21-40 in 40.4% of 4,555. All held-out candles: 36.8%. Rank correlation of score with the 10-candle return: -0.0961. Higher scores were NOT reliably followed by rises more often in this test.

What 50 means

50 is the base rate: the share of all 95,789 study candles (daily, 2017-08-17 to 2022-12-31) that were followed by a rise 10 candles later, 46.4%. A chart with no measured pattern, or whose patterns rose exactly as often as all candles, reads 50. The most bearish pattern's rate is 1 and the most bullish pattern's rate is 100, with straight lines from 1 to 50 and from 50 to 100. In v1 one straight line from the lowest to the highest rate put the base rate at 54, so a chart with no measured edge read 54 and a chart 1.3 points above the base rate read 61 (bullish; 57 on this scale). Anchoring 50 at the base rate makes 50 mean 'rose as often as all candles did'.

Held-out daily candles by band, old scale (v1) vs this scale (v2), same candles: 1-20: 433 → 451; 21-40: 16,966 → 36,628; 41-60: 177,407 → 176,881; 61-80: 50,259 → 31,866; 81-100: 2,208 → 1,447. Ranks do not change, so the rank correlation is the same.

Every pattern, measured

Rise = the close 10 candles after the pattern's confirming candle is above that candle's close. Train: 2017-08-17 to 2022-12-31 (base rate 46.4% of 95,789 candles). Held-out: 2023-01-01 to 2026-09-29 (base rate 44.4%). A pattern needs 100 train cases to be scored.

PatternScoreTrain casesRoseHeld-out casesRoseMeasuredTextbook
Bull flag breakout100347 55.3% 63047.1% bullish bullish
Ascending triangle breakout–91 53.8% 19336.3% excluded: only 91 train occurrences (< 100) bullish
Double bottom82451 52.1% 1,50040.3% bullish bullish
Head and shoulders80114 51.7% 34147.2% bullish bearish (measured the other way)
Inverse head and shoulders78105 51.4% 23243.5% bullish bullish
Break of structure up752,199 50.8% 5,63544.0% bullish bullish
Bear flag breakdown62665 48.6% 2,14146.4% bullish bearish (measured the other way)
20-bar breakout on volume611,733 48.4% 4,27345.7% bullish bullish
20-bar breakdown on volume55966 47.3% 2,74351.1% bullish bearish (measured the other way)
Bearish engulfing after a rise534,510 46.9% 12,00643.1% bullish bearish (measured the other way)
Higher highs and higher lows451,800 45.4% 4,70542.2% bearish bullish (measured the other way)
Bullish engulfing after a drop454,191 45.3% 12,46843.6% bearish bullish (measured the other way)
Lower highs and lower lows391,931 44.0% 5,31343.4% bearish bearish
Break of structure down332,804 42.6% 7,96848.7% bearish bearish
Double top29397 41.8% 1,34743.9% bearish bearish
Descending triangle breakdown1156 35.9% 55652.7% bearish bearish

100 = Bull flag breakout (55.3%), 50 = the base rate (46.4%), 1 = Descending triangle breakdown (35.9%). A chart's number is the average rate of the patterns confirmed in its last 10 candles, placed on that scale; with none, 50. The same table scores every chart of every asset on every timeframe; nothing is re-learned per chart or per asset.

Data

292 crypto pairs, daily candles, from Binance public spot market data (USDT pairs, the top 300 Binance spot USDT pairs by 24h quote volume on the fetch day, stablecoins/fiat/wrapped/leveraged excluded; fetched 2026-09-29). Only pairs still trading on the fetch day; coins that were delisted are missing, which usually flatters long-side results. The 4-hour check used only candles from 2023 on. Pattern definitions: A swing high is a bar whose high is the highest of the 4 bars on each side; it is only known 4 bars later, and the detectors only use it from then on. Swing lows mirror this.

  • Break of structure up: First close above the most recent confirmed swing high.
  • Break of structure down: First close below the most recent confirmed swing low.
  • Double bottom: Two consecutive swing lows within 3% of each other, at least 5 bars apart, with a rise of at least 5% between them; fires on the first close above the highest high between them, within 30 bars of the second low.
  • Double top: Mirror of the double bottom: two swing highs within 3%, a drop of at least 5% between them; fires on the first close below the lowest low between them.
  • Inverse head and shoulders: Three consecutive swing lows, the middle one at least 3% below both others, the outer two within 5% of each other; fires on the first close above the neckline through the two highs between them, within 30 bars of the right shoulder.
  • Head and shoulders: Three consecutive swing highs, the middle one at least 3% above both others, the outer two within 5% of each other; fires on the first close below the neckline through the two lows between them, within 30 bars of the right shoulder.
  • Higher highs and higher lows: The bar on which the last two swing highs AND the last two swing lows both become rising.
  • Lower highs and lower lows: The bar on which the last two swing highs AND the last two swing lows both become falling.
  • 20-bar breakout on volume: First close above the highest high of the previous 20 bars on at least 1.5x their average volume.
  • 20-bar breakdown on volume: First close below the lowest low of the previous 20 bars on at least 1.5x their average volume.
  • Bullish engulfing after a drop: A green candle whose body covers the previous red candle's body, after 5 bars of decline.
  • Bearish engulfing after a rise: A red candle whose body covers the previous green candle's body, after 5 bars of rise.
  • Ascending triangle breakout: Last two swing highs within 1.5% (flat top), last two swing lows rising at least 2%; fires on the first close above the flat top within 30 bars of the last swing high.
  • Descending triangle breakdown: Last two swing lows within 1.5% (flat bottom), last two swing highs falling at least 2%; fires on the first close below the flat bottom within 30 bars of the last swing low.
  • Bull flag breakout: A rise of at least 15% in at most 10 bars (the pole), then 3 to 12 bars that stay below the pole top and give back at most half of it; fires on the first close above the pole top.
  • Bear flag breakdown: A drop of at least 15% in at most 10 bars, then 3 to 12 bars that stay above the pole bottom and give back at most half of it; fires on the first close below the pole bottom.

What this version does not do

  • It does not read screenshots or images; it reads candles.
  • It loads candles itself for crypto only: by ticker (Binance USDT pairs, 1h, 4h, 1d, 1w) or by contract address (the token's deepest DEX pool, via GeckoTerminal's public API). Stocks, forex and anything else: upload a candle file.
  • By contract address it reads at most about 6 months of candles (what the free public source serves), so weekly charts of DEX tokens have too few candles to score and say so; if a pool has no candles, or fewer than 60, you get that message instead of a number.
  • DEX token candles refresh every few minutes to hours (the public source allows about 10 calls a minute for everyone on our server); ticker charts stream every trade. The answer shows when its candles were fetched.
  • The rates were measured on daily Binance crypto candles only. DEX pools, other timeframes and other asset classes use the same table unchanged; the note beside the score says which of these applies.
  • No indicators (RSI, MACD, moving averages), no news, no fundamentals: price and volume patterns only.
  • It is not a forecast or financial advice. It places no orders, sends no alerts and moves no funds.

For builders: REST, MCP, WebSocket

GET  https://cymetica.com/api/v1/chart-analyzer/analyze?symbol=BTC&timeframe=1d
GET  https://cymetica.com/api/v1/chart-analyzer/analyze?contract=0xdbdb4d16eda451d0503b854cf79d55697f90c8df&chain=ethereum&timeframe=1d
POST https://cymetica.com/api/v1/chart-analyzer/analyze   {"contract":"0x…","chain":"ethereum"}  or  {"symbol":"ETH","timeframe":"4h"}  or  {"candles":[...]}
POST https://cymetica.com/api/v1/chart-analyzer/batch     {"timeframe":"1d","items":[{"contract":"0x…","chain":"ethereum"},{"symbol":"BTC"}]}  (up to 300)
GET  https://cymetica.com/api/v1/chart-analyzer/batch/gem-screener?timeframe=1d   every Gem Screener coin, by contract
GET  https://cymetica.com/api/v1/chart-analyzer/gem-screener/coins   Gem Screener coins with their contract addresses
GET  https://cymetica.com/api/v1/chart-analyzer/chains    chains a contract can be read on
POST https://cymetica.com/api/v1/chart-analyzer/upload    multipart file=@candles.csv
GET  https://cymetica.com/api/v1/chart-analyzer/format     the file format
GET  https://cymetica.com/api/v1/chart-analyzer/study      every number on this page
MCP  POST https://cymetica.com/mcp/v1  tools: chart_analyzer_score, chart_analyzer_batch, chart_analyzer_study (same input)
WS   wss://cymetica.com/ws/chart-analyzer  send {"op":"subscribe","symbol":"BTC","timeframe":"1h"}
                                          or  {"op":"subscribe","contract":"0x…","chain":"ethereum","timeframe":"1d"}

Documented at /api-docs. Research and build: EventTrader, Build it Better ET-27875 and ET-28324. Script and study file are versioned (v2, 2026-09-29).