> For the complete documentation index, see [llms.txt](https://docs.cvizor.com/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cvizor.com/en/ru/modules/signals/webhooks/templates-1.md).

# Расширенное руководство: Автоматизация Cryptovizor + Finandy

Это руководство поможет настроить автоматическую торговлю, передавая сигналы из Cryptovizor в терминал Finandy с использованием умных параметров (динамические стопы, уровни поддержки/сопротивления).

***

### 1. Настройка терминала Finandy

Перед тем как настраивать сам сигнал, необходимо подготовить модули исполнения ордеров в Finandy.

**Важно:** Любые изменения, сделанные в терминале, применяются к сигналу мгновенно, пересоздавать вебхук не нужно. Не забывайте нажимать кнопку **«Сохранить»**.

**Модуль «Открытие позиции»**

* **Тип ордера:** Market (по рынку).
* **Объем:** Рекомендуется использовать фиксированный объем в $ (например, 50-100 USD) для тестов, чтобы избежать проблем с расчетом % от депозита при плечах.
* **Чекбокс настроек:** Если чекбокс слева от параметра не отмечен, Finandy будет ждать это значение из сигнала Cryptovizor.

<figure><img src="/files/KN3bZSciuY7dRMzfSYUG" alt=""><figcaption></figcaption></figure>

**Модули управления выходом (SL, TP, SLX)**

В Finandy используются специальные модули для риск-менеджмента:

* **SL (Stop-Loss):**
* **Тип ордера:** Для SPOT-рынка используйте **Virtual market**, так как биржа часто не дает ставить одновременно реальный стоп и тейк. Для Futures можно использовать Stop-Market.
* **Триггер:** Текущая цена.

<figure><img src="/files/QQcwnnESL3kR5KiQLN6s" alt=""><figcaption></figcaption></figure>

**SLX (Трейлинг и Безубыток):**

* Позволяет переставить стоп в безубыток при достижении определенного % прибыли.
* **Настройка:** Укажите «Активация при достижении PnL, %» (например, 1%) и «Отступ от Безубытка» (например, 0.1%).

<figure><img src="/files/oI2G6SFMpQsnD5xsPga8" alt=""><figcaption></figcaption></figure>

**TP (Take-Profit):**

* Также рекомендуется тип ордера **Virtual market**.

<figure><img src="/files/rvOEZQlcfQUMs1Aiw5Mh" alt=""><figcaption></figcaption></figure>

***

### 2. Магия Webhook: Плейсхолдеры и Математика

Самая мощная часть связки — использование **плейсхолдеров** (переменных), которые Cryptovizor заменяет на реальные цифры перед отправкой сигнала.

**Что можно передавать?** Вместо фиксированной цены стопа вы можете отправить формулу. Примеры полезных плейсхолдеров:

* `{{close}}` — цена закрытия свечи в момент сигнала.
* `{{ticker}}` — название монеты (тикер).
* `{{4h_support_zone_low}}` — нижняя граница зоны поддержки на 4-часовом таймфрейме.
* `{{1h_resistance_zone_high}}` — верхняя граница зоны сопротивления на 1 часу.

#### Арифметические операции

Прямо внутри кода вебхука можно производить вычисления, чтобы ставить стопы на нужном расстоянии.

**Формула:** `{{плейсхолдер * коэффициент}}`

**Стоп на 3% ниже цены:** `{{close * 0.97}}`

**Стоп на 0.5% ниже зоны поддержки:** `{{1h_support_zone_low * 0.995}}`

**Тейк на 2% выше цены:** `{{close * 1.02}}`

> ⚠️ **Ограничения:** В одной формуле можно использовать только одну операцию (только умножение или только вычитание). Скобки и сложные примеры вида `(a + b) * c`&#x20;
>
> **не поддерживаются**.

***

### 3. Пример готового кода (JSON)

Ниже приведен пример «умного» вебхука для **Long-позиции**, который ставит стоп-лосс за зону поддержки 4H, а тейк-профит — перед зоной сопротивления 1H.

```json
{
  "name": "DCU KeyLevels Futures LONG",
  "secret": "ваш_секрет",       // Finandy сам его присваивает, скопируйте оттуда

  "symbol": "{{ticker}}",                   // Тикер монеты из сигнала
  "side": "buy",                            // Открываем LONG

  "open": {
    "enabled": true,

    "scaled": {
      "price1": {
        "mode": "value",
        "value": "{{close}}"                // Первый ордер сетки = текущая цена
      },
      "price2": {
        "mode": "value",
        "value": "{{4h_support_center_price}}"  // Последний ордер = центр зоны поддержки 4h
      },
      "qty": "5"                            // Количество ордеров в сетке
    },

    "leverage": "5",                        // Плечо 5х
    "amount": "20",                         // 20% от баланса через плечо
    "amountType": "balanceLeverage",

    "schedulerMode": "day",
    "schedulerValue": "2",                  // Авто-отмена ордеров через 2 дня

    "timeoutMode": "pairLoss",
    "timeout": "1440"                       // Защитное закрытие через 24 часа при просадке пары
  },

  "positionSide": "long",

  "tp": {
    "qty": 1,
    "orderType": "limit",
    "orders": [
      {
        "price": "{{1h_resistance_zone_low * 0.96}}",   // Тейк: 4% ниже нижней границы сопротивления 1h
        "piece": "100.0"                                // Закрываем 100% позиции
      }
    ],
    "adjust": false
  },

  "slx": {
    "trailingBreakeven": "5",              // BE при +5% прибыли
    "breakevenSum": "200"                  // Минимальный размер позиции для BE
  },

  "sl": {
    "orderType": "stop-market",            // тип стоп-ордера
    "price": "{{4h_support_zone_low * 0.97}}"  // SL = 3% ниже нижней границы зоны поддержки 4h
  }
}
```

*В этом примере:*

1. **SL** ставится на 3% ниже нижней границы 4-часовой зоны поддержки.
2. **TP** ставится на 4% ниже нижней границы 1-часового сопротивления (чтобы точно исполнился до разворота).

***

#### Чек-лист перед запуском

1\. **Проверьте секрет:** В поле `"secret"` должен быть ваш уникальный код из Finandy.

2. **Синхронизация полей:** Если вы передаете `sl` через код (как в примере выше), убедитесь, что в терминале Finandy напротив поля Stop Loss стоит **зеленая галочка** (или значок антенны), разрешающая прием значений из сигнала.
3. **Тестирование:**

* Сначала запустите на минимальном объеме.
* После срабатывания сигнала зайдите в «Логи сигналов» в Finandy, чтобы убедиться в отсутствии ошибок (например, `Error 400` или неверный формат JSON).
