[TOC]

Si vous demandez à un trader quantitatif quelle est sa question la plus problématique, outre « comment trouver de bons signaux d’entrée », la réponse sera « où dois-je placer mon stop loss ? »
En matière de stop-loss, vous le regretterez si vous le placez trop tôt, mais vous le regretterez encore plus si vous le placez trop tard. Imaginez : vous voyez une cryptomonnaie réaliser un profit de 1,4 %, satisfait à l’idée d’attendre qu’elle atteigne votre objectif de 2 %, et soudain, elle dégringole, atteignant -0,1 % et déclenchant votre stop-loss.
Ce qui est encore plus décourageant, c’est que ce n’est pas un cas isolé, mais un problème récurrent. La courbe des bénéfices fluctue énormément, comme dans un film à suspense improvisé.
Cet article présente différentes méthodes de stop-loss que nous avons testées, basées sur une stratégie de rotation optimisée par l’IA. Nous espérons qu’elles pourront inspirer ceux qui rencontrent également des difficultés avec les ordres stop-loss.
Voici une brève introduction à notre cadre stratégique :

Cette stratégie permet effectivement d’identifier des cryptomonnaies prometteuses et de générer de bons rendements en suivant la tendance. Cependant, le marché des cryptomonnaies est extrêmement volatil, ce qui entraîne souvent des pertes importantes, voire des retournements de situation, et fait de la gestion des ordres stop-loss une préoccupation constante. C’est pourquoi nous avons entrepris une recherche approfondie de solutions pour la gestion des ordres stop-loss.

Le stop suiveur est la méthode de stop-loss la plus classique. Son principe est simple :
Suivez le point de profit le plus élevé depuis l’ouverture de la position et déclenchez un ordre stop loss lorsque le prix recule par rapport à ce point le plus élevé de plus d’un pourcentage défini.
La philosophie qui sous-tend cette approche est la suivante : « Je ne sais pas jusqu’où le prix peut monter, mais je sais que je dois vendre dès qu’il commence à baisser. »
// 核心逻辑
const currentPnl = (currentPrice - entryPrice) / entryPrice; // 当前盈亏
const drawdown = maxProfit - currentPnl; // 回撤幅度
// 更新最高盈利
if (currentPnl > maxProfit) {
maxProfit = currentPnl;
_G(symbolKey, maxProfit);
}
// 触发止损
if (drawdown >= TRAILING_STOP_PERCENT) {
closePosition(coin, "移动止损");
}
avantage:
défaut:

Puisqu’une approche « unique pour tous » en matière de déplacement du stop-loss n’est pas suffisamment précise, nous mettrons en place différentes stratégies en fonction des différents niveaux de profit.
Tout comme dans un jeu vidéo, vous pouvez prendre des risques dans le village de départ, mais vous devez être plus prudent lorsque vous êtes un personnage de niveau maximum avec un bon équipement.
Notre conception en couches :
| Plage de profit | Niveau de stop loss | modèle |
|---|---|---|
| < 0% | -1% | Protéger et stopper les pertes |
| 0% ~ 0.5% | 0% | Seuil de rentabilité et seuil de perte |
| 0.5% ~ 1% | +0.5% | Sécuriser les profits et limiter les pertes |
| 1% ~ 1.5% | +1% | Sécuriser les profits et limiter les pertes |
| 1.5% ~ 2% | +1.5% | Sécuriser les profits et limiter les pertes |
| ≥ 2% | Point le plus élevé : -1,5 % | Arrêt mobile |
const STOP_LOSS_TIERS = [
{ minProfit: -Infinity, maxProfit: 0.0001, stopAt: -0.01 },
{ minProfit: 0.0001, maxProfit: 0.005, stopAt: 0 },
{ minProfit: 0.005, maxProfit: 0.01, stopAt: 0.005 },
// ... 更多层级
{ minProfit: 0.02, maxProfit: Infinity, trailing: 0.015 }
];
// 根据最高盈利找到对应层级,返回止损位
function calculateStopLevel(maxProfit) {
for (let tier of STOP_LOSS_TIERS) {
if (maxProfit >= tier.minProfit && maxProfit < tier.maxProfit) {
return tier.trailing ? maxProfit - tier.trailing : tier.stopAt;
}
}
}
avantage:
défaut:

Puisqu’il s’agit d’une stratégie de suivi de tendance, simplifions l’approche, laissons courir les profits et n’utilisons que des ordres stop-loss. Parfois, la simplicité et la franchise sont des atouts.
Je me concentre uniquement sur la maîtrise des pertes ; quant aux gains potentiels, je laisse aux signaux de l’IA le soin de déterminer quand clôturer la position.
Il convient aux scénarios où vous croyez aux signaux d’entrée et où vous avez seulement besoin de contrôler la perte maximale.
// 简单到令人发指
if (currentPnl <= -FIXED_LOSS_PERCENT) {
closePosition(coin, "固定止损");
}
avantage:
défaut:

Les résultats n’ont pas été à la hauteur ; les profits sont souvent manqués. Puisqu’il est trop radical de se fier uniquement au stop-loss, examinons les deux extrêmes :
Parallèlement, je fixe des objectifs de profit et des limites de perte. Je sais ce que je veux et ce que je peux supporter.
Cela paraît très rationnel, comme devrait l’être un trader expérimenté.
// 止盈检查
if (currentPnl >= FIXED_PROFIT_PERCENT) {
closePosition(coin, "固定止盈");
}
// 止损检查
if (currentPnl <= -FIXED_STOPLOSS_PERCENT) {
closePosition(coin, "固定止损");
}
avantage:
défaut:

Les résultats restaient insatisfaisants ; la limite de prise de bénéfices, combinée à des signaux d’entrée instables, a engendré un ratio gains/pertes négatif. Puisqu’il est difficile de maîtriser les profits sur une seule paire de devises, changeons d’approche et combinons les statistiques de plusieurs devises.
Les niveaux de prise de bénéfices et de stop-loss sont calculés dynamiquement en fonction du nombre de positions détenues. La performance individuelle n’est pas prise en compte, l’important étant la rentabilité de l’équipe dans son ensemble.
Par exemple : si chaque position est de 100U, que vous détenez 3 positions, avec un objectif de profit de 0,1, alors l’objectif de profit = 3 × 100 × 0,1 = 30U ; l’objectif de stop-loss = 3 × 100 × -0,05 = -15U.
// 计算动态止盈止损额度
const profitTarget = positionCount * AMOUNT_PER_POSITION * PROFIT_RATIO;
const lossLimit = positionCount * AMOUNT_PER_POSITION * LOSS_RATIO;
// 检查总体盈亏
if (totalProfit >= profitTarget) {
closeAllPositions("止盈");
}
if (totalProfit <= -lossLimit) {
closeAllPositions("止损");
}
avantage:
défaut:

Après avoir essayé différentes méthodes de stop-loss, on peut parfois se retrouver face à un dilemme philosophique :
Le problème ne vient peut-être pas de ma méthode de stop-loss, mais du fait que je n’aurais pas dû utiliser le stop-loss automatique dès le départ.
Mode aléatoire : faites entièrement confiance aux signaux d’entrée et de sortie de l’IA, sans paramétrer de stop-loss automatique.
Le scénario:
if (STOP_MODE === "随缘") {
// 什么都不做,一切交给AI信号
return { status: "随缘模式", message: "不进行自动平仓" };
}
Bien que l’expression « laisser faire les choses » puisse paraître très décontractée, elle exige un réseau performant et une certaine force mentale. Les particuliers devraient l’utiliser avec prudence, sous peine de voir leurs fonds disparaître avant même qu’ils ne s’en rendent compte.
Ce qui précède décrit le cadre stratégique général des ordres stop-loss. Toutefois, des stratégies plus précises peuvent être mises en œuvre lors de leur exécution concrète.
Par exempleDispositif anti-perte d’insertion de broche:

Il existe un phénomène bien connu dans le monde des cryptomonnaies appelé « flash crash » — une fluctuation de prix soudaine et brutale suivie d’une reprise rapide, spécifiquement conçue pour piéger ceux qui ont placé des ordres stop-loss.
Une stratégie pour contrer cela :Au lieu d’arrêter immédiatement la perte, nous comptons le nombre de fois où la ligne de stop-loss est touchée dans un certain laps de temps, et nous n’arrêtons la perte que lorsque le seuil est atteint.
Le raisonnement est le suivant : s’il ne s’agit que d’une hausse passagère, le prix se redressera rapidement ; s’il s’agit d’un véritable renversement de tendance, il continuera à atteindre la ligne de stop-loss.
// 核心逻辑
let triggerCount = 0;
const THRESHOLD = 3; // 需要触及3次才真正止损
// 每次检查时
if (currentPnl <= STOP_LOSS_PERCENT) {
triggerCount++;
if (triggerCount >= THRESHOLD) {
closePosition(coin, "防插针止损");
triggerCount = 0;
}
} else {
triggerCount = 0; // 价格恢复,重置计数
}
Bien sûr, cela comporte aussi des risques : si le marché s’effondre réellement, vous pourriez subir des pertes encore plus importantes car vous « attendez une confirmation ». Par conséquent, cette stratégie est plus adaptée aux environnements de marché où les fluctuations de prix sont fréquentes.
Il existe de nombreux modèles similaires et raffinés, et l’idée de base reste la même :Dans le cadre de la stratégie globale, des optimisations ciblées sont réalisées pour des scénarios spécifiques.

Après avoir testé les méthodes ci-dessus, nous sommes parvenus à une conclusion quelque peu contre-intuitive :
La stratégie de stop-loss suiveur la plus simple est en fait celle qui donne les meilleurs résultats globaux dans cette approche.
Pourquoi ?
L’objectif de cette stratégie étant de sélectionner des cryptomonnaies très prometteuses, la hausse de certaines d’entre elles peut masquer les pertes des autres. Par conséquent, des ordres stop-loss mobiles plus flexibles permettent de mieux tirer parti des tendances.
Cependant, cela ne signifie pas que le stop suiveur soit une solution universelle pour toutes les stratégies. Notre conclusion est la suivante :
Honnêtement, nous n’avons pas complètement résolu le problème du stop-loss ; nous avons simplement trouvé une solution relativement acceptable à ce stade.
Plusieurs pistes méritent d’être explorées, selon nous :
Ajustement dynamique des paramètres en fonction de la volatilitéLes paramètres actuels du stop-loss sont fixes, mais la volatilité varie considérablement selon les devises et les phases de marché. Théoriquement, si le niveau du stop-loss pouvait être ajusté automatiquement en fonction de l’ATR (Tentatives d’ajustement des pertes) récent, il s’adapterait mieux au marché. Bien sûr, il y a souvent un grand écart entre la théorie et la pratique.
Des stratégies différentes sont utilisées pour chaque devise.Les fluctuations de prix du BTC et des altcoins étant totalement différentes, l’utilisation d’une même logique de stop-loss est intrinsèquement rudimentaire. Il serait sans doute préférable d’adapter automatiquement la méthode de stop-loss la plus appropriée en fonction de la volatilité historique de chaque cryptomonnaie.
En tenant compte du temps d’attenteDéfinir un ordre stop-loss plus strict à l’ouverture d’une position protège le capital. Plus la position est maintenue longtemps, plus la tendance est stable ; à l’inverse, plus la tendance est volatile, plus un stop-loss plus large est envisageable pour une plus grande flexibilité. Ce raisonnement semble logique, mais la conception précise de la fonction de dépréciation temporelle reste à approfondir.
Combinez davantage de sources de signalActuellement, les ordres stop-loss sont basés uniquement sur le prix, mais l’intégration de signaux tels que des volumes de transactions inhabituels, des variations des taux de financement, voire le sentiment du marché, pourrait permettre une évaluation plus précise afin de déterminer s’il s’agit d’un simple repli ou d’un retournement de tendance. Bien entendu, plus les sources de signaux sont nombreuses et plus le système est complexe, plus le risque de problèmes est élevé.
Ces idées sont pour l’instant encore au stade de l’idée. Nous vous les présenterons une fois qu’elles seront mises en œuvre et auront produit des résultats.
À ce stade, vous pourriez vous demander : quel type d’ordre stop-loss dois-je utiliser ?
Ma réponse est :Essayez les deux.
Chaque stratégie a sa propre « personnalité », et chaque marché son propre « tempérament ». Il est essentiel de trouver une synergie entre votre stratégie et le marché. Les ordres stop-loss ne sont que des outils ; pour les utiliser efficacement, il est indispensable de bien les comprendre.
Si vous avez de meilleures idées concernant les ordres stop-loss, n’hésitez pas à les partager ; après tout, sur le chemin du trading quantitatif, nous sommes tous des voyageurs qui apprenons en faisant des erreurs en cours de route.
Enfin, un petit conseil :
Mettre fin aux pertes ne signifie pas admettre sa défaite, mais plutôt se préparer à une meilleure attaque la prochaine fois.
Nous vous souhaitons une transaction réussie ! 🚀