# Placeholders

Placeholders are special dynamic variables that get replaced with real market data when a webhook is executed. They allow you to build fully dynamic JSON payloads based on price, levels, distances, moving averages, and other metrics.

`{{ticker}}` is replaced with the asset symbol (e.g., BTCUSDT).

`{{close}}` is replaced with the latest closing price at the moment the alert is triggered.

### Cryptovizor now supports a full set of Key Levels placeholders.

Below is the complete matrix of available placeholders.

Here tf may be any timeframe: `5m, 15m, 30m, 1h, 2h, 4h, 12h, 1d.`

### Category: Moving Averages

`{{tf_ma50}}` — simple moving average 50

`{{tf_ma200}}` — simple moving average 200

Exmaples: `{{1h_ma50}}` or `{{12h_ma200}}`

### Category: Support Key Levels

`{{tf_support_center_price}}` — support zone center

`{{tf_support_zone_low}}` — support zone low

`{{tf_support_zone_high}}` — support zone high

`{{tf_support_strength}}` — support strength (merge count)

`{{tf_support_touches}}` — number of touches

`{{tf_distance_to_support_pct}}` — distance to support in percent

`{{tf_support_age_days}}` — support age in days

### Category: Resistance Key Levels

`{{tf_resistance_center_price}}` — resistance zone center

`{{tf_resistance_zone_low}}` — resistance zone low

`{{tf_resistance_zone_high}}` — resistance zone high

`{{tf_resistance_strength}}` — resistance strength (merge count)

`{{tf_resistance_touches}}` — number of touches

`{{tf_distance_to_resistance_pct}}` — distance to resistance in percent

`{{tf_resistance_age_days}}` — resistance age in days

### Arithmetic operations in placeholders

Placeholders support simple arithmetic directly inside webhook JSON.

This allows you to dynamically calculate entries, stop-loss levels, take-profit targets, quantities, and more.

Format:

`{{placeholder operator value}}`

**Allowed operators:**

* `+` addition
* `-` subtraction
* `*` multiplication
* &#x20;`/` division

#### Basic examples

Addition:

`{{close + 100}}`

(add 100 to the last close price)

Subtraction:

`{{close - 50}}`

(subtract 50 from the price)

Multiplication — used for percentage changes:

`{{close * 0.97}}`

(price minus 3%)

Division:

`{{1000 / close}}`

(calculate position size for 1000 USD)

#### Percent logic:

price \* 1.05 = +5%

price \* 0.95 = –5%

price \* 0.995 = –0.5%

#### Valid examples:

{{close \* 1.02}} → +2%

{{close \* 0.98}} → –2%

{{1h\_resistance\_zone\_high - 150}} → resistance high minus 150

{{4h\_support\_center\_price + 200}} → support center plus 200

#### Invalid examples (not supported):

{{close + 100 \* 2}}

(two operations — not supported)

{{(close + 100) \* 2}}

(parentheses are not supported)

{{{{close}} + 10}}

(nested placeholders are not supported)

#### Limitations

Parentheses are not supported

Nested placeholders are not supported

Only one operation is allowed:

{{placeholder operator value}}

Operator value cannot contain other placeholders

### **Example JSON (using real placeholders):**

`{`

`“name”: “Cryptovizor Key Levels”,`

`“secret”: “ljj8213138op”,`

`“symbol”: “{{ticker}}”,`

`“side”: “buy”,`

`“open”: {`

`“amount”: “10”,`

`“amountType”: “balanceLeverage”,`

`“scaled”: {`

`“qty”: “5”,`

`“price1”: {`

`“mode”: “ofs”,`

`“value”: “0.5”`

`},`

`“price2”: {`

`“mode”: “value”,`

`“value”: “{{1h_support_center_price * 0.995}}”`    // -0.5% from center of zone

`},`

`“factor”: “1.03”`

`}`

`},`

`“sl”: {`

`“price”: “{{1h_support_zone_low * 0.98}}”`            // -2% from lower boundary of the `support zone.`

`}`

`}`
