[TOC]

La plupart des personnes qui négocient des contrats à terme ont probablement déjà subi un appel de marge. Au mieux, vous perdez une partie de votre capital ; au pire, vous perdez tout. Mais avez-vous déjà pensé que le moment de votre liquidation était enregistré ?
La plateforme d’échange diffusera des informations en temps réel sur chaque position liquidée : la cryptomonnaie, le sens de la transaction, le montant et l’heure. C’est…Effacement des données。
2026-03-10 13:10:19 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“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 Données de liquidation : {“s”:“DENTUSDT”,“S”:“SELL”,“o”:“LIMIT”,“f”:“IOC”,“q”:“554440”,“p”:“0.000253”,“ap”:“0.000257”,“X”:“FILLED”,“l”:“289977”,“z”:“554440”,“T”:1773119380709}
Analyser une seule transaction n’est pas très pertinent. En revanche, en agrégeant toutes les données de liquidation, on découvre des informations très intéressantes : les zones de tension sur le capital de marché et les directions qui ont atteint leur point de rupture. Les données de liquidation sont considérées comme un élément crucial de l’analyse des ordres ; elles constituent un registre précis, le reflet le plus authentique du capital, et elles ne mentent pas.

L’objectif de cet article est très simple :En utilisant les données de compensation comme signal principal, combinées à la vérification de la ligne K et à l’analyse des actualités, l’IA prend des décisions complètes et, enfin, le processus est automatisé grâce à un flux de travail – 24 heures sur 24, sans besoin de surveillance manuelle.

Des positions sont liquidées en permanence. Les liquidations normales ne sont pas un signal d’alarme ; ce qu’il faut surveiller, c’est…Anomalies statistiques—Lorsque le volume de liquidation d’une certaine cryptomonnaie dépasse largement le seuil historique en peu de temps, cela indique que les positions faibles dans cette direction sont en train d’être liquidées de manière concentrée.
Après une période de consolidation, la tendance se poursuit souvent. C’est le principe fondamental de cette stratégie.
Face à un grand nombre d’appels de marge, il existe généralement deux approches opérationnelles :
Le risque de suivre le mouvement inverse est de ne pas savoir si cette vague de liquidations est terminée. Si les positions longues continuent d’être liquidées les unes après les autres et que vous essayez d’acheter, c’est comme essayer de rattraper une cascade : vous n’attraperez pas le bas, mais plutôt la chute.
Par conséquent, cette stratégieLaissez-vous porter par le courant.—Lorsque des positions longues sont liquidées, des positions courtes sont ouvertes ; lorsque des positions courtes sont liquidées, des positions longues sont ouvertes.
Se fier uniquement aux données d’appels de marge pour prendre des décisions fournit un signal grossier facilement influencé par le bruit. C’est pourquoi nous avons ajouté deux couches supplémentaires aux données d’appels de marge :
Finalement, l’IA prend la décision finale en se basant sur une combinaison des trois dimensions.
Le flux de travail utilise une structure sur une seule ligne, déclenchée une seule fois à intervalles fixes. Le processus complet est le suivant :
Le processus s’arrête si les conditions ne sont pas remplies et se poursuit dans le cas contraire, sans intervention manuelle.
Lors du démarrage initial, il est nécessaire d’établir des données de référence historiques. Cela implique de se connecter au canal de transmission des liquidations de contrats de Binance via WebSocket afin de collecter en continu les données de liquidation sur une période donnée et de les stocker dans une variable globale.
Chaque entrée de données comprend quatre champs : horodatage, devise, sens de la liquidation et montant de la liquidation. Lors de la collecte des données, deux types de données sont filtrés : les ordres de liquidation incomplets et les données aberrantes présentant des montants trop faibles. Une fois la collecte terminée, les données sont enregistrées de manière permanente et marquées comme initialisées ; les déclencheurs suivants ignoreront ce nœud.
//此段代码节选自源码
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) // 标记初始化完成
À chaque déclenchement, de nouvelles données de liquidation sont d’abord collectées via WebSocket et ajoutées à la fenêtre d’historique, puis une détection d’anomalies Z-Score est effectuée sur chaque devise.
L’idée centrale du score Z :
Les données de liquidation de la période de référence sont divisées en segments de durée égale, et le montant total des liquidations de chaque segment est enregistré. Ensuite, le montant des liquidations de la dernière période de suivi est comparé à la moyenne de tous les segments historiques de la période de référence afin de calculer l’écart. Seul un écart dépassant un certain seuil est considéré comme anormal.
//此段代码节选自源码
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
Les avantages de faire cela sontAdaptatifLes cryptomonnaies populaires ont des indices de référence pertinents, et les cryptomonnaies impopulaires ont des indices de référence moins connus. Il n’y aura donc pas de fausses alertes fréquentes du simple fait qu’une cryptomonnaie affiche un volume d’échanges important.
La quantité seule ne suffit pas ; il faut aussi considérer…La direction est-elle pure ?:
//此段代码节选自源码
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 // 多空混爆 → 方向不明,跳过
Un signal est déclenché uniquement si les deux conditions suivantes sont réunies simultanément : le score Z dépasse le seuil et la proportion de positions longues ou courtes liquidées dépasse 75 %. Si les positions longues et courtes sont liquidées simultanément, la direction est incertaine ; nous ignorons donc cette étape.
Une fois le signal déclenché, la position ne sera pas ouverte immédiatement. Elle passera d’abord par le nœud de complémentation de données afin de fournir un contexte plus complet pour le jugement ultérieur de l’IA.
Section graphique en chandeliers :Extrayez plusieurs graphiques en chandeliers japonais récents (échelle de 1 minute) pour cette cryptomonnaie, calculez les variations de prix et la volatilité, déterminez la tendance actuelle et comparez-la avec le signal de liquidation pour vérifier leur cohérence. Si le signal suggère une vente à découvert, mais que le graphique en chandeliers affiche toujours une tendance haussière, sa fiabilité est à relativiser.
Section Actualités :L’interface de recherche de Brave récupère les dernières actualités concernant cette cryptomonnaie pour la journée. Les liquidations déclenchées par des événements spécifiques ont une probabilité beaucoup plus élevée de poursuivre la tendance ; cependant, si la liquidation est purement technique et sans actualité, l’IA sera plus prudente.
Une fois que vous disposez des deux types de données, envoyez-les ensemble à l’IA.
Après avoir recueilli des données sur les appels de marge, les graphiques en chandeliers et l’actualité, l’IA émet des jugements selon un cadre de prise de décision fixe, où les trois dimensions sont indispensables :
La matrice de décision est la suivante :
| Intensité de liquidation | Ligne K cohérente | nouvelles | prise de décision |
|---|---|---|---|
| puissant | Oui | avoir | Entrée, grande confiance |
| puissant | Oui | aucun | Niveau de confiance à l’entrée |
| puissant | Non | avoir | Attentisme |
| Dans | Oui | avoir | Niveau de confiance à l’entrée |
| Dans | Non ou aucun | — | Entrée interdite |
L’IA génère un résultat structuré comprenant la direction, la décision, le niveau de confiance et la justification. Seuls les signaux d’entrée dont le niveau de confiance atteint un certain seuil déclencheront l’ouverture d’une position.
Les principaux composants de Prompt sont les suivants :
## 判断步骤
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": "综合决策理由一句话"
}
Une fois que l’IA décide d’entrer sur le marché, le nœud de trading exécute automatiquement l’ouverture de position et prend simultanément en charge la gestion des ordres stop-loss et les mises à jour du panneau de visualisation.
Ouverture d’un poste :
Avant d’ouvrir une position, hiérarchisez les signaux selon leur niveau de confiance et exécutez ceux qui sont les plus fiables. Si vous avez déjà une position sur la même cryptomonnaie et qu’un nouveau signal présente un niveau de confiance supérieur, fermez votre position actuelle avant d’en ouvrir une nouvelle. Si le niveau de confiance est inférieur à celui de votre position actuelle, ignorez-le. Une fois la taille de votre position maximale atteinte, ignorez tous les signaux suivants.
Le montant de la position d’ouverture, le ratio de levier et la taille maximale de la position sont tous configurés via des variables externes, et le nombre de contrats est calculé dynamiquement en fonction du prix en temps réel de la profondeur actuelle du marché.
//此段代码节选自源码
// 计算开仓张数
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)
Mécanisme de stop-loss :
Le mécanisme de limitation des pertes utilise une approche à deux niveaux, les deux lignes de défense fonctionnant simultanément :
//此段代码节选自源码
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
}
Panneau de visualisation :
Trois tableaux sont mis à jour en temps réel après chaque exécution :

Vous pouvez voir à tout moment l’évolution de la stratégie, sans avoir besoin de surveiller le marché.
Voici la logique complète de cette stratégie :
Il s’agit d’une exploration de l’amélioration par l’IA des données de compensation traditionnelles. Ces données constituent le reflet le plus fidèle du marché. Leur superposition avec des graphiques en chandeliers et des actualités renforce considérablement la crédibilité des signaux, et l’introduction de l’IA automatise la prise de décision multidimensionnelle.
Si vous êtes intéressé par des stratégies basées sur des données on-chain ou de microstructure de marché, n’hésitez pas à nous laisser un message pour nous faire part de vos commentaires. Nous pourrons ainsi développer des stratégies plus adaptées à d’autres types de signaux.
Code source de la stratégie : Stratégie de suivi de tendance de la carte de nettoyage