TickAtlas
Range & volatility Available Forex Gold Crypto

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.

Live preview SIMULATED

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.
per month $14.99
Get it →

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.

ohlc kind: H1 high/low · 20 bars · one symbol

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

  1. Subscribe from your dashboard and add the domains you'll embed on.
  2. Copy your public wk_ key from the widget panel.
  3. Drop the snippet below into your page, swapping in your key and symbol.
Theme
embed snippet
<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.

GET /widgets/api/volatility-squeeze/ohlc

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:

{ symbol, timeframe, candles:[…], count } (recent bars, high/low used)

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 429 and 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 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.