# Расширенное руководство: Автоматизация 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).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cvizor.com/en/ru/modules/signals/webhooks/templates-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
