Page cover

📈PerpLand

📚 Описание проекта

Perp DEX - новый тренд в крипте с фармом поинтов на большом количестве разных площадок со фьючерсами. Мы для себя выбрали следующие: Backpack, Lighter, Paradex. Наш софт помогает открывать зеркальные позиции, накручивать объемы и экономить огромное количество сил и времени при отработке.

  • Затраты на Backpack 1 acc: 400-500$ acc

  • Затраты на Paradex 1 acc: 400-500$ acc

  • Затраты на Lighter 1 acc: 40$ acc

  • Ожидаемый профит: Lighter x7 к затратам Paradex x3-4 к затратам Backpack x2 к затратам

Подробное описание проектов в этом посте: ТЫК


🚀 Доступные в софте активности

Поддерживаемые Perp
  • Поддерживается 3 проекта: Backpack, Lighter, Paradex

  • Возможно использовать любые связки бирж из доступных. Например: Backpack + Lighter, Backpack + Paradex, Lighter + Paradex и тд

  • Хеджирование Lighter + Lighter + Lighter/Backpack +Backpack +Backpack /Paradex+Paradex+Paradex (стратегия с 3 аккаунтами)

Объемы
  • Автоматический или ручной подбор аккаунтов

  • Зеркальное открытие лимитных ордеров на двух биржах

  • Закрытие всех позиций отдельной функцией

  • Возможность ожидания положительного спреда для закрытия позиций в плюс по PNL

  • Статистика по аккаунтам и позициям

Особенности

  • Бот проверяет баланс на двух запущенных аккаунтах и берет в работу ту сумму, где баланс меньше

  • Работа с DEX через WebSocket для высокой производительности и минимальной задержки

  • Хедж-стратегии с учётом спредов и фандинга

  • Защитные механизмы — автоматическое закрытие позиций при фатальных ошибках и ликвидациях

  • Детальная статистика с учетом всех реальных доходов и потерь (комиссии, фандинг, неудачные позиции и т.д.)

  • Выбор стратегий, включая те, что оптимизированы под конкретные пары и биржи

  • Возможность комбинировать любые поддерживаемые DEX'ы между собой

  • Комьюнити для отслеживания новых вариантов отработки проекта и внедрение этого в софт

За дальнейшими обновлениями можно следить в нашем паблике: https://t.me/oxygen_tools


⚙️ Установка

Требования:

Скачивание:

  1. Перейти в нашего бота: https://t.me/OduLandBot?start=r_oxygen_x

  2. Личный кабинет -> Доступ к софтам -> Выбрать интересующий вас продукт

Скачивание продукта

▶ Первый запуск

  1. Разархивируйте софт в удобное для вас место на вашем ПК

  2. Запуск производится через .exe файл в корне с софтом. После первого запуска в директории появятся все нужные файлы конфигов

  3. Настройте данные для запуска:

  • Заполните файлы с данными от аккаунтов (форматы данных будут расписаны ниже)

  • Установите оптимальные настройки под ваши требования в config.json

Запуск софта

✅ Настройка и начало работы

Гайд по созданию .txt с аккаунтами:

Создание файла с данными

Настройки Backpack

📁 config/backpack/accounts.txt

Формат - label,apiKey,apiSecret,proxy

label - обязательная метка для обозначения аккаунта apiKey - API ключ аккаунта для доступа к открытию позиций apiSecret - API секретная фраза для доступа к открытию позиций proxy - прокси аккаунта

Как получить apiKey и apiSecret:

  1. Зайдите в свой аккаунт Backpack

  2. Перейдите в портфолио

  3. Внизу нажмите Settings

  4. Выберите вкладку API Keys

  5. Нажмите на кнопку New API key

Создание apiKey + apiSecret

Настройки Lighter

📁 config/lighter/accounts.tx

Формат - label,seed,l1Address,index,proxy

label - обязательная метка для обозначения аккаунта seed - сид аккаунта из консоли l1Address - адрес привязанного EVM-кошелька index - индекс аккаунта из консоли proxy - прокси аккаунта

Как получить seed и index:

  1. Зайдите в свой аккаунт Lighter через браузер

  2. Откройте консоль разработчика (нажмите F12)

  3. Вставьте команду ниже и нажмите Enter

  4. seed и index появятся в логах, их можно скопировать

const [index, obj] = Object.entries(JSON.parse(localStorage.getItem('signature')))[0];
console.log('index:', index);
console.log('seed:', obj.seed);
Получение Index + Seed (F12 -> Console -> Снизу вставляем код и нажимаем Enter)

📁 config/lighter_config.json

slippage - проскальзывание, используемое при открытии позиций

‼️Возможные ошибки

  1. Invalid signature Lighter сменил seed для аккаунта, нужно скопировать новые данные seed и index из браузера и вставить в бота. Это случается если вы авторизовались в аккаунт Lighter с новой подписью после очистки кэша в браузере или с нового антидетект профиля.


Настройки Paradex

📁 config/paradex/accounts.tx

Формат - label,ethereumPrivateKey,paradexAddress,paradexPrivateKey,proxy

label - обязательная метка для обозначения аккаунта ethereumPrivateKey - приватный ключ кошелька связанного с Paradex аккаунтом paradexAddress - адрес аккаунта Paradex paradexPrivateKey - приватный ключ аккаунта Paradex proxy - прокси аккаунта

Как получить paradexAddress и paradexPrivateKey:

  1. Зайдите в свой аккаунт Paradex

  2. Нажмите на адрес кошелька справа сверху

  3. Скопируйте Paradex Address и Paradex Private Key

Экспорт paradexAddress + paradexPrivateKey (Адрес -> Wallet)

config.json

Все настройки уже выведены в стандартное положение, и можно в принципе использовать для работы. Но так же можно настроить под себя и свои стратегии:

Все timeout в файле указываются в миллисекундах

random_pairs - будет ли бот случайным образом подбирать аккаунты 1 к 1, или вы хотите указать самостоятельно пары. Если false, то: pairs.txt -> и с новой строки указываете какие label с каким будут в паре, пример: Osnova1,Osnova6 Osnova3,Osnova5 и тд

max_leverage - какое максимальное кредитное плече использовать min_balance - какой минимальный баланс должен быть на одной из бирж для старта торгов balance_percentage_range - какой баланс использовать для прокрута markets - список торговых пар для отработки cycles - кол-во кругов что сделает бот перед остановкой sleep_between_hedge - задержка между кругами (циклами) retries - если бот за N попыток не смог открыть хедж, то все запланированные хеджи для этих аккаунтов отменяются, а также бот будет 5 раз проверять нет ли открытых позиций и закрывать если есть

use_funding - если true бот будет учитывать фандинг при расчёте спреда (работает только при двух аккаунтах в группе). Это позволяет правильно открывать позиции при противоположных ставках фандинга на двух DEX.

balance_percentage_range - какой баланс использовать для прокрута

min_live_time - сколько по времени держать позицию открытой wait_spread_timeout - при выборе пары, сколько ждать подходящий спред. если за указанное время не будет подходящих цен для открытия ордера, то бот выберет новую пару wait_order_fill_timeout - сколько ожидать заполнение ордеров. бот открывает ордера лимитками, и если на 1 бирже она заполнилась за отведенное время, а на другой нет, то бот закроет по маркету первую позицию и начнет искать новую пару wait_close_spread_timeout - закрывать ли позицию после min_live_time если неподходящий спред. Если false, то бот будет бесконечно ждать пока не появится возможность закрыть позицию в 0, или в указанные вами спреды . Если true, то бот будет ждать wait_spread_timeout, и если не смог дождаться нужной разницы, то просто закроет 2 позы с текущих значений

OXYGEN_API_KEY - API Ключ вашего Oxygen.Tools аккаунта для доступа к софтам

Логин, Пароль, API Ключ — находятся в личном кабинете телеграм бота https://t.me/OduLandBot?start=r_oxygen_x Личный кабинет -> Доступ к софтам -> API Ключ

Авторизация

groups.txt

В этом файле вы можете настроить какие аккаунты будут хеджироваться друг с другом.

Доступные стратегии:

  • 2 аккаунта (например: backpack + paradex)

  • 3 аккаунта (например: lighter1 + lighter2 + lighter3) *работает только для связки аккаунтов одной биржи

Форматы данных:

  • 2 аккаунта — backpack1,lighter1

  • 3 аккаунта — lighter1,lighter2,lighter3;50,20-25,20-30

Бот автоматически распознает связки аккаунтов указанные в файле, меняет стратегию если 2 биржи или 3 биржи.

Что значит количество аккаунтов, и для чего это нужно?:

2 аккаунта Бот открывает на одной бирже лонг на 50% суммы, а на другой шорт так же на 50%. Привычный способ отработки перпов.

3 аккаунта Бот открывает на одном аккаунте биржи лонг/шорт на 50% суммы, а на двух остальных зеркальную сделку на те же 50% суммы, но которая разделится на два аккаунта.

Формат - lighter1,lighter2,lighter3;50,20-25,20-30

50,20-25,20-30 - это распределение ликвидности между аккаунтами. Можно указывать как точные значения - 50,27,23 , так и плавающие - 50,20-25,20-30 (бот будет рандомить)

Например: вы указали такие значения - 50,20-25,20-30 Распределение для группы аккаунтов по итогу может быть следующим: Аккаунт 1 - 50% от суммы Аккаунт 2 - 22% от суммы Аккаунт 3 - 28% от суммы

Стратегия на 3 аккаунта сделана для точечной отработки одной биржи. Например если вы хотите крутить только Lighter.

При отработке одной биржи на 2 аккаунтах — на одном лонг, а на другом шорт, вы получите блокировку с шансом 98%. Но если вы используете 3 аккаунта, то шанс поймать блокировку стремится к 0%. Бот будет брать 1 аккаунт за главного, при чем каждый раз разного, и открывать полную позицию, а противоположную сделку разделит на другие аккаунты поровну.

Так если lighter1 откроет лонг на 500$, то lighter2 и lighter3 откроют шорты на 500$ общей суммы но с распределением, которое вы указали в формате (например 220$ и 280$).

Пример стратегии на 3 аккаунта

🧠 Логика софта

Чтобы лучше понять за что отвечают все настройки и каким алгоритмам следует бот мы сделали этот блок, где в наглядных примерах объясняются процессы поиска монет, работы с ордерами и прочее.

Поиск монеты

  1. Выбирает случайную монет из списка markets

  2. Ждёт на ней подходящий min_spread по таймеру из open_spread_timeout

  3. Если за open_spread_timeout не удалось дождаться нужного min_spread, то выбирает другую случайную монету из markets

Открытие сделки

Сделки открываются на % от баланса, который указан в balance_percentage_range

  1. Как только бот находит нужный min_spread на выбранной монете, он анализирует стакан под ваш объём предполагаемого ордера, и если всё хорошо, то он выставляет лимитный ордер на двух биржах

  2. Ожидание заполнения выставленных ордеров длиться wait_order_fill_timeout 2.1 Если по какой-то причине на одной из бирж за время wait_order_fill_timeout не заполнился полностью ордер, то бот продаёт позиции на двух биржах по маркету (запоминает объём и записывает комиссии, но отобразит это только в таблице с подсчетом успешного круга открытия и закрытия)

Жизнь ордера

Бот будет держать открытыми заполненные позиции на биржах ориентируясь на min_live_time, после его окончания перейдет к закрытию сделки.

Отслеживание ликвидаций

В случае ликвидации какой-либо позиции в группе аккаунтов, бот останавливает поток, отменяет все запланированные хеджи для группы и закрывает открытые позиции.

Закрытие сделки

  1. Бот начинает ожидание спреда от "0 до min_spread" на монете. Если в настройке use_close_spread_timeout стоит true, то ориентируется на время из wait_close_spread_timeout. Если false, то ждёт бесконечно

  2. Как только бот видит подходящий min_spread в стакане, он выставляет ордера на продажу и ждёт wait_order_fill_timeout. Если за время wait_order_fill_timeout на какой-то из бирж бот не дождался полного заполнения ордера, то он обе биржи закрывает по маркету

  3. Если use_close_spread_timeout установлен на true, то он начинает искать возможность закрытия в диапазоне между "0 и min_spread". Это ожидание длиться столько же, сколько и время wait_close_spread_timeout.

  4. Если бот не смог дождаться спреда даже в 0, то начинает искать в диапазоне от "минус min_spread до плюс min_spread", например: от -0.04% до 0.04%. Проверка такого диапазона будет длиться wait_close_spread_timeout.

  5. Если даже так дождаться не удалось, то закрывает ордера по маркету


Все дальнейшие обновления будут публиковаться в нашем паблике: https://t.me/oxygen_tools

Ветка в закрытом комьюнити для обсуждения: https://t.me/c/1908008923/61461/64129

Интерфейс софта

Last updated

Was this helpful?