Как создать двухуровневый бот для торговли криптовалютными фьючерсами с помощью Origami Tech

Введение
В этом руководстве мы с нуля создадим бота для торговли фьючерсами с учетом открытых позиций на платформе Origami Tech . Стратегия использует данные RSI с одноминутной периодичностью для открытия длинных или коротких позиций, увеличивает существующую позицию после определенного ценового движения и закрывает всю позицию при достижении заданного целевого уровня прибыли.
Логика разделена на два слоя сетки:
- Слой открытия и усреднения
- Закрывающий слой «Только сокращение»
Благодаря такому разделению каждую часть стратегии торговли криптовалютным ботом проще настраивать, тестировать и управлять ею.
Из этого руководства вы узнаете, как:
- Создайте рабочую область и подключите учетную запись Exchange
- Создать бота для торговли криптовалютными фьючерсами в режиме «One Way»
- Настройка выходов для покупки и продажи
- Используйте сигналы RSI на основе одноминутных свечей
- Сделайте так, чтобы бот реагировал на текущее положение
- Добавьте алгоритм усреднения вокруг цены безубыточности
- Создайте отдельный слой «Только уменьшение» для выходов
- Просмотрите симуляцию и запустите бота
Прежде чем начать, помните: бот для торговли криптовалютой автоматизирует процесс исполнения сделок, но не гарантирует результаты. Пороговые значения RSI, правила усреднения и целевые показатели прибыли не гарантируют прибыльность торговли. Тщательно протестируйте логику и используйте сумму, которую можете позволить себе потерять.
Как работают слои сетки в Origami Tech
В системе « Origami Tech » сетка представляет собой уровень стратегической логики. Она не обязательно должна отражать традиционную стратегию торговли по сетке с множеством фиксированных ордеров, распределенных по ценовому диапазону.
Каждый уровень может выполнять отдельную задачу. Например, один уровень может формировать котировки вблизи рыночной цены, другой — размещать ордера в более широком диапазоне, а третий — управлять фиксацией прибыли или контролем рисков. Уровни также можно включать и отключать независимо друг от друга.
Бот, описанный в данном руководстве, использует два уровня, поскольку к входу и выходу предъявляются разные требования. Первый уровень может увеличить риск, а второй — только снизить его.
Эта структура полезна при создании бота для торговли фьючерсами по сетке, поскольку позволяет избежать размещения всех условий, цен, количеств и проверок позиций в одном большом выражении.
Стратегия торговли с использованием крипто-ботов, описанная в данном руководстве
Пример был создан для фьючерсного рынка на платформе Extended с использованием режима позиции «One Way» и криптовалютной торговой пары PUMP.
Бот следует следующим правилам:
- Он анализирует индикатор RSI на одноминутных свечах.
- Система открывает длинную позицию, когда показатель RSI находится на уровне 30 или ниже.
- Система формирует сигнал на открытие короткой позиции, когда показатель RSI находится на уровне 70 или выше.
- Он размещает один ордер на покупку и один ордер на продажу.
- В данном примере каждый первоначальный заказ составляет примерно 20 долларов.
- Если позиция уже открыта, бот может увеличить её после того, как цена отклонится на 1 % от уровня безубыточности и будет выполнено соответствующее условие по индикатору RSI.
- Второй уровень закрывает всю позицию при достижении настраиваемого целевого уровня прибыли.
- В заключительном слое используется функция «Только сокращение» (Reduce Only), поэтому ордер на закрытие не может открыть позицию в противоположном направлении.
Эти значения иллюстрируют рабочий процесс. Они не являются рекомендуемыми настройками для всех рынков.
Шаг 1: Создание рабочей области
После регистрации на сайте Origami Tech создайте рабочую область.
Рабочая область объединяет учетные записи, ботов, макеты и права доступа, используемые для конкретной конфигурации торговли криптовалютой. Членам команды могут быть присвоены роли «Администратор», «Редактор», «Просмотрщик» или «Аналитик». Администраторы могут управлять ботами и добавлять учетные записи.
Если у вас уже есть рабочая среда, откройте её и перейдите к настройке учётной записи.

Шаг 2: Подключите свою учетную запись Exchange
Откройте меню «Учетные записи» и нажмите «Добавить учетную запись». Выберите биржу, которую хотите использовать, и пройдите процедуру подключения.
Конкретный порядок действий зависит от места проведения мероприятия:
- Централизованная биржа может потребовать предоставления учетных данных для API, а также добавления IP-адресов Origami Tech в свой белый список.
- Поддерживаемая децентрализованная биржа обычно использует подключение к кошельку.
Перед созданием бота убедитесь, что на счете имеется достаточный доступный баланс и что на выбранном рынке разрешена торговля криптовалютными фьючерсами.
Шаг 3: Создание бота для торговли криптовалютными фьючерсами
Перейдите на страницу «Боты » и нажмите «Добавить бота».
Выберите следующие настройки:
- Тип рынка: Фьючерсы
- Учетная запись: ваша подключенная расширенная учетная запись
- Режим работы: «Один путь»
- Торговая пара криптовалют: PUMP/USD
- Режим маржи: «Кросс»
- Название бота: любое понятное название стратегии
- Кредитное плечо: в данном примере — 10-кратное
Затем нажмите «Продолжить».

Режим позиции имеет значение. В режиме «One Way» для инструмента поддерживается только одна чистая позиция. Режим «Hedge» позволяет одновременно поддерживать длинные и короткие позиции на торговых площадках, которые это поддерживают. Логика, изложенная в данном руководстве, рассчитана на режим «One Way» и не должна применяться к режиму «Hedge» без соответствующей адаптации проверок позиций.
В данной конфигурации Extended не поддерживает мультимаржу или перекрестное обеспечение. Торговля на каждом рынке осуществляется по отношению к соответствующему котируемому активу, поэтому перед запуском бота на счете должно быть достаточное количество соответствующего котируемого актива.
Использованный в данном примере коэффициент кредитного плеча 10x служит лишь для демонстрации настройки и не должен рассматриваться как рекомендуемое значение.
Шаг 4: Начните с готового шаблона или создайте с нуля
Origami Tech предоставляет готовые настройки стратегий торговли криптовалютами, которые можно импортировать и настраивать. Готовая настройка может помочь вам понять доступные входные данные, функции и результаты, но её не следует рассматривать как гарантию доходности.
Для этого руководства создайте стратегию с нуля. Откройте редактор ботов, при необходимости удалите существующие слои сетки и добавьте новый слой сетки.
Перед тем как создавать собственную конфигурацию, вы также можете ознакомиться с пресетом «Futures | One Way | RSI Pivot Grid MM ». Он использует пивоты RSI с одноминутной периодичностью, корректирует спред и размер ордера по мере изменения позиции, а также размещает ордера на выход вблизи цены безубыточности с небольшим диапазоном тейк-профита.

Шаг 5: Настройте необходимые выходы сетки
Каждый слой сетки требует четырех выходов:
- Цена исполнения
- Суммы заказов
- Количество заказов на покупку
- Количество ордеров на продажу
Для начала создайте отдельные переменные для цен и объемов покупки и продажи. Затем направьте вывод данных в соответствии со стороной ордера. Вывод execute_price использует переменную price_buy для ордера на покупку и price_sell для ордера на продажу. Соответствующий объем возвращается через execute_volume.
В данном примере установите количество ордеров на покупку и количество ордеров на продажу равным одному.

На данном этапе в выражениях могут по-прежнему возникать ошибки, связанные с неопределенными переменными. Это нормально до тех пор, пока не будут добавлены переменные «candle», «RSI», «price» и «amount».
Шаг 6: Добавление сигналов RSI с периодом в одну минуту
Создайте переменную `candles_`, которая будет ссылаться на свечи фьючерсов с интервалом в одну минуту с помощью функции `candles_futures('m1')`. Однократное определение ряда свечей позволяет сократить длину остальных выражений и упростить их анализ.
Затем определите два пороговых значения RSI:
- Длинный порог: 30
- Минимальное значение: 70
Используйте расчёт RSI для определения цены, соответствующей каждому пороговому значению. Покупатели должны реагировать на пороговое значение для открытия длинной позиции, а продавцы — на пороговое значение для открытия короткой позиции.

Будьте осторожны при дублировании выражений между сторонами. Если выражение для продажи ссылается на пороговое значение длинной позиции, в Grid Simulation могут отобразиться одинаковые цены покупки и продажи. В выражении для покупки необходимо использовать пороговое значение длинной позиции, а в выражении для продажи — пороговое значение короткой позиции.
Именно поэтому моделирование следует пересматривать после каждого существенного изменения.
Шаг 7: Указать стоимость заказа и рассчитать количество
В данном примере значение quote_usd установлено равным 20, поэтому каждый ордер соответствует примерно 20 долларам.
Origami Tech отправляет сумму в виде количества токенов или контрактов, а не в виде фиксированной суммы в долларах. Рассчитайте amount_buy как quote_usd / execute_price и примените тот же расчет к amount_sell. Полученное количество зависит от цены исполнения. Когда цены покупки и продажи различаются, их количества также будут различаться, даже если оба ордера представляют примерно одинаковую стоимость.
После определения переменных количества обновите окно «Grid Simulation». Вы должны увидеть один ордер на покупку и один ордер на продажу с рассчитанными ценами и количествами.

Теперь этот уровень может формировать ордера, но пока не учитывает открытые позиции. Без дополнительных условий он может продолжать размещать одни и те же ордера на вход, независимо от текущего объема открытых позиций.
Шаг 8: Определение текущего положения
Создайте переменную текущей позиции в виде position('one_way', 'cross'). Затем стратегия использует доступный объем позиции, чтобы определить, открыта ли в данный момент позиция, длинная позиция или короткая позиция.
В рамках данной стратегии на основе доступного количества позиций выделяются три состояния:
- Ноль: открытых позиций нет
- Выше нуля: открыта длинная позиция
- Ниже нуля: открыта короткая позиция
Формулы расчета цены проверяют, равно ли значение position_available_quantity нулю. Если условие выполняется, бот использует исходную логику входа по RSI. Если условие не выполняется, бот переключается на логику усреднения вокруг цены безубыточности позиции.
Эта проверка положения превращает первый уровень из генератора повторяющихся сигналов в крипто-бота для торговли по сетке, учитывающего текущее положение.
Шаг 9: Ограничить начальную запись данными книги заказов
Цена, рассчитанная на основе индикатора RSI, может оказаться неактуальной в условиях быстрого движения рынка. Чтобы избежать размещения первоначального ордера по менее выгодному уровню, сопоставьте сигнальную цену с текущими данными книги заказов.
При открытии длинной позиции сравните уровень входа, определенный по индикатору RSI, с текущей лучшей ценой спроса и выберите более подходящий уровень покупки. При открытии короткой позиции применять обратную логику, ориентируясь на текущую лучшую цену предложения.
Это не устраняет риск исполнения. Просто логика открытия позиции учитывает текущую книгу ордеров, а не опирается исключительно на цену индикатора.
Шаг 10: Добавление усреднения вокруг цены безубыточности
Если позиция уже открыта, первый уровень должен отказаться от использования первоначальной цены входа и рассчитать следующий ордер исходя из цены безубыточности позиции.
Установите интервал усреднения равным 1 %:
- Для длинной позиции следующий уровень покупки находится на 1 % ниже цены безубыточности.
- Для короткой позиции следующий уровень продажи находится на 1 % выше цены безубыточности.
При этом должно быть выполнено соответствующее условие по индикатору RSI. Таким образом, для открытия длинной позиции с усреднением необходимо выполнение условия RSI для длинной позиции, а для открытия короткой позиции с усреднением — условия RSI для короткой позиции.
Снова применяется ограничение по книге заказов, чтобы рассчитанная цена оставалась совместимой с текущей ценой спроса или предложения.

Скопировать запись и сетку усреднения
В приведенном ниже блоке представлена полная сетка ввода и усреднения. Установите флажок «Только публикация» и оставьте флажок «Только сокращение» отключенным.
execute_price = price_buy, если side == 'buy', иначе price_sell
execute_volume = amount_buy, если side == 'buy', иначе amount_sell
buy_orders_count = 1
sell_orders_count = 1
candles_ = candles_futures('m1')
price_buy = min(rsi_to_price(candles_, rsi_long_open), orderbook_futures().bid[0].price), если position_available_quantity == 0, иначе min(position_breakeven_price * (1 - gap), rsi_to_price(candles_, rsi_long_open), orderbook_futures().bid[0].price)
quote_usd = 20
amount_buy = quote_usd / execute_price
price_sell = max(rsi_to_price(candles_, rsi_short_open), orderbook_futures().ask[0].price), если position_available_quantity == 0, иначе max(position_breakeven_price * (1 + gap), rsi_to_price(candles_, rsi_short_open), orderbook_futures().ask[0].price)
amount_sell = quote_usd / execute_price
rsi_long_open = 30
rsi_short_open = 70
position_ = position('one_way', 'cross')
зазор = 0,01
Усреднение увеличивает размер риска и может привести к росту убытков, если рынок продолжит двигаться в направлении, противоположном позиции. Сама по себе частота усреднения не определяет полноценную стратегию «грид-трейдинга». Необходимо также учитывать лимиты позиций, доступный баланс, риск ликвидации, комиссии и рыночные условия.
Шаг 11: Добавьте закрывающий слой типа «Только уменьшение»
Теперь первый уровень обрабатывает начальные входы и усреднение, но не закрывает прибыльные позиции. Добавьте второй уровень сетки для выходов и включите параметр «Только сокращение».
В завершающем слое следует размещать ордера только при наличии открытой позиции:
- Если количество позиций меньше нуля, бот может разместить ордер на покупку для закрытия короткой позиции.
- Если количество позиций больше нуля, бот может разместить ордер на продажу, чтобы закрыть длинную позицию.
- Если количество позиции равно нулю, уровень не должен размещать заказ.
Рассчитайте цену закрытия позиции на основе цены безубыточности и настраиваемого целевого уровня прибыли, выраженного в виде десятичной дроби. Установите значение take_profit равным 0,002, что соответствует 0,2 %.
Для длинной позиции рассчитайте цену продажи как цену безубыточности × (1 + take_profit). Для короткой позиции рассчитайте цену покупки как цену безубыточности × (1 - take_profit). Укажите сумму таким образом, чтобы ордер закрыл всю открытую позицию.
Функция «Только уменьшение» здесь просто необходима. Без неё слишком большой или повторный ордер на закрытие может привести к тому, что счет перейдёт из закрытой позиции в новую позицию противоположной стороны.

Скопировать сетку «Только сокращение закрытия»
Включите для этого слоя параметры «Только публикация » и «Только сокращение ».
execute_price = price_buy, если side == 'buy', иначе price_sell
execute_volume = position_available_quantity
buy_orders_count = 1 if position_available_quantity < 0 else 0
sell_orders_count = 1, если position_available_quantity > 0, иначе 0
position_ = position('one_way', 'cross')
price_buy = price_breakeven_position * (1 - take_profit)
price_sell = position_breakeven_price * (1 + take_profit)
take_profit = 0,002
Шаг 12: Проверка результатов моделирования сетки
Перед сохранением бота обновите симуляцию сетки.
Проверьте следующее:
- Первый уровень возвращает не более одного ордера на покупку и одного ордера на продажу.
- Сторона покупателей использует пороговое значение RSI для длинных позиций.
- Сторона продавцов использует пороговое значение короткого RSI.
- Значения заказов преобразуются в ожидаемые договорные объемы.
- Начальные записи отображаются только в том случае, если позиция отсутствует.
- Средние цены рассчитываются на основе цены безубыточности.
- На длинных и коротких сторонах используются правильные данные по ценам спроса и предложения.
- Закрывающий слой срабатывает только при наличии позиции.
- Сумма вывода соответствует полному количеству позиций.
- Для закрывающего слоя включена функция «Только уменьшение».
Моделирование отражает, какую доходность слой обеспечил бы в данный момент. Оно помогает выявить неопределённые переменные, дублирующиеся условия, неверные стороны и неожиданные цены ещё до запуска бота. Оно не позволяет прогнозировать будущую доходность криптовалютного торгового бота.
Шаг 13: Сохранение и запуск бота
Когда оба слоя выдадут нужные результаты, сохраните конфигурацию и нажмите «Запустить бота».
Откройте терминал и перейдите в режим просмотра бота. Активные ордера должны отобразиться на графике и в таблице ордеров, где вы сможете просмотреть их цену, количество и сумму.

Если ордер, сгенерированный стратегией, будет отменен вручную, бот может разместить его повторно, пока его условия остаются в силе. Если вы не хотите, чтобы ордер создавался заново, отключите или настройте соответствующий уровень.
После запуска продолжайте отслеживать позицию, активные ордера, доступный баланс, комиссии и статус бота. Автоматизация избавляет от необходимости выполнять повторяющиеся действия вручную, но не избавляет от необходимости контролировать процесс.
Заключение
Этот бот для торговли криптовалютными фьючерсами разделяет полный цикл позиции на два уровня сетки.
Первый уровень анализирует данные RSI с одноминутной периодичностью, формирует сигналы на открытие длинных и коротких позиций, а также переходит к алгоритму усреднения, если позиция уже открыта. Второй уровень использует цену безубыточности и настраиваемый целевой уровень прибыли для закрытия всей позиции в режиме «Только сокращение».
Полученный рабочий процесс проще анализировать, чем одно большое выражение, поскольку правила открытия, усреднения и закрытия остаются логически раздельными. Затем функция «Моделирование сетки» проводит окончательную проверку ордеров, которые каждый слой вернет, прежде чем бот начнет работу.
Используйте приведенный пример в качестве исходной структуры, а не в качестве готовой рекомендации. Отрегулируйте параметры рынка, пороговые значения, сумму ордера, интервал усреднения, целевой уровень прибыли, кредитное плечо и лимиты риска в соответствии с результатами ваших собственных тестов и условиями вашего счета.
Торгуйте с умом с помощью Origami Tech
Выведите свою торговлю криптовалютами на новый уровень с помощью нашего мощного терминала автоматической торговли. Максимизируйте прибыль, минимизируйте риски и будьте на шаг впереди рынка 24/7.



.jpeg)