[TOC]

Большинство людей, торгующих контрактами, наверняка сталкивались с маржин-коллом. В лучшем случае вы теряете часть капитала; в худшем — всё. Но задумывались ли вы когда-нибудь о том, что момент ликвидации вашей сделки был зафиксирован?
Биржа будет передавать информацию в режиме реального времени по каждой ликвидированной позиции: монету, направление, сумму и время. Это…Очистка данных。
2026-03-10 13:10:19 Данные о ликвидации: {“s”:“DEXEUSDT”,“S”:“BUY”,“o”:“LIMIT”,“f”:“IOC”,“q”:“30.99”,“p”:“5.427000”,“ap”:“5.347646”,“X”:“FILLED”,“l”:“17.21”,“z”:“30.99”,“T”:1773119419184} 2026-03-10 13:10:18 Данные о ликвидации: {“s”:“BEATUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“21”,“p”:“0.3503000”,“ap”:“0.3573000”,“X”:“FILLED”,“l”:“4”,“z”:“21”,“T”:1773119418458} 2026-03-10 13:10:18 Данные о ликвидации: {“s”:“COAIUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“35”,“p”:“0.2968000”,“ap”:“0.3115000”,“X”:“FILLED”,“l”:“35”,“z”:“35”,“T”:1773119418118} 2026-03-10 13:10:18 Данные о ликвидации: {“s”:“AIAUSDT”,“S”:“BUY”,“o”:“LIMIT”,“f”:“IOC”,“q”:“537”,“p”:“0.0844900”,“ap”:“0.0823800”,“X”:“FILLED”,“l”:“10”,“z”:“537”,“T”:1773119418118} 2026-03-10 13:10:09 Данные о ликвидации: {“s”:“BABYUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“1965”,“p”:“0.0161200”,“ap”:“0.0162300”,“X”:“FILLED”,“l”:“1376”,“z”:“1965”,“T”:1773119409616} 2026-03-10 13:10:08 Данные о ликвидации: {“s”:“MBOXUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“372”,“p”:“0.0173800”,“ap”:“0.0178100”,“X”:“FILLED”,“l”:“372”,“z”:“372”,“T”:1773119408667} 2026-03-10 13:10:07 Данные о ликвидации: {“s”:“GALAUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“23717”,“p”:“0.00337”,“ap”:“0.00341”,“X”:“FILLED”,“l”:“23717”,“z”:“23717”,“T”:1773119407235} 2026-03-10 13:10:04 Данные о ликвидации: {“s”:“RIVERUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“17.7”,“p”:“10.945000”,“ap”:“11.109943”,“X”:“FILLED”,“l”:“3.3”,“z”:“17.7”,“T”:1773119404767} 2026-03-10 13:10:04 Данные о ликвидации: {“s”:“ROBOUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“3000”,“p”:“0.0445100”,“ap”:“0.0451800”,“X”:“FILLED”,“l”:“3000”,“z”:“3000”,“T”:1773119404308} 2026-03-10 13:09:47 Данные о ликвидации: {“s”:“RIVERUSDT”,“S”:“BUY”,“o”:“LIMIT”,“f”:“IOC”,“q”:“48.1”,“p”:“11.287000”,“ap”:“11.122577”,“X”:“FILLED”,“l”:“17.7”,“z”:“48.1”,“T”:1773119387280} 2026-03-10 13:09:45 Данные о ликвидации: {“s”:“DENTUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“827079”,“p”:“0.000253”,“ap”:“0.000257”,“X”:“FILLED”,“l”:“827079”,“z”:“827079”,“T”:1773119385320} 2026-03-10 13:09:44 Данные о ликвидации: {“s”:“BULLAUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“526”,“p”:“0.0203300”,“ap”:“0.0213800”,“X”:“FILLED”,“l”:“526”,“z”:“526”,“T”:1773119384220} 2026-03-10 13:09:40 Данные о ликвидации: {“s”:“DENTUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“554440”,“p”:“0.000253”,“ap”:“0.000257”,“X”:“FILLED”,“l”:“289977”,“z”:“554440”,“T”:1773119380709}
Анализ отдельных транзакций не очень информативен. Но если агрегировать все данные о ликвидациях, можно увидеть нечто очень интересное — где рыночный капитал находится под давлением, и в каком направлении он уже достиг критической точки. Данные о ликвидациях считаются важнейшей частью анализа ордеров; это кровавая запись, наиболее достоверное отражение капитала, и она не лжет.

Задача этой статьи очень проста:Используя данные клиринга в качестве основного сигнала, в сочетании с проверкой K-линий и анализом новостей, ИИ принимает комплексные решения, и, наконец, процесс автоматизируется с помощью рабочих процессов — 24 часа в сутки, без необходимости ручного мониторинга.

Позиции ликвидируются каждую минуту. Обычные ликвидации не являются сигналом; нам нужно обращать внимание на следующее…Статистические аномалии—Когда объем ликвидации определенной монеты за короткий период времени значительно превышает исторический показатель, это указывает на то, что слабые позиции в этом направлении активно закрываются.
После периода консолидации тенденция часто продолжается. В этом заключается основное предположение данной стратегии.
При большом количестве требований о внесении дополнительного обеспечения, как правило, применяются два оперативных подхода:
Риск движения против тренда заключается в том, что вы не знаете, закончилась ли эта волна ликвидаций. Если длинные позиции продолжают ликвидироваться одна за другой, и вы пытаетесь купить, это как плыть по водопаду – вы ловите не дно, а скорее падаете вниз.
Поэтому эта стратегияВыберите плыть по течению.— При закрытии длинных позиций открываются короткие позиции; при закрытии коротких позиций открываются длинные позиции.
Использование исключительно данных о требованиях о внесении дополнительного обеспечения для принятия решений дает грубый сигнал, легко подверженный влиянию шума. Поэтому мы добавили к данным о требованиях о внесении дополнительного обеспечения еще два слоя:
В конечном итоге, ИИ принимает окончательное решение, основываясь на сочетании всех трех факторов.
Рабочий процесс имеет однострочную структуру и запускается один раз через фиксированные интервалы времени. Полный процесс выглядит следующим образом:
Весь процесс останавливается, если условия не соблюдены, и продолжается, если они соблюдены, без необходимости ручного вмешательства.
При первоначальном запуске необходимо установить базовые исторические данные. Это включает в себя подключение к каналу отправки данных о ликвидации контрактов Binance через WebSocket для непрерывного сбора данных о ликвидации в течение определенного периода времени и сохранения их в глобальной переменной.
Каждая запись данных содержит четыре поля: метка времени, валюта, направление ликвидации и сумма ликвидации. В процессе сбора данных отфильтровываются два типа данных: неполностью выполненные ордера на ликвидацию и зашумленные данные с чрезмерно малыми суммами. После сбора данные записываются в постоянное хранилище и помечаются как инициализированные; последующие триггеры будут пропускать этот узел.
//此段代码节选自源码
var ws = Dial('wss://fstream.binance.com/ws/!forceOrder@arr')
while (Date.now() < endTs) {
var msg = ws.read(1000)
try {
var obj = JSON.parse(msg)
var orders = Array.isArray(obj) ? obj : [obj]
for (var i = 0; i < orders.length; i++) {
var item = orders[i]
if (!item || !item.o) continue
var o = item.o
if (o.X !== 'FILLED') continue
if (EXCLUDE[o.s]) continue
if (!/USDT$/i.test(o.s)) continue // ✅ 只处理USDT结尾
var price = parseFloat(o.ap || o.p)
var qty = parseFloat(o.z)
var value = price * qty
if (value < MIN_VALUE) continue
liquidationData.push({
t: item.E || Date.now(),
s: o.s,
d: o.S,
v: value
})
totalNew++
}
} catch(e) {}
}
_G('liquidationData', liquidationData) // 持久化存储
_G('liqInitialized', true) // 标记初始化完成
При каждом срабатывании сначала собираются новые данные о ликвидации с использованием WebSocket и добавляются в окно истории, а затем для каждой валюты выполняется обнаружение аномалий с помощью Z-Score.
Основная идея Z-показателя:
Данные о ликвидации за базовый период времени делятся на сегменты равной длины, и в каждом сегменте регистрируется общая сумма ликвидации. Затем сумма ликвидации за последний период мониторинга сравнивается со средним значением по всем историческим сегментам базового периода времени для расчета степени отклонения. Только если отклонение превышает пороговое значение, оно считается аномальным.
//此段代码节选自源码
var mean = hist.reduce(function(s, v) { return s + v }, 0) / hist.length
var std = Math.sqrt(
hist.reduce(function(s, v) { return s + Math.pow(v - mean, 2) }, 0) / hist.length
)
var z = std > 0 ? (rec - mean) / std : 0
if (z < ZSCORE_THRESH || rec <= 0) continue
Преимущества такого подхода заключаются в следующем:АдаптивныйДля активных монет существуют активные бенчмарки, а для непопулярных — непопулярные. Поэтому ложных срабатываний из-за большого объема торгов той или иной монетой не будет.
Одного количества недостаточно; нам также необходимо учитывать…Является ли это направление чистым?:
//此段代码节选自源码
var longRatio = total > 0 ? st.longV / total : 0.5
var direction = null
if (longRatio > DIR_THRESH) direction = 'SHORT' // 多头主爆 → 顺势做空
else if (longRatio < 1 - DIR_THRESH) direction = 'LONG' // 空头主爆 → 顺势做多
if (!direction) continue // 多空混爆 → 方向不明,跳过
Сигнал срабатывает только при одновременном выполнении обоих условий: Z-показатель превышает пороговое значение, а доля ликвидированных длинных или коротких позиций превышает 75%. Если одновременно ликвидируются как длинные, так и короткие позиции, направление неясно, поэтому этот шаг пропустим.
После срабатывания сигнала позиция не будет открыта немедленно. Вместо этого она поступит в узел дополнения данных для подготовки более полного контекста для последующего принятия решения искусственным интеллектом.
Раздел «Свечие графики»:Проанализируйте несколько последних 1-минутных свечных графиков для этой криптовалюты, рассчитайте изменения цены и волатильность, определите текущее направление тренда на свечном графике и сравните его с направлением сигнала о ликвидации, чтобы определить, насколько они соответствуют друг другу. Если сигнал указывает на возможность коротких продаж, но свечной график по-прежнему демонстрирует восходящий тренд, его надежность следует снизить.
Раздел новостей:Поисковый интерфейс Brave выдает последние новости по данной криптовалюте за день. Ликвидации, вызванные конкретными событиями, имеют гораздо более высокую вероятность продолжения тренда; однако, если ликвидация носит чисто технический характер и не связана с новостями, ИИ будет действовать более консервативно.
Получив оба типа данных, отправьте их в ИИ одновременно.
Получив данные о требованиях о внесении дополнительного обеспечения, графиках свечей и новостях, ИИ принимает решения в соответствии с заданной моделью принятия решений, в которой все три измерения являются неотъемлемыми:
Матрица принятия решений выглядит следующим образом:
| Интенсивность ликвидации | K-линия согласована | новости | принятие решений |
|---|---|---|---|
| мощный | да | иметь | Вход, высокая уверенность |
| мощный | да | никто | Начальный уровень, уровень уверенности |
| мощный | нет | иметь | Подождем и увидим |
| Внутри | да | иметь | Начальный уровень, уровень уверенности |
| Внутри | Нет или ничего | — | Въезд запрещен |
Искусственный интеллект выдает структурированный результат, включающий направление, решение, уровень уверенности и обоснование. Только сигналы на вход с уровнем уверенности, достигающим порогового значения, будут фактически инициированы для открытия позиции.
Основные компоненты Prompt следующие:
## 判断步骤
Step 1:爆仓强度
- Z-Score 超过高阈值且方向纯度极高 → 强信号
- Z-Score 达到基础阈值且方向纯度满足要求 → 中等信号
- 否则不入场
Step 2:K线趋势
- 与爆仓方向一致 → 趋势延续概率高,加分
- 与爆仓方向相反 → 可能只是短暂清算而非趋势,减分
Step 3:新闻验证
- 有实质利空/利多且与方向一致 → 加分
- 无新闻 → 纯技术清算,降低置信度
- 新闻与方向相反 → 不入场
## 输出格式
严格返回JSON,无任何markdown包裹:
{
"symbol": "币种",
"direction": "LONG或SHORT",
"action": "入场/观望/不入场",
"confidence": "高/中/低",
"liq_note": "爆仓信号一句话评估",
"trend_note": "K线趋势一句话评估",
"news_note": "新闻一句话评估",
"action_reason": "综合决策理由一句话"
}
Как только ИИ принимает решение о выходе на рынок, торговый узел автоматически открывает позицию, одновременно беря на себя управление стоп-лоссом и обновляя панель визуализации.
Открытие вакансии:
Перед открытием позиции расставьте приоритеты сигналов в зависимости от уровня их достоверности, исполняя те, у которых этот уровень выше. Если у вас уже есть позиция по той же монете, и новый сигнал имеет более высокий уровень достоверности, закройте старую позицию перед открытием новой; если уровень достоверности ниже, чем у старой позиции, пропустите её. Как только размер позиции достигнет максимального предела, пропустите все последующие сигналы.
Начальный размер позиции, коэффициент кредитного плеча и максимальный размер позиции задаются с помощью внешних переменных, а количество контрактов рассчитывается динамически на основе цены текущей глубины рынка в режиме реального времени.
//此段代码节选自源码
// 计算开仓张数
var rawQty = OPEN_MONEY * CONFIG.LEVERAGE / refPrice / mkt.ctVal
var qty = floorToStep(rawQty, mkt.amtSize, mkt.amtPrec)
// 市价开仓
var side = direction === 'LONG' ? 'buy' : 'sell'
var oid = exchange.CreateOrder(swapSym, side, -1, qty)
Механизм стоп-лосса:
Механизм стоп-лосса использует двухступенчатый подход, при котором обе линии защиты действуют одновременно:
//此段代码节选自源码
if (pos.direction === 'LONG') {
var trailStop = pos.peak * (1 - TRAILING_PCT) // 移动止损价
var fallStop = pos.entryPrice * (1 - FALLBACK_PCT) // 兜底止损价
effectiveStop = Math.min(trailStop, fallStop)
if (cur <= effectiveStop) triggered = true
}
Панель визуализации:
После каждого выполнения в режиме реального времени обновляются три таблицы:

Вы можете в любой момент увидеть, как работает стратегия, без необходимости следить за рынком.
Вот полная логика этой стратегии:
Это исследование, посвященное усовершенствованию ИИ на основе традиционных клиринговых данных. Сами по себе клиринговые данные являются наиболее достоверным отражением рынка. После наложения на них свечных графиков и новостей достоверность сигналов эффективно повышается, а внедрение ИИ автоматизирует многомерное принятие решений.
Если вас интересуют стратегии, основанные на данных из блокчейна или микроструктуры рынка, пожалуйста, оставьте сообщение с отзывом. Это позволит нам разработать дальнейшие стратегии для других типов сигналов.
Исходный код стратегии: Стратегия следования за трендом на карте очистки