Постоянные ордера: Автоматизируйте покупку TRON energy 24/7
Ручной подход не масштабируется
Если вы покупаете TRON energy вручную, вы делаете это неправильно. Не потому, что процесс сложный — размещение ордера занимает секунды, — а потому, что рынок energy динамичен. Цены колеблются в течение дня. Делегирования истекают по установленному графику. Потребности вашего приложения в energy меняются в зависимости от объема транзакций. Управление всем этим вручную означает либо постоянную бдительность, либо пустую трату денег.
Постоянные ордера решают эту проблему, позволяя вам определить правила, которые выполняются автоматически, 24 часа в сутки, 7 дней в неделю. Когда условие выполнено — цена падает ниже вашего порога, расписание срабатывает или баланс energy становится слишком низким, — MERX размещает ордер от вашего имени с параметрами, определенными заранее.
Эта статья охватывает полную систему постоянных ордеров: типы триггеров, типы действий, контроль бюджета и практические паттерны, которые экономят больше всего денег.
Как работают постоянные ордера
Постоянный ордер — это заранее определенное правило, хранящееся в базе данных PostgreSQL MERX. Оно состоит из трех компонентов:
- Триггер — условие, которое активирует ордер
- Действие — то, что происходит при срабатывании триггера
- Ограничения — лимиты бюджета, частота выполнения и срок действия
Бэкенд MERX постоянно оценивает триггеры. Триггеры, основанные на цене, проверяются каждый раз при получении новой котировки цены от любого поставщика (обычно каждые 30 секунд). Триггеры, основанные на расписании, используют cron-выражения, оцениваемые сервером. Триггеры, основанные на балансе, проверяются периодически опросом состояния в цепи.
Когда триггер срабатывает и все ограничения соблюдаются, действие выполняется немедленно без какого-либо ручного вмешательства.
Создание постоянного ордера
Сервер MCP предоставляет постоянные ордера через инструмент create_standing_order:
Tool: create_standing_order
Input: {
"trigger": {
"type": "price_below",
"threshold": 0.00005,
"resource_type": "energy"
},
"action": {
"type": "buy_resource",
"params": {
"energy_amount": 500000,
"duration_hours": 24,
"target_address": "TYourAddress..."
}
},
"constraints": {
"max_daily_spend_trx": 100,
"max_executions_per_day": 3,
"expires_at": "2026-06-30T00:00:00Z"
}
}
Этот ордер будет покупать 500 000 energy на 24 часа, каждый раз когда рыночная цена падает ниже 0.00005 TRX за единицу energy, но не более 3 раз в день и не более чем на 100 TRX в день.
Типы триггеров
price_below
Срабатывает, когда лучшая доступная цена energy падает ниже вашего указанного порога.
{
"type": "price_below",
"threshold": 0.00005,
"resource_type": "energy"
}
Это самый распространенный триггер для оптимизации затрат. Цены на energy в TRON колеблются в зависимости от спроса и предложения. В часы низкого спроса (обычно 00:00–06:00 UTC) цены часто падают на 15–25% ниже пиковых уровней. Триггер price_below позволяет вам автоматически покупать energy в эти периоды без необходимости самостоятельно отслеживать цены.
Практический совет: Установите ваш порог на 25-й процентиль цен за последние 7 дней. Это означает, что вы покупаете, когда цены находятся в нижней четверти своего недавнего диапазона — достаточно дешево, чтобы сэкономить деньги, но часто достаточно, чтобы ваш адрес был снабжен.
schedule
Срабатывает по cron-расписанию независимо от рыночных условий.
{
"type": "schedule",
"cron": "0 */6 * * *"
}
Этот триггер срабатывает каждые 6 часов. Полезен для приложений с предсказуемыми потребностями в energy — если вы знаете, что ваше приложение обрабатывает большинство транзакций в рабочие часы, планируйте покупку energy так, чтобы она прибыла непосредственно перед нагрузкой.
Распространенные cron-паттерны:
"0 */6 * * *" - Каждые 6 часов
"0 8 * * 1-5" - Каждый рабочий день в 8:00 UTC
"*/30 * * * *" - Каждые 30 минут
"0 0 * * *" - Ежедневно в полночь UTC
balance_below
Срабатывает, когда доступная energy вашего адреса падает ниже порога.
{
"type": "balance_below",
"energy_threshold": 100000,
"check_address": "TYourAddress..."
}
Этот триггер реактивный — он гарантирует, что ваш адрес никогда не останется без energy, автоматически пополняя запас, когда баланс становится низким. В сочетании с действием buy_resource он создает самоподдерживающийся запас energy.
Как это работает: MERX периодически опрашивает баланс ресурсов указанного адреса в цепи (по умолчанию каждые 60 секунд). Когда доступная energy падает ниже порога, триггер срабатывает.
Важное примечание: Существует присущая задержка между падением баланса и поступлением новой energy (интервал опроса + размещение ордера + подтверждение делегирования). Установите порог достаточно высоким, чтобы ваш адрес не исчерпал запас в течение этого окна. Если ваше приложение расходует 50 000 energy в минуту, порог 100 000 дает вам примерно 2 минуты запаса — достаточно для пополнения MERX.
Типы действий
buy_resource
Покупайте energy или bandwidth на рынке.
{
"type": "buy_resource",
"params": {
"energy_amount": 500000,
"duration_hours": 24,
"target_address": "TYourAddress..."
}
}
Это стандартное действие для закупок energy. MERX автоматически выбирает самого дешевого доступного поставщика во время выполнения. target_address получает делегированную energy.
ensure_resources
Действие более высокого уровня, которое проверяет текущие ресурсы перед покупкой.
{
"type": "ensure_resources",
"params": {
"target_address": "TYourAddress...",
"energy_target": 500000,
"bandwidth_target": 5000
}
}
В отличие от buy_resource, который всегда покупает указанное количество, ensure_resources сначала проверяет, что уже есть у адреса, и покупает только дефицит. Если адрес уже имеет 300 000 energy, а целевое значение составляет 500 000, он покупает 200 000.
Это более безопасное действие для триггеров balance_below, так как оно предотвращает чрезмерную покупку, когда несколько триггеров срабатывают в быстрой последовательности.
notify_only
Отправьте уведомление без какого-либо действия в цепи.
{
"type": "notify_only",
"params": {
"channels": ["webhook", "telegram"],
"message": "Цена energy упала ниже порога"
}
}
Используйте это, когда вы хотите быть в курсе без автоматизации. Постоянный ордер отслеживает условие и оповещает вас, но вы принимаете решение о покупке вручную. Это хороший начальный вариант для команд, которые еще не совсем готовы к полностью автоматизированным покупкам.
Бюджетные лимиты и ограничения
Постоянные ордера без ограничений опасны. Триггер price_below без ограничения расходов может истощить весь ваш баланс при устойчивом снижении цены. MERX предоставляет несколько механизмов ограничения:
max_daily_spend_trx
Максимальное общее количество TRX, которое постоянный ордер может потратить в скользящем периоде 24 часа.
{
"max_daily_spend_trx": 200
}
После достижения этого лимита триггер продолжает срабатывать, но действие подавляется до тех пор, пока окно 24 часов не сдвинется вперед.
max_executions_per_day
Максимальное количество раз, когда действие может выполниться в скользящем периоде 24 часа.
{
"max_executions_per_day": 5
}
Это предотвращает быстрое выполнение в периоды волатильности. Даже если цена колеблется выше и ниже порога 20 раз в час, действие выполняется максимум 5 раз в день.
min_interval_minutes
Минимальное время между последовательными выполнениями.
{
"min_interval_minutes": 60
}
Это устанавливает период охлаждения. После выполнения действия триггер подавляется на 60 минут независимо от условий.
expires_at
Постоянный ордер автоматически деактивируется после этого момента времени.
{
"expires_at": "2026-06-30T00:00:00Z"
}
Всегда устанавливайте срок действия для постоянных ордеров. Забытый постоянный ордер, работающий бесконечно, — это источник проблем.
Total Budget
Жесткий лимит на общие расходы в течение всего срока действия постоянного ордера.
{
"max_total_spend_trx": 5000
}
Когда общие расходы в течение жизни достигают этого лимита, постоянный ордер окончательно деактивируется.
Каналы уведомлений
Постоянные ордера могут отправлять уведомления при активации триггера, успешном выполнении, ошибке выполнения и достижении бюджетного лимита.
Webhook
{
"notification_channels": [
{
"type": "webhook",
"url": "https://your-app.com/hooks/merx",
"headers": { "Authorization": "Bearer your-secret" }
}
]
}
Webhook получает JSON-полезную нагрузку с деталями триггера, выполненным действием и результатом выполнения.
Telegram
{
"notification_channels": [
{
"type": "telegram",
"chat_id": "-1001234567890"
}
]
}
MERX отправляет форматированное сообщение в указанный чат Telegram. Полезно для команд, которые отслеживают операции через группы Telegram.
Управление постоянными ордерами
Список активных ордеров
Tool: list_standing_orders
Response:
{
"standing_orders": [
{
"id": "so_abc123",
"trigger": { "type": "price_below", "threshold": 0.00005 },
"action": { "type": "buy_resource", "energy_amount": 500000 },
"status": "active",
"executions_today": 1,
"total_spent_trx": 247.50,
"created_at": "2026-03-15T10:00:00Z",
"last_executed": "2026-03-30T02:15:00Z"
}
]
}
Пауза и возобновление
Постоянные ордера можно приостановить без удаления. Приостановленный ордер сохраняет свою конфигурацию и историю выполнения, но не срабатывает.
Удаление
Безвозвратно удаляет постоянный ордер. История выполнения сохраняется в целях аудита.
Практические паттерны
Паттерн 1: Экономичное покрытие 24/7
Для приложений, которым нужно непрерывное покрытие energy с минимально возможными затратами:
Постоянный ордер 1:
Триггер: price_below 0.000045 TRX/energy
Действие: купить 1 000 000 energy на 24 часа
Ограничение: максимум 2 выполнения/день
Постоянный ордер 2:
Триггер: balance_below 200 000 energy
Действие: обеспечить ресурсы до 500 000 energy (1 час)
Ограничение: максимум 100 TRX/день
Ордер 1 покупает большие объемы дешевой energy при падении цен, обеспечивая 24-часовое покрытие. Ордер 2 — это предохранитель: если цены никогда не падают достаточно низко, чтобы активировать ордер 1, ордер 2 гарантирует, что адрес никогда не остается без energy, покупая по рыночной цене, когда баланс становится критически низким.
Паттерн 2: Оптимизация для рабочих часов
Для приложений с предсказуемыми часами пик:
Постоянный ордер 1:
Триггер: schedule "0 7 * * 1-5" (7:00 UTC, рабочие дни)
Действие: купить 2 000 000 energy на 12 часов
Ограничение: максимум 200 TRX/день
Постоянный ордер 2:
Триггер: schedule "0 19 * * 1-5" (19:00 UTC, рабочие дни)
Действие: купить 500 000 energy на 14 часов
Ограничение: максимум 50 TRX/день
Много energy перед рабочими часами, мало energy на ночь. Ордера на выходные могут быть отдельными с меньшими объемами.
Паттерн 3: Только уведомления о цене
Для команд, которые хотят принимать решения человеком при автоматизированном мониторинге:
Постоянный ордер:
Триггер: price_below 0.000040 TRX/energy
Действие: notify_only
Каналы: webhook + telegram
Сообщение: "Energy на историческом минимуме — рассмотрите крупную ручную покупку"
Никакой автоматической покупки. Команда получает оповещение, когда цены исключительно низкие, и может решить, размещать ли крупный ручной ордер.
Паттерн 4: Автоматическое масштабирование при переменной нагрузке
Для приложений, где объем транзакций меняется непредсказуемо:
Постоянный ордер 1:
Триггер: balance_below 500 000 energy
Действие: обеспечить ресурсы до 1 000 000 energy (1 час)
Ограничение: min_interval 15 минут, максимум 500 TRX/день
Постоянный ордер 2:
Триггер: balance_below 100 000 energy
Действие: обеспечить ресурсы до 500 000 energy (1 час)
Ограничение: min_interval 5 минут, максимум 1000 TRX/день
Ордер 1 обрабатывает обычную нагрузку с умеренными пополнениями. Ордер 2 — это высокоприоритетная подстраховка для скачков трафика с более коротким интервалом и больший бюджетом.
Постоянные ордера и интеграция с агентами
Для AI агентов постоянные ордера — это механизм постоянного поведения. Сеанс агента временный — когда соединение MCP закрывается, агент больше не может отслеживать цены или покупать energy. Постоянные ордера работают на сервере MERX, независимо от любого подключения клиента.
Агент может установить постоянные ордера во время одного сеанса и получить от них пользу во всех будущих сеансах:
Сеанс 1 (установка):
Агент создает постоянные ордера для покупок, основанных на цене
Агент создает мониторы баланса с автоматическим возобновлением
Сеанс 2 (несколько дней спустя):
Агент проверяет историю выполнения постоянного ордера
Energy было куплено автоматически 14 раз
Все транзакции выполнены с делегированной energy
Нулевое ручное вмешательство
Это путь к по-настоящему автономным блокчейн-операциям. Агент определяет правила один раз, и правила выполняются непрерывно.
Заключение
Ручное управление energy — решенная проблема. Постоянные ордера заменяют человеческий контроль автоматизированными правилами, которые выполняются быстрее, последовательнее и с меньшими затратами, чем любой ручной процесс.
Определите ваши триггеры. Установите ваши ограничения. Позвольте MERX сделать остальное.
Ваше приложение работает 24/7. Ваша закупка energy тоже должна.
Ссылки:
- Платформа MERX: https://merx.exchange
- MCP сервер (GitHub): https://github.com/Hovsteder/merx-mcp
- MCP сервер (npm): https://www.npmjs.com/package/merx-mcp
Попробуйте прямо сейчас с AI
Добавьте MERX в Claude Desktop или любой MCP-совместимый клиент — установка не требуется, API ключ не нужен для инструментов только для чтения:
{
"mcpServers": {
"merx": {
"url": "https://merx.exchange/mcp/sse"
}
}
}
Попросите вашего AI агента: "Какова самая дешевая TRON energy прямо сейчас?" и получите текущие цены от всех подключенных поставщиков.
Полная документация MCP: merx.exchange/docs/tools/mcp-server