# Exchange trade-count activity

Use the [shared role and timing rules](../05-signal-passports.md). All three IDs on this page are offered for **Binance only** in the reviewed desktop BACKTEST; they are absent from the Bybit contexts. “Number of trades” means exchange market trades in the candle data, not deals made by the user's strategy.

The cards offer CL/CR, default CR, and use Normal data without candle-type or Reverse selectors. Current-bar count depends on whether the evaluation uses a closed or still-forming candle.

## Rolling count filter — trade-count.filter

`TRADE_COUNT_PRICE_LIMIT` sums exchange trade count over the last p bars including the evaluation bar, and compares the integer total T with `tc`. Defaults are p=60 and tc=0. The reviewed constructor does not establish a complete numeric domain for those fields.

`TCH`: T>=tc gives AA. `TCL`: T<tc gives AA. Otherwise N. Equality belongs to TCH. The result permits/denies both task directions; it does not itself create an entry.

## Relative count entry — trade-count-pump.entry

`TRADE_COUNT_PUMP`, **By trade count 2.0**, uses current-bar count T0 and the mean count of the previous p bars, **excluding the evaluation bar**. B is that mean truncated to an integer; k is the multiplier.

`GM`: T0>B*k gives A. `GL`: T0<B*k gives A. Otherwise N. Equality qualifies neither. This is an activity state with no price direction; A does not mean simultaneous Long and Short orders.

p is integer 1…720, default 60; k defaults to 2.0. Its arithmetic input guard must be applied exactly from the constraints, not replaced with an inferred decimal increment. The available 2.0 timeframes are `1s, 5s, 10s, 15s, 30s, 45s, 1m, 3m, 15m, 30m, 1h, 4h, 1d`; 5m is absent.

## Relative count filter — trade-count-pump.filter

`TRADE_COUNT_PUMP_PRICE_LIMIT` uses the same baseline and strict GM/GL comparison, returning AA on success and N otherwise. It is a separate PRICE_LIMIT definition, not another MAIN event.

## Relative count exit — trade-count-pump.exit

The same predicate returns A. Under ED/EDOP it can qualify completion on either chosen position side; under AVG it qualifies averaging. It does not establish price reversal, available liquidity or execution.

## Definition coverage and observed controls

The controls below identify this dated schema. Their exact labels, value types and context overrides are in the catalogue. Any omitted standard selector must not be added manually.

- `trade-count.filter` — `PRICE_LIMIT` / `TRADE_COUNT_PRICE_LIMIT`. Semantics: **Rolling count filter — trade-count.filter**. Fields: `ss`, `Is`, `at`, `pla`, `p`, `ei`, `tc`. timeframe: ID-specific list; default 1m; candles: no selector; calculation: CL/CR; default CR; Reverse: no selector.
- `trade-count-pump.entry` — `MAIN` / `TRADE_COUNT_PUMP`. Semantics: **Relative count entry — trade-count-pump.entry**. Fields: `ss`, `Is`, `at`, `p`, `ei`, `k`. timeframe: ID-specific list; default 1m; candles: no selector; calculation: CL/CR; default CR; Reverse: no selector.
- `trade-count-pump.exit` — `CLOSE_BY` / `TRADE_COUNT_PUMP`. Semantics: **Relative count exit — trade-count-pump.exit**. Fields: `ss`, `Is`, `at`, `cba`, `p`, `ei`, `k`. timeframe: ID-specific list; default 1m; candles: no selector; calculation: CL/CR; default CR; Reverse: no selector.
- `trade-count-pump.filter` — `PRICE_LIMIT` / `TRADE_COUNT_PUMP_PRICE_LIMIT`. Semantics: **Relative count filter — trade-count-pump.filter**. Fields: `ss`, `Is`, `at`, `pla`, `p`, `ei`, `k`. timeframe: ID-specific list; default 1m; candles: no selector; calculation: CL/CR; default CR; Reverse: no selector.
