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.
Each additional domain slot adds half the base price.
A fast answer to one useful question.
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.
- H1 candle high/low · last 20 bars · one symbol.
- Pick the instrument with symbol=; it defaults to BTCUSD when you omit it.
- Renders inside a sandboxed Shadow DOM, so it cannot collide with your page’s CSS or scripts.
- Gateway kind
- ohlc
- Symbol axis
- One symbol, set from the embed
- Allowed
- BTCUSD, XAUUSD, EURUSD, GBPUSD
- Default
- BTCUSD
- Pinned timeframe
- H1
- Pinned limit
- 20
- Refresh
- ~15 s, cached
Every value here is what the gateway enforces, not a description of it. A parameter outside this scope is rejected before any data is fetched.
Small enough for a sidebar. Useful enough for a homepage.
Volatility Squeeze is a compact derived-data module rather than a full dashboard. It works best where you want one concise market observation with a clearly stated data basis.
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.
One script tag. No chart library. No build step.
Subscribe, authorize the domains that will host the widget, copy your public
wk_ key, and paste the snippet where you want Volatility Squeeze to render.
Subscribe & authorize domains
Your subscription includes 1 domain slot. Add more slots when the same widget needs to run on more sites.
Copy the public widget key
The wk_ key is meant to appear in the page source. It is restricted to the domains you authorize and can be revoked.
Paste the embed
Choose your theme and symbol, then drop the generated script tag into the page.
<script src="https://tickatlas.com/widgets/embed.js?w=volatility-squeeze&k=wk_YOUR_KEY&symbol=BTCUSD"></script>
Light is the default, so the snippet stays clean. Dark appends &theme=dark;
Auto appends &theme=auto and follows each visitor’s system preference.
Picking one re-renders the preview above in that theme.
Small configuration surface. Predictable output.
The querystring on the embed.js script tag stays intentionally compact.
Most sites only need the widget slug, the public widget key, a symbol and a theme.
| 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. |
Default symbol
Omit symbol= and the gateway serves BTCUSD.
Allowed instruments
Set symbol= to any one of these 4.
Public embed key outside. Short-lived access inside.
The browser-facing key is domain-scoped by design. The embed exchanges it through our gateway, calls the hosted widget endpoint with short-lived authorization, and renders inside an isolated Shadow DOM.
A sandboxed Shadow DOM with all:initial keeps your page’s styles and scripts out and the widget’s styles in. It fits its container’s width, never wider.
The public wk_ key only renders on domains you add to the subscription, and you can revoke it from your dashboard at any time.
It refreshes about every 15 seconds against cached data, so many visitors collapse onto one computation. Over the per-key / per-domain limit the gateway returns 429 and the widget keeps its last frame.
No current data, a revoked key or an unauthorized domain all produce an explicit “unavailable” state — never a fabricated or zeroed value, and never a thrown error on your page.
Volatility Squeeze subscription
Base subscription includes 1 domain slot.
- Live widget data on the domains you authorize
- Light, dark and auto themes
- Any one of its allowed instruments
- A public, revocable widget key
- Cancel any time; the embed stays live through the paid month
Domain slot calculator
Each additional domain adds half the base price.
1 domain slot = $14.99 base subscription. Slots are fixed at purchase; manage domains and your key from your dashboard.
The embed has a simple hosted endpoint behind it.
The embed calls this endpoint for you on each refresh, using a short-lived token
minted from your wk_ key — your key never leaves the gateway.
Market data for this widget
H1 candle high/low · last 20 bars · one symbol.
/widgets/api/volatility-squeeze/ohlc?symbol=BTCUSD&timeframe=H1&limit=20 { "success": true, "widget": "volatility-squeeze", "cached": true, "data": { symbol, timeframe, candles:[…], count } (recent bars, high/low used) }
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.
Build a broader market-data surface.
Widgets that pair with Volatility Squeeze on the same page, and the API endpoints behind the same data.
Market Session Recap Widget
Session open / high / current from OHLC (+ FX session).
View widget →24-Hour Price Range Widget
24h high / low / close placement · one symbol (from a set of up to 5).
View widget →Live Candlestick Chart Widget
H1 candles: wick / body / volume width · one symbol.
View widget →Price Range Context Widget
Placement in recent OHLC range + volume · one symbol.
View widget →Before you embed it.
What the widget reads, how preview mode works, and what happens when data is temporarily unavailable.
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.
Embed it in minutes
Preview it with synthetic data and no key. When you're ready, authorize your domain, add the public widget key and switch the same embed to live data — from $14.99/mo per domain.