> For the complete documentation index, see [llms.txt](https://docs.itradingbot.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.itradingbot.net/uk/ai-strategy-builder/machine-quote-volume.md).

# Quote volume reference

Shared reading rules — index notation, the `L`/`S`/`N` codes, crossings and Reverse — are on [Signal passports](https://docs.itradingbot.net/ai-strategy-builder/signal-passports). Main backtest settings and the card schema are on [Settings and card schema](https://docs.itradingbot.net/ai-strategy-builder/machine-settings). The behaviour contract is [Rules for AI assistants](https://docs.itradingbot.net/ai-strategy-builder/assistant-rules).

Knowledge package 0.6.1, checked 22 September 2026, build 03613bfa. Use the shared role and timing rules. These variants measure **quote-asset trading volume**, typically USDT for a USDT instrument. The interface's “$” label does not mean account balance, deposited capital or base-asset volume.

The observed cards offer CL/CR, default CR, and a timeframe from their own metadata. They use Normal candle data and have no candle-type or Reverse control. Comparing a still-forming current bar with completed previous bars is different from comparing completed bars; retain the selected timing.

## Rolling volume filter — quote-volume.filter

`VOLUME_QUOTE_QTY_PRICE_LIMIT`, **By volume $**, sums quote volume over the last p bars, including the evaluation bar. The reviewed comparison uses the integer-truncated total Q. p defaults to 60; `qq` is the absolute quote-volume threshold, default 0.

`QQH`: Q>=qq gives AA. `QQL`: Q\<qq gives AA. Otherwise N. Equality belongs to QQH. For nonnegative volume, truncation discards the fractional part before comparison; it is not rounding to the nearest whole unit. The reviewed constructor does not establish complete numeric bounds for p/qq, so their constraint status must be respected.

## Relative activity entry — quote-volume-pump.entry

`VOLUME_QUOTE_QTY_PUMP`, **By volume $ 2.0**, compares current-bar quote volume Q0 with the mean of the **previous p bars, excluding the evaluation bar**. Let B be that mean truncated to an integer; k is the multiplier.

`GM`: Q0>B\*k gives A; `GL`: Q0\<B\*k gives A; otherwise N. Equality gives N for both. k=2 means twice the baseline, not an additional 2% or 200% increase. The condition is a qualifying activity state, not a crossing event, and does not indicate whether price should rise or fall.

p is integer 1…720; default 60. k defaults to 2.0. Its confirmed constraint includes a numeric bound and a specific arithmetic guard; do not simplify that guard to “any 0.1 step”. Use the machine contract without rounding a proposed value.

These 2.0 variants offer `1s, 5s, 10s, 15s, 30s, 45s, 1m, 3m, 15m, 30m, 1h, 4h, 1d`. In particular, 5m is not a choice. Do not apply the general indicator timeframe list.

## Relative activity filter — quote-volume-pump.filter

`VOLUME_QUOTE_QTY_PUMP_PRICE_LIMIT` uses exactly the same B, k and strict GM/GL comparisons, but returns AA on success and N otherwise. It permits both sides without creating the MAIN signal.

## Relative activity exit — quote-volume-pump.exit

The same condition returns A. ED/EDOP can therefore qualify an ending request for either selected position direction; AVG qualifies averaging. High volume is not automatically an opposite-direction price signal. Zero baseline and immature current-bar data should be interpreted through the stated formula and timing, without inventing a directional signal or an execution result.

## 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.

* `quote-volume.filter` — `PRICE_LIMIT` / `VOLUME_QUOTE_QTY_PRICE_LIMIT`. Semantics: **Rolling volume filter — quote-volume.filter**. Fields: `ss`, `Is`, `at`, `pla`, `p`, `ei`, `qq`. timeframe: ID-specific list; default 1m; candles: no selector; calculation: CL/CR; default CR; Reverse: no selector.
* `quote-volume-pump.entry` — `MAIN` / `VOLUME_QUOTE_QTY_PUMP`. Semantics: **Relative activity entry — quote-volume-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.
* `quote-volume-pump.exit` — `CLOSE_BY` / `VOLUME_QUOTE_QTY_PUMP`. Semantics: **Relative activity exit — quote-volume-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.
* `quote-volume-pump.filter` — `PRICE_LIMIT` / `VOLUME_QUOTE_QTY_PUMP_PRICE_LIMIT`. Semantics: **Relative activity filter — quote-volume-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.

## Exact machine reference

Read common settings and card schema first. The following blocks are complete family excerpts, not standalone replacement files. Apply only the selected context overrides and check availability. Use the complete downloaded files for the validator.

### Catalogue definitions and overrides

```json
{
  "format": "itb.field-catalog/0.4.0",
  "definitions": [
    {
      "id": "quote-volume-pump.entry",
      "original_indicator_id": "VOLUME_QUOTE_QTY_PUMP",
      "role": "entry",
      "fields": [
        {
          "id": "quote-volume-pump.entry.asset",
          "source_key": "ss",
          "type": "string",
          "enum_values": null,
          "schema_default": "BTCUSDT",
          "labels": {
            "en": "Asset"
          },
          "unit": "symbol",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.entry.timeframe",
          "source_key": "Is",
          "type": "string",
          "enum_values": [
            "1s",
            "5s",
            "10s",
            "15s",
            "30s",
            "45s",
            "1m",
            "3m",
            "15m",
            "30m",
            "1h",
            "4h",
            "1d"
          ],
          "schema_default": "1m",
          "labels": {
            "en": "TF"
          },
          "unit": "timeframe",
          "label_verified": true,
          "enum_labels": {
            "1s": {
              "en": "1s"
            },
            "5s": {
              "en": "5s"
            },
            "10s": {
              "en": "10s"
            },
            "15s": {
              "en": "15s"
            },
            "30s": {
              "en": "30s"
            },
            "45s": {
              "en": "45s"
            },
            "1m": {
              "en": "1m"
            },
            "3m": {
              "en": "3m"
            },
            "15m": {
              "en": "15m"
            },
            "30m": {
              "en": "30m"
            },
            "1h": {
              "en": "1h"
            },
            "4h": {
              "en": "4h"
            },
            "1d": {
              "en": "1d"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.entry.calculation",
          "source_key": "at",
          "type": "string",
          "enum_values": [
            "CL",
            "CR"
          ],
          "schema_default": "CR",
          "labels": {
            "en": "Calculation"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "CL": {
              "en": "At bar close"
            },
            "CR": {
              "en": "On crossover (per second)"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.entry.period",
          "source_key": "p",
          "type": "integer",
          "enum_values": null,
          "schema_default": 60,
          "labels": {
            "en": "Period"
          },
          "unit": "bars",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.entry.source-ei",
          "source_key": "ei",
          "type": "string",
          "enum_values": [
            "GM",
            "GL"
          ],
          "schema_default": "GM",
          "labels": {
            "en": "Allow entry if"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "GM": {
              "en": "Growth of more than"
            },
            "GL": {
              "en": "Growth of less than"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.entry.multiplier",
          "source_key": "k",
          "type": "number",
          "enum_values": null,
          "schema_default": 2.0,
          "labels": {
            "en": "Coefficient"
          },
          "unit": "ratio",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        }
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "labels": {
        "en": "By volume $ 2.0"
      }
    },
    {
      "id": "quote-volume-pump.exit",
      "original_indicator_id": "VOLUME_QUOTE_QTY_PUMP",
      "role": "exit",
      "fields": [
        {
          "id": "quote-volume-pump.exit.asset",
          "source_key": "ss",
          "type": "string",
          "enum_values": null,
          "schema_default": "BTCUSDT",
          "labels": {
            "en": "Asset"
          },
          "unit": "symbol",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.exit.timeframe",
          "source_key": "Is",
          "type": "string",
          "enum_values": [
            "1s",
            "5s",
            "10s",
            "15s",
            "30s",
            "45s",
            "1m",
            "3m",
            "15m",
            "30m",
            "1h",
            "4h",
            "1d"
          ],
          "schema_default": "1m",
          "labels": {
            "en": "TF"
          },
          "unit": "timeframe",
          "label_verified": true,
          "enum_labels": {
            "1s": {
              "en": "1s"
            },
            "5s": {
              "en": "5s"
            },
            "10s": {
              "en": "10s"
            },
            "15s": {
              "en": "15s"
            },
            "30s": {
              "en": "30s"
            },
            "45s": {
              "en": "45s"
            },
            "1m": {
              "en": "1m"
            },
            "3m": {
              "en": "3m"
            },
            "15m": {
              "en": "15m"
            },
            "30m": {
              "en": "30m"
            },
            "1h": {
              "en": "1h"
            },
            "4h": {
              "en": "4h"
            },
            "1d": {
              "en": "1d"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.exit.calculation",
          "source_key": "at",
          "type": "string",
          "enum_values": [
            "CL",
            "CR"
          ],
          "schema_default": "CR",
          "labels": {
            "en": "Calculation"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "CL": {
              "en": "At bar close"
            },
            "CR": {
              "en": "On crossover (per second)"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.exit.signal-action",
          "source_key": "cba",
          "type": "string",
          "enum_values": [
            "ED",
            "EDOP"
          ],
          "schema_default": "EDOP",
          "labels": {
            "en": "When a signal is received"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "ED": {
              "en": "Sell by market"
            },
            "EDOP": {
              "en": "Sell at market with deviation (if specified)"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.exit.period",
          "source_key": "p",
          "type": "integer",
          "enum_values": null,
          "schema_default": 60,
          "labels": {
            "en": "Period"
          },
          "unit": "bars",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.exit.source-ei",
          "source_key": "ei",
          "type": "string",
          "enum_values": [
            "GM",
            "GL"
          ],
          "schema_default": "GM",
          "labels": {
            "en": "Allow entry if"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "GM": {
              "en": "Growth of more than"
            },
            "GL": {
              "en": "Growth of less than"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.exit.multiplier",
          "source_key": "k",
          "type": "number",
          "enum_values": null,
          "schema_default": 2.0,
          "labels": {
            "en": "Coefficient"
          },
          "unit": "ratio",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        }
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "labels": {
        "en": "By volume $ 2.0"
      }
    },
    {
      "id": "quote-volume-pump.filter",
      "original_indicator_id": "VOLUME_QUOTE_QTY_PUMP_PRICE_LIMIT",
      "role": "filter",
      "fields": [
        {
          "id": "quote-volume-pump.filter.asset",
          "source_key": "ss",
          "type": "string",
          "enum_values": null,
          "schema_default": "BTCUSDT",
          "labels": {
            "en": "Asset"
          },
          "unit": "symbol",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.filter.timeframe",
          "source_key": "Is",
          "type": "string",
          "enum_values": [
            "1s",
            "5s",
            "10s",
            "15s",
            "30s",
            "45s",
            "1m",
            "3m",
            "15m",
            "30m",
            "1h",
            "4h",
            "1d"
          ],
          "schema_default": "1m",
          "labels": {
            "en": "TF"
          },
          "unit": "timeframe",
          "label_verified": true,
          "enum_labels": {
            "1s": {
              "en": "1s"
            },
            "5s": {
              "en": "5s"
            },
            "10s": {
              "en": "10s"
            },
            "15s": {
              "en": "15s"
            },
            "30s": {
              "en": "30s"
            },
            "45s": {
              "en": "45s"
            },
            "1m": {
              "en": "1m"
            },
            "3m": {
              "en": "3m"
            },
            "15m": {
              "en": "15m"
            },
            "30m": {
              "en": "30m"
            },
            "1h": {
              "en": "1h"
            },
            "4h": {
              "en": "4h"
            },
            "1d": {
              "en": "1d"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.filter.calculation",
          "source_key": "at",
          "type": "string",
          "enum_values": [
            "CL",
            "CR"
          ],
          "schema_default": "CR",
          "labels": {
            "en": "Calculation"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "CL": {
              "en": "At bar close"
            },
            "CR": {
              "en": "On crossover (per second)"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.filter.filter-exit-action",
          "source_key": "pla",
          "type": "string",
          "enum_values": [
            "SD",
            "ED",
            "EDOP"
          ],
          "schema_default": "SD",
          "labels": {
            "en": "When exiting the filter"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "SD": {
              "en": "Cancel cycles"
            },
            "ED": {
              "en": "Sell by market"
            },
            "EDOP": {
              "en": "Sell at market with deviation (if specified)"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.filter.period",
          "source_key": "p",
          "type": "integer",
          "enum_values": null,
          "schema_default": 60,
          "labels": {
            "en": "Period"
          },
          "unit": "bars",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.filter.source-ei",
          "source_key": "ei",
          "type": "string",
          "enum_values": [
            "GM",
            "GL"
          ],
          "schema_default": "GM",
          "labels": {
            "en": "Allow entry if"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "GM": {
              "en": "Growth of more than"
            },
            "GL": {
              "en": "Growth of less than"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume-pump.filter.multiplier",
          "source_key": "k",
          "type": "number",
          "enum_values": null,
          "schema_default": 2.0,
          "labels": {
            "en": "Coefficient"
          },
          "unit": "ratio",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        }
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "labels": {
        "en": "By volume $ 2.0"
      }
    },
    {
      "id": "quote-volume.filter",
      "original_indicator_id": "VOLUME_QUOTE_QTY_PRICE_LIMIT",
      "role": "filter",
      "fields": [
        {
          "id": "quote-volume.filter.asset",
          "source_key": "ss",
          "type": "string",
          "enum_values": null,
          "schema_default": "BTCUSDT",
          "labels": {
            "en": "Asset"
          },
          "unit": "symbol",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume.filter.timeframe",
          "source_key": "Is",
          "type": "string",
          "enum_values": [
            "1s",
            "5s",
            "10s",
            "15s",
            "30s",
            "45s",
            "1m",
            "2m",
            "3m",
            "5m",
            "10m",
            "15m",
            "30m",
            "1h",
            "4h",
            "12h",
            "1d"
          ],
          "schema_default": "1m",
          "labels": {
            "en": "TF"
          },
          "unit": "timeframe",
          "label_verified": true,
          "enum_labels": {
            "1s": {
              "en": "1s"
            },
            "5s": {
              "en": "5s"
            },
            "10s": {
              "en": "10s"
            },
            "15s": {
              "en": "15s"
            },
            "30s": {
              "en": "30s"
            },
            "45s": {
              "en": "45s"
            },
            "1m": {
              "en": "1m"
            },
            "2m": {
              "en": "2m"
            },
            "3m": {
              "en": "3m"
            },
            "5m": {
              "en": "5m"
            },
            "10m": {
              "en": "10m"
            },
            "15m": {
              "en": "15m"
            },
            "30m": {
              "en": "30m"
            },
            "1h": {
              "en": "1h"
            },
            "4h": {
              "en": "4h"
            },
            "12h": {
              "en": "12h"
            },
            "1d": {
              "en": "1d"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume.filter.calculation",
          "source_key": "at",
          "type": "string",
          "enum_values": [
            "CL",
            "CR"
          ],
          "schema_default": "CR",
          "labels": {
            "en": "Calculation"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "CL": {
              "en": "At bar close"
            },
            "CR": {
              "en": "On crossover (per second)"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume.filter.filter-exit-action",
          "source_key": "pla",
          "type": "string",
          "enum_values": [
            "SD",
            "ED",
            "EDOP"
          ],
          "schema_default": "SD",
          "labels": {
            "en": "When exiting the filter"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "SD": {
              "en": "Cancel cycles"
            },
            "ED": {
              "en": "Sell by market"
            },
            "EDOP": {
              "en": "Sell at market with deviation (if specified)"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume.filter.period",
          "source_key": "p",
          "type": "integer",
          "enum_values": null,
          "schema_default": 60,
          "labels": {
            "en": "Period"
          },
          "unit": "bars",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        },
        {
          "id": "quote-volume.filter.source-ei",
          "source_key": "ei",
          "type": "string",
          "enum_values": [
            "QQH",
            "QQL"
          ],
          "schema_default": "QQH",
          "labels": {
            "en": "Allow entry if"
          },
          "unit": "not specified",
          "label_verified": true,
          "enum_labels": {
            "QQH": {
              "en": "The volume is greater than the specified one"
            },
            "QQL": {
              "en": "The volume is less than the specified one"
            }
          },
          "numeric_range": null
        },
        {
          "id": "quote-volume.filter.quote-volume",
          "source_key": "qq",
          "type": "number",
          "enum_values": null,
          "schema_default": 0,
          "labels": {
            "en": "Volume $"
          },
          "unit": "quote volume",
          "label_verified": true,
          "enum_labels": null,
          "numeric_range": null
        }
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "labels": {
        "en": "By volume $"
      }
    }
  ],
  "context_overrides": {
    "backtest-binance-dca-false": {},
    "backtest-binance-dca-true": {
      "quote-volume-pump.exit": {
        "quote-volume-pump.exit.signal-action": {
          "enum_values": [
            "AVG",
            "ED",
            "EDOP"
          ],
          "enum_labels": {
            "AVG": {
              "en": "Average"
            },
            "ED": {
              "en": "Sell by market"
            },
            "EDOP": {
              "en": "Sell at market with deviation (if specified)"
            }
          },
          "schema_default": "AVG"
        },
        "quote-volume-pump.exit.calculation": {
          "enum_labels": {
            "CL": {
              "en": "At bar close"
            },
            "CR": {
              "en": "From intersection (every second)"
            }
          }
        }
      }
    },
    "backtest-bybit-dca-false": {
      "quote-volume.filter": {
        "quote-volume.filter.timeframe": {
          "enum_values": [
            "1s",
            "5s",
            "10s",
            "15s",
            "30s",
            "45s",
            "1m",
            "2m",
            "3m",
            "5m",
            "10m",
            "15m",
            "30m",
            "1h",
            "4h",
            "1d"
          ],
          "enum_labels": {
            "1s": {
              "en": "1s"
            },
            "5s": {
              "en": "5s"
            },
            "10s": {
              "en": "10s"
            },
            "15s": {
              "en": "15s"
            },
            "30s": {
              "en": "30s"
            },
            "45s": {
              "en": "45s"
            },
            "1m": {
              "en": "1m"
            },
            "2m": {
              "en": "2m"
            },
            "3m": {
              "en": "3m"
            },
            "5m": {
              "en": "5m"
            },
            "10m": {
              "en": "10m"
            },
            "15m": {
              "en": "15m"
            },
            "30m": {
              "en": "30m"
            },
            "1h": {
              "en": "1h"
            },
            "4h": {
              "en": "4h"
            },
            "1d": {
              "en": "1d"
            }
          }
        }
      }
    },
    "backtest-bybit-dca-true": {
      "quote-volume-pump.exit": {
        "quote-volume-pump.exit.signal-action": {
          "enum_values": [
            "AVG",
            "ED",
            "EDOP"
          ],
          "enum_labels": {
            "AVG": {
              "en": "Average"
            },
            "ED": {
              "en": "Sell by market"
            },
            "EDOP": {
              "en": "Sell at market with deviation (if specified)"
            }
          },
          "schema_default": "AVG"
        },
        "quote-volume-pump.exit.calculation": {
          "enum_labels": {
            "CL": {
              "en": "At bar close"
            },
            "CR": {
              "en": "From intersection (every second)"
            }
          }
        }
      },
      "quote-volume.filter": {
        "quote-volume.filter.timeframe": {
          "enum_values": [
            "1s",
            "5s",
            "10s",
            "15s",
            "30s",
            "45s",
            "1m",
            "2m",
            "3m",
            "5m",
            "10m",
            "15m",
            "30m",
            "1h",
            "4h",
            "1d"
          ],
          "enum_labels": {
            "1s": {
              "en": "1s"
            },
            "5s": {
              "en": "5s"
            },
            "10s": {
              "en": "10s"
            },
            "15s": {
              "en": "15s"
            },
            "30s": {
              "en": "30s"
            },
            "45s": {
              "en": "45s"
            },
            "1m": {
              "en": "1m"
            },
            "2m": {
              "en": "2m"
            },
            "3m": {
              "en": "3m"
            },
            "5m": {
              "en": "5m"
            },
            "10m": {
              "en": "10m"
            },
            "15m": {
              "en": "15m"
            },
            "30m": {
              "en": "30m"
            },
            "1h": {
              "en": "1h"
            },
            "4h": {
              "en": "4h"
            },
            "1d": {
              "en": "1d"
            }
          }
        }
      }
    }
  }
}
```

### Condition constraints and dependencies

```json
{
  "format": "itb.condition-constraints/0.4.0",
  "definitions": [
    {
      "id": "quote-volume-pump.entry",
      "field_ids": [
        "quote-volume-pump.entry.asset",
        "quote-volume-pump.entry.timeframe",
        "quote-volume-pump.entry.calculation",
        "quote-volume-pump.entry.period",
        "quote-volume-pump.entry.source-ei",
        "quote-volume-pump.entry.multiplier"
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "strict_mode_eligible": true,
      "eligibility_scope": "complete normalized constructor input domain; not numerical execution or deployed parity"
    },
    {
      "id": "quote-volume-pump.exit",
      "field_ids": [
        "quote-volume-pump.exit.asset",
        "quote-volume-pump.exit.timeframe",
        "quote-volume-pump.exit.calculation",
        "quote-volume-pump.exit.signal-action",
        "quote-volume-pump.exit.period",
        "quote-volume-pump.exit.source-ei",
        "quote-volume-pump.exit.multiplier"
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "strict_mode_eligible": true,
      "eligibility_scope": "complete normalized constructor input domain; not numerical execution or deployed parity"
    },
    {
      "id": "quote-volume-pump.filter",
      "field_ids": [
        "quote-volume-pump.filter.asset",
        "quote-volume-pump.filter.timeframe",
        "quote-volume-pump.filter.calculation",
        "quote-volume-pump.filter.filter-exit-action",
        "quote-volume-pump.filter.period",
        "quote-volume-pump.filter.source-ei",
        "quote-volume-pump.filter.multiplier"
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "strict_mode_eligible": true,
      "eligibility_scope": "complete normalized constructor input domain; not numerical execution or deployed parity"
    },
    {
      "id": "quote-volume.filter",
      "field_ids": [
        "quote-volume.filter.asset",
        "quote-volume.filter.timeframe",
        "quote-volume.filter.calculation",
        "quote-volume.filter.filter-exit-action",
        "quote-volume.filter.period",
        "quote-volume.filter.source-ei",
        "quote-volume.filter.quote-volume"
      ],
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "strict_mode_eligible": true,
      "eligibility_scope": "complete normalized constructor input domain; not numerical execution or deployed parity"
    }
  ],
  "fields": {
    "quote-volume-pump.entry.asset": {
      "definition_id": "quote-volume-pump.entry",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "binding": {
        "kind": "same_as_card_field",
        "field_id": "backtest.symbol",
        "no_external_or_invented_asset": true
      },
      "allowed_values_status": "card_symbol_binding; no static market symbol list in condition metadata"
    },
    "quote-volume-pump.entry.timeframe": {
      "definition_id": "quote-volume-pump.entry",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-binance-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-bybit-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-bybit-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.entry.calculation": {
      "definition_id": "quote-volume-pump.entry",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-binance-dca-true": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-true": [
          "CL",
          "CR"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.entry.period": {
      "definition_id": "quote-volume-pump.entry",
      "type": "integer",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": 1,
      "maximum": 720,
      "minimum_inclusive": true,
      "maximum_inclusive": true,
      "integer": true,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "integer_normalized_domain",
        "value": 1,
        "anchor": 0
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_constructor_bounds_observed",
      "bounds_status": "source_constructor_bounds_observed",
      "input_policy": "exact JSON integer; no numeric strings, bool, rounding or truncation",
      "ui_step": 1,
      "ui_step_is_server_constraint": false
    },
    "quote-volume-pump.entry.source-ei": {
      "definition_id": "quote-volume-pump.entry",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "GM",
          "GL"
        ],
        "backtest-binance-dca-true": [
          "GM",
          "GL"
        ],
        "backtest-bybit-dca-false": [
          "GM",
          "GL"
        ],
        "backtest-bybit-dca-true": [
          "GM",
          "GL"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.entry.multiplier": {
      "definition_id": "quote-volume-pump.entry",
      "type": "number",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": 0.1,
      "maximum": 500,
      "minimum_inclusive": true,
      "maximum_inclusive": true,
      "integer": false,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "source_scaled_truncation_modulo",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_constructor_bounds_observed",
      "bounds_status": "source_constructor_bounds_observed",
      "input_policy": "finite JSON number; no numeric strings or bool; apply exact listed source rules",
      "numeric_rules": [
        {
          "kind": "scaled_truncation_modulo",
          "scale": 500,
          "modulus": 10,
          "remainder": 0
        }
      ],
      "precision_convention": "Apply Python binary64 float(value) * 500, then int truncation, then % 10. Do not substitute Decimal arithmetic or a regular step=0.02 grid.",
      "ui_step": 0.01,
      "ui_step_is_server_constraint": false
    },
    "quote-volume-pump.exit.asset": {
      "definition_id": "quote-volume-pump.exit",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "binding": {
        "kind": "same_as_card_field",
        "field_id": "backtest.symbol",
        "no_external_or_invented_asset": true
      },
      "allowed_values_status": "card_symbol_binding; no static market symbol list in condition metadata"
    },
    "quote-volume-pump.exit.timeframe": {
      "definition_id": "quote-volume-pump.exit",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-binance-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-bybit-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-bybit-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.exit.calculation": {
      "definition_id": "quote-volume-pump.exit",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-binance-dca-true": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-true": [
          "CL",
          "CR"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.exit.signal-action": {
      "definition_id": "quote-volume-pump.exit",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "ED",
          "EDOP"
        ],
        "backtest-binance-dca-true": [
          "AVG",
          "ED",
          "EDOP"
        ],
        "backtest-bybit-dca-false": [
          "ED",
          "EDOP"
        ],
        "backtest-bybit-dca-true": [
          "AVG",
          "ED",
          "EDOP"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.exit.period": {
      "definition_id": "quote-volume-pump.exit",
      "type": "integer",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": 1,
      "maximum": 720,
      "minimum_inclusive": true,
      "maximum_inclusive": true,
      "integer": true,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "integer_normalized_domain",
        "value": 1,
        "anchor": 0
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_constructor_bounds_observed",
      "bounds_status": "source_constructor_bounds_observed",
      "input_policy": "exact JSON integer; no numeric strings, bool, rounding or truncation",
      "ui_step": 1,
      "ui_step_is_server_constraint": false
    },
    "quote-volume-pump.exit.source-ei": {
      "definition_id": "quote-volume-pump.exit",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "GM",
          "GL"
        ],
        "backtest-binance-dca-true": [
          "GM",
          "GL"
        ],
        "backtest-bybit-dca-false": [
          "GM",
          "GL"
        ],
        "backtest-bybit-dca-true": [
          "GM",
          "GL"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.exit.multiplier": {
      "definition_id": "quote-volume-pump.exit",
      "type": "number",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": 0.1,
      "maximum": 500,
      "minimum_inclusive": true,
      "maximum_inclusive": true,
      "integer": false,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "source_scaled_truncation_modulo",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_constructor_bounds_observed",
      "bounds_status": "source_constructor_bounds_observed",
      "input_policy": "finite JSON number; no numeric strings or bool; apply exact listed source rules",
      "numeric_rules": [
        {
          "kind": "scaled_truncation_modulo",
          "scale": 500,
          "modulus": 10,
          "remainder": 0
        }
      ],
      "precision_convention": "Apply Python binary64 float(value) * 500, then int truncation, then % 10. Do not substitute Decimal arithmetic or a regular step=0.02 grid.",
      "ui_step": 0.01,
      "ui_step_is_server_constraint": false
    },
    "quote-volume-pump.filter.asset": {
      "definition_id": "quote-volume-pump.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "binding": {
        "kind": "same_as_card_field",
        "field_id": "backtest.symbol",
        "no_external_or_invented_asset": true
      },
      "allowed_values_status": "card_symbol_binding; no static market symbol list in condition metadata"
    },
    "quote-volume-pump.filter.timeframe": {
      "definition_id": "quote-volume-pump.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-binance-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-bybit-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-bybit-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "3m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.filter.calculation": {
      "definition_id": "quote-volume-pump.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-binance-dca-true": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-true": [
          "CL",
          "CR"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.filter.filter-exit-action": {
      "definition_id": "quote-volume-pump.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "SD",
          "ED",
          "EDOP"
        ],
        "backtest-binance-dca-true": [
          "SD",
          "ED",
          "EDOP"
        ],
        "backtest-bybit-dca-false": [
          "SD",
          "ED",
          "EDOP"
        ],
        "backtest-bybit-dca-true": [
          "SD",
          "ED",
          "EDOP"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.filter.period": {
      "definition_id": "quote-volume-pump.filter",
      "type": "integer",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": 1,
      "maximum": 720,
      "minimum_inclusive": true,
      "maximum_inclusive": true,
      "integer": true,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "integer_normalized_domain",
        "value": 1,
        "anchor": 0
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_constructor_bounds_observed",
      "bounds_status": "source_constructor_bounds_observed",
      "input_policy": "exact JSON integer; no numeric strings, bool, rounding or truncation",
      "ui_step": 1,
      "ui_step_is_server_constraint": false
    },
    "quote-volume-pump.filter.source-ei": {
      "definition_id": "quote-volume-pump.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "GM",
          "GL"
        ],
        "backtest-binance-dca-true": [
          "GM",
          "GL"
        ],
        "backtest-bybit-dca-false": [
          "GM",
          "GL"
        ],
        "backtest-bybit-dca-true": [
          "GM",
          "GL"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume-pump.filter.multiplier": {
      "definition_id": "quote-volume-pump.filter",
      "type": "number",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": 0.1,
      "maximum": 500,
      "minimum_inclusive": true,
      "maximum_inclusive": true,
      "integer": false,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "source_scaled_truncation_modulo",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_constructor_bounds_observed",
      "bounds_status": "source_constructor_bounds_observed",
      "input_policy": "finite JSON number; no numeric strings or bool; apply exact listed source rules",
      "numeric_rules": [
        {
          "kind": "scaled_truncation_modulo",
          "scale": 500,
          "modulus": 10,
          "remainder": 0
        }
      ],
      "precision_convention": "Apply Python binary64 float(value) * 500, then int truncation, then % 10. Do not substitute Decimal arithmetic or a regular step=0.02 grid.",
      "ui_step": 0.01,
      "ui_step_is_server_constraint": false
    },
    "quote-volume.filter.asset": {
      "definition_id": "quote-volume.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "binding": {
        "kind": "same_as_card_field",
        "field_id": "backtest.symbol",
        "no_external_or_invented_asset": true
      },
      "allowed_values_status": "card_symbol_binding; no static market symbol list in condition metadata"
    },
    "quote-volume.filter.timeframe": {
      "definition_id": "quote-volume.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "2m",
          "3m",
          "5m",
          "10m",
          "15m",
          "30m",
          "1h",
          "4h",
          "12h",
          "1d"
        ],
        "backtest-binance-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "2m",
          "3m",
          "5m",
          "10m",
          "15m",
          "30m",
          "1h",
          "4h",
          "12h",
          "1d"
        ],
        "backtest-bybit-dca-false": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "2m",
          "3m",
          "5m",
          "10m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ],
        "backtest-bybit-dca-true": [
          "1s",
          "5s",
          "10s",
          "15s",
          "30s",
          "45s",
          "1m",
          "2m",
          "3m",
          "5m",
          "10m",
          "15m",
          "30m",
          "1h",
          "4h",
          "1d"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume.filter.calculation": {
      "definition_id": "quote-volume.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-binance-dca-true": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-false": [
          "CL",
          "CR"
        ],
        "backtest-bybit-dca-true": [
          "CL",
          "CR"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume.filter.filter-exit-action": {
      "definition_id": "quote-volume.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "SD",
          "ED",
          "EDOP"
        ],
        "backtest-binance-dca-true": [
          "SD",
          "ED",
          "EDOP"
        ],
        "backtest-bybit-dca-false": [
          "SD",
          "ED",
          "EDOP"
        ],
        "backtest-bybit-dca-true": [
          "SD",
          "ED",
          "EDOP"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume.filter.period": {
      "definition_id": "quote-volume.filter",
      "type": "integer",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": true,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "integer_normalized_domain",
        "value": 1,
        "anchor": 0
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_no_explicit_bounds",
      "bounds_status": "source_no_explicit_bounds",
      "input_policy": "exact JSON integer; no numeric strings, bool, rounding or truncation",
      "ui_step": 1,
      "ui_step_is_server_constraint": false
    },
    "quote-volume.filter.source-ei": {
      "definition_id": "quote-volume.filter",
      "type": "string",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": false,
      "allowed_values": null,
      "allowed_values_by_context": {
        "backtest-binance-dca-false": [
          "QQH",
          "QQL"
        ],
        "backtest-binance-dca-true": [
          "QQH",
          "QQL"
        ],
        "backtest-bybit-dca-false": [
          "QQH",
          "QQL"
        ],
        "backtest-bybit-dca-true": [
          "QQH",
          "QQL"
        ]
      },
      "step": {
        "status": "not_applicable",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ]
    },
    "quote-volume.filter.quote-volume": {
      "definition_id": "quote-volume.filter",
      "type": "number",
      "nullable": false,
      "nullability_status": "curated_non_null_subset",
      "strict_mode_eligible": true,
      "status": "source_observed_and_current_backtest_observed",
      "minimum": null,
      "maximum": null,
      "minimum_inclusive": null,
      "maximum_inclusive": null,
      "integer": false,
      "finite": true,
      "allowed_values": null,
      "allowed_values_by_context": {},
      "step": {
        "status": "server_no_explicit_step",
        "value": null,
        "anchor": null
      },
      "available_contexts": [
        "backtest-binance-dca-false",
        "backtest-binance-dca-true",
        "backtest-bybit-dca-false",
        "backtest-bybit-dca-true"
      ],
      "numeric_status": "source_no_explicit_bounds",
      "bounds_status": "source_no_explicit_bounds",
      "input_policy": "finite JSON number; no numeric strings or bool; apply exact listed source rules",
      "ui_step": 0.01,
      "ui_step_is_server_constraint": false
    }
  },
  "conditional_rules": [],
  "cross_field_rules": []
}
```
