Volatility Squeeze
Volatility Compression Widget
A mirrored range funnel over the last 20 H1 bars with a bold compressed / typical / expanded verdict, the current range value, and its plain-language percentile against the recent window.
The real embed in preview mode — synthetic data, no API key, zero network calls. Live data starts once you add your key.
- From
- $14.99 /mo
- Included
- 1 domain slot
- Shows
- H1 candle high/low · last 20 bars · one symbol.
Base covers one domain; each extra slot adds half the base. Manage domains and your key from your dashboard.
What it shows
A mirrored range funnel over the last 20 H1 bars with a bold compressed / typical / expanded verdict, the current range value, and its plain-language percentile against the recent window.
Who it's for
- Trading-education page explaining range compression on a live instrument.
- Broker landing page technical-analysis showcase.
- Market-conditions blog post illustrating current range vs. recent history.
- Docs example for the ohlc kind's 20-bar window.
The data contract
This widget reads only public market data through our hosted gateway — no account data, no order book, no personal data.
The gallery and this preview run in SIMULATED mode — synthetic shapes, no key, no network. Live data flows only after checkout, on your authorized domains.
Embed it
- Subscribe from your dashboard and add the domains you'll embed on.
- Copy your public
wk_key from the widget panel. - Drop the snippet below into your page, swapping in your key and symbol.
<script src="https://tickatlas.com/widgets/embed.js?w=volatility-squeeze&k=wk_YOUR_KEY&symbol=BTCUSD"></script> Default is light — the snippet stays clean. Pick Dark or Auto (Auto follows each visitor’s system theme) to append &theme= and preview it live.
Embed parameters
The querystring on the embed.js script tag above.
| Parameter | Type | Required | Description |
|---|---|---|---|
| w | string | Yes | Widget slug — fixed to “volatility-squeeze” for this widget. |
| k | string | No | Your public wk_ key. With it the widget goes live on your authorized domains; omit it for the SIMULATED preview (synthetic data, zero network). Default: preview mode. |
| symbol | symbol | No | The symbol to display, uppercased. Must be within the widget’s allowed set. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD. Default: BTCUSD. |
| mode | enum | No | Force preview even with a key, e.g. for a staging page. Allowed: live, preview. Default: live when k is present, else preview. |
| theme | enum | No | Colour theme. light (default) is today’s look; dark uses a WCAG-AA dark palette; auto follows each visitor’s system (prefers-color-scheme). Omit for light. Allowed: light, dark, auto. Default: light. |
The wk_ key is public by design —
it only works on the domains you authorize, and you can revoke it any time from your dashboard.
Data endpoint
The embed calls this hosted endpoint for you on each refresh, using a short-lived token
minted from your wk_ key —
it never carries your key to the browser. These are its parameters and the values this widget uses.
Endpoint parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbol | symbol | No | Single-series widgets: one symbol, within the allowed set. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD. Default: BTCUSD. |
| timeframe | enum | No | Candle timeframe. Allowed: M1, M5, M15, M30, H1, H4, D1. Default: H1. This widget pins it to H1. |
| limit | integer | No | Number of most-recent candles returned. Allowed: 1–500. Default: 100. This widget pins it to 20. |
Set symbol on the embed
to any one of this widget’s allowed symbols (BTCUSD, XAUUSD, EURUSD, GBPUSD); it defaults to
BTCUSD if omitted. A symbol outside this set is
rejected by the gateway before any data is fetched, and the widget shows its
“unavailable” state.
Response
Every response is a JSON envelope { success, widget, cached, data }.
The data object for this widget:
Good to know
- Theming & isolation
-
The widget renders inside a sandboxed Shadow DOM with
all:initial, so your page's CSS and scripts can't reach in and its styles can't leak out. It fits the width of its container — never wider — and brings its own light palette. - Refresh, caching & limits
-
It refreshes about every 15 seconds against cached data, so many visitors collapse to one
computation on our side. Requests are rate-limited per key and per domain; over the limit the
gateway returns
429and the widget simply keeps its last frame until the next tick. - When data is unavailable
- If a symbol has no current data, the widget shows an explicit “unavailable” / “no data” state — never a fabricated or zeroed value. A revoked key or an unauthorized domain leaves the widget in that same state; it never throws on your page.
- Pricing & domain slots
- Billed monthly per domain slot. The base ($14.99/mo) covers one domain; each extra slot adds half the base. Slots are fixed at purchase — cancel any time and the embed stays live to the end of the paid month, then stops.
Frequently asked
Which symbol does it track?
One symbol per embed from BTCUSD, XAUUSD, EURUSD, or GBPUSD.
What does compressed / typical / expanded mean?
The current H1 range's percentile against its last 20 bars — a descriptive read, not a breakout forecast.
How often does it refresh?
The 20-bar window updates as each H1 bar closes; polling is ~15-second cached with the last verified frame held on a gap.
Is it free to preview?
Yes, synthetic and keyless; the live widget is a paid subscription.
Related widgets
Market Session Recap Widget
Session open / high / current from OHLC (+ FX session).
24-Hour Price Range Widget
24h high / low / close placement · one symbol (from a set of up to 5).
Live Candlestick Chart Widget
H1 candles: wick / body / volume width · one symbol.
Price Range Context Widget
Placement in recent OHLC range + volume · one symbol.
Related resources
Prefer to pull this data through the API instead of an embed? These endpoints and guides cover the same market data.
Embed it in minutes
Preview it with synthetic data and no key, then add your key to go live on your domains — from $14.99/mo per domain.