---
title: williams_stops (Williams Stops)
description: "williams_stops API reference: parameters, response fields and example requests."
---

# `williams_stops` — Williams Stops

> Category: **Trend** · Composite

::: tip Reading the response
Use `POST /api/indicators?explain=true` to include interpretation notes at `indicators[responseKey].explain`. Read numeric results from `columns` and `data` in the same object.
:::

This is a trend indicator.

## Parameters

| Parameter | Type | Default |
|------|------|--------|
| `left_range` | int | `2` |
| `right_range` | int | `2` |
| `buffer_pct` | float | `0` |

## Output columns

| Column |
|------|
| `long_stop` |
| `short_stop` |
| `trend_state` |



## Native features

Set top-level `signals: true` and read `indicators[responseKey].signals`. By default features are evaluated on closed bars: `true` is a positive result, `false` a valid negative result, and `null` unknown. These are not trade instructions.

This indicator supports `include_forming: true`: treat the current final OHLCV sample as complete under the same native rules, returning one set of values, features and objects. The signal table appends `bar_status`: `closed` for closed bars, `forming` for a trial with `confirmed_at_ms=null`. A trial may disappear on later updates or at close. For BYO, still set `last_bar_closed: false`. Close requirements below describe the default mode; trials only admit the final sample without shortening structural windows or model confirmation requirements. See [forming trials](/signals#forming).

History lengths are minimum evaluation requirements, not convergence guarantees. Comparisons use unrounded values and the exact boundaries below. Do not turn `null` into `false` on gaps, invalid dependencies or forming bars in the default mode.

| Feature column | Kind | Rule | Meaning | History / validity |
| --- | --- | --- | --- | --- |
| `williams_stops.reversal_up` | `event` | Previous trend_state=-1; current trend_state=1. Initialization is not a reversal. | Reuses the fractal trailing-stop close-based reversal; the initial simultaneous long/short state is not a confirmed single direction. | left_range + right_range + 2 contiguous bars with valid direction and active reference on both bars. |
| `williams_stops.reversal_down` | `event` | Previous trend_state=1; current trend_state=-1. Initialization is not a reversal. | Reuses the fractal trailing-stop close-based reversal; the initial simultaneous long/short state is not a confirmed single direction. | left_range + right_range + 2 contiguous bars with valid direction and active reference on both bars. |

See [feature requests](/compute#native-features) for the format and examples. `/api/chart` also accepts `signals: true`, marking confirmed events by default. With `include_forming`, trial events also produce markers tagged `bar_status=forming`; states are not drawn on every bar. See [feature charts](/compute#feature-chart).

## Example call

```bash
curl -X POST -H "Authorization: Bearer mq_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "exchange": "binance",
    "market":   "perp",
    "symbol":   "BTCUSDT",
    "interval": "5m",
    "limit":    100,
    "signals":  true,
    "calc":     [{"name": "williams_stops", "params": {"left_range": 2, "right_range": 2, "buffer_pct": 0}}]
  }' \
  https://api.mobiusquant.ai/api/indicators
```

## Full interpretation guide

Field meanings, interpretation rules and usage notes are
documented in Chinese at:

[williams_stops (中文详情)](https://docs.mobiusquant.ai/zh/indicators/williams_stops)

## Related indicators

[alligator](./alligator) · [alma](./alma) · [ema](./ema) · [hma](./hma) · [hmm_regime](./hmm_regime) · [lsma](./lsma) · [mcginley_dynamic](./mcginley_dynamic) · [mobius_trend](./mobius_trend)
