[TOC]

Le marché des cryptomonnaies offre un spectacle différent chaque jour. Aujourd’hui, le Bitcoin domine la hausse, demain, c’est l’Ethereum qui prend le relais, et après-demain, même des cryptomonnaies confidentielles comme le ZEC pourraient connaître une progression. Les tendances s’entremêlent à un rythme effréné, donnant le vertige. Les institutions disposent d’équipes professionnelles qui surveillent le marché 24h/24 et 7j/7 et d’informations privilégiées pour se positionner en amont ; mais pour les investisseurs particuliers, cette rotation rapide signifie souvent rater une opportunité ou acheter au plus haut et se retrouver piégés.
Les stratégies de rotation traditionnelles sont classiques dans le secteur financier : les institutions les utilisent avec succès pour la rotation sectorielle et d’actifs. Cependant, la rotation traditionnelle exige une vision macroéconomique ; il faut anticiper la hausse des secteurs et déterminer le moment opportun pour changer de stratégie. Pour les investisseurs particuliers, sans information privilégiée et avec des temps de réaction plus lents, cette approche repose essentiellement sur l’intuition, et le taux de réussite est, comme on pouvait s’y attendre, faible. Et si l’IA prenait le relais ? Elle peut surveiller les indicateurs techniques, analyser l’actualité et étudier les portefeuilles 24 h/24 et 7 j/7, sans prendre de décisions impulsives influencées par les émotions. Aujourd’hui, j’utiliserai le flux de travail de la plateforme Inventor Quantitative pour mettre en œuvre un tel système de rotation basé sur l’IA et je vous présenterai la logique d’implémentation complète.

Le concept de base de ce système de roue piloté par l’IA est le suivant :Laissons les indicateurs techniques faire le tri, l’analyse de l’actualité la vérification, et l’IA le contrôle final.L’ensemble du système est divisé en trois modules principaux :
Le système attribue d’abord un score à chaque cryptomonnaie à forte liquidité (triée par volume d’échanges sur 24 heures) à l’aide d’un système de moyenne mobile multi-périodes. Ce système de notation comprend trois dimensions :
Modèle d’alignement de la moyenne mobile(Score d’arrangement : -4 à +4)
espacement de divergence de la moyenne mobile(gapScore)
changements de la série chronologique de la moyenne mobile(timeSeriesScore : -4 à +4)
Formule de calcul du score final global :
\[ \text{score} = \text{espacement de diffusion} \times \text{score du modèle d'arrangement} \times \text{score de variation de la série temporelle} \]
La beauté de cette formule réside dans :Le score ne sera significatif que lorsque les trois indicateurs convergeront simultanément.Si les moyennes mobiles sont bien alignées mais que l’écart entre elles se réduit, cela indique un affaiblissement de la tendance et le score ne sera pas très élevé.
1. Conception multicycle
var s = exchange.GetRecords(processedSymbol, wheelPeriod / 4); // 短期
var ms = exchange.GetRecords(processedSymbol, wheelPeriod / 2); // 中短期
var ml = exchange.GetRecords(processedSymbol, wheelPeriod * 2); // 中长期
var ls = exchange.GetRecords(processedSymbol, wheelPeriod * 4); // 长期
Si wheelPeriod=60 minutes, les périodes réelles sont : 15 minutes, 30 minutes, 120 minutes et 240 minutes, couvrant les tendances à court, moyen et long terme.
2. Logique de notation des modèles d’arrangement
if (bullCount == 3) {
arrangementScore = 4; // 完美多头排列
} else if (bearCount == 3) {
arrangementScore = -4; // 完美空头排列
} else if (bullCount == 2) {
// 连续的两个条件得分更高
if ((compare1 > 0 && compare2 > 0) || (compare2 > 0 && compare3 > 0)) {
arrangementScore = 3;
} else {
arrangementScore = 2;
}
}
Le principe est qu’une disposition continue de moyennes mobiles obtient un meilleur score qu’une disposition dispersée, car la première indique une tendance plus claire.
3. Conception non linéaire du score global
if (gapScore > 0) {
comprehensiveScore = gapScore * arrangementScore * timeSeriesScore;
} else if (gapScore < 0) {
comprehensiveScore = gapScore * Math.abs(arrangementScore) * Math.abs(timeSeriesScore);
}
Cette conception garantit que :
Le système filtrera automatiquement deux ensembles de devises :
Mais il y a ici un élément de conception clé :Si vous détenez déjà une position longue sur une cryptomonnaie particulière, le système l’ajoutera au groupe positif même si elle ne figure pas dans le top 5.Il en va de même si vous ne détenez aucune position. Cela permet à l’IA de surveiller en permanence vos positions et de déterminer s’il est nécessaire de stopper vos pertes ou d’inverser votre position.
Les signaux techniques ne suffisent pas à eux seuls ; il faut aussi comprendre le marché.PourquoiVoici comment cela se déroulera. Le système récupérera automatiquement les 5 actualités les plus récentes pour chaque cryptomonnaie (via l’API CryptoCompare), qui peuvent inclure l’avancement des projets, les activités institutionnelles, les actualités réglementaires, etc.
Le rôle de la couverture médiatique estVérifier la fiabilité des signaux techniques:
Il est important de noter que la récupération des actualités peut subir des retards ou des omissions (limitations de l’API, cryptomonnaies moins populaires, etc.). Cependant, le principe de conception du système est le suivant :L’information est un complément, pas une nécessité.Si des informations sont manquantes, l’IA les étiquettera « Informations manquantes, analyse purement technique », puis prendra une décision basée sur des indicateurs techniques et les avoirs.
C’est l’âme du système tout entier. L’IA n’est pas le principal exécutant de la stratégie, mais…consultant superviseur—Apporter un second niveau de jugement aux moments critiques afin d’identifier les risques que les signaux techniques ne peuvent pas détecter.
Le système communiquera à l’IA toutes les informations suivantes :
L’IA doit gérer trois scénarios principaux :
Scénario 1 : Aucun poste vacant → Déterminer s’il convient d’ouvrir un poste
| force du signal technique | Couverture médiatique | Les risques | prise de décision par l’IA |
|---|---|---|---|
| Fort (score absolu > 0,05) | Soutien/Neutre/Pas d’actualités | aucun | Ouvrir long/ouvrir court |
| puissant | contradiction | aucun | Attentisme |
| Faible (,02) | N’importe quoi. | aucun | Attentisme |
Scénario 2 : Maintien des positions dans la même direction → Déterminer s’il convient de maintenir le maintien
Ici, « dans la même direction » signifie que la direction de la position est cohérente avec le signal technique (par exemple, une position longue est maintenue et l’indicateur technique affiche une tendance haussière). Le système signalera spécifiquement « position longue maintenue, mais la force de l’indicateur n’est plus parmi les meilleures », ce qui signifie que même si cette position longue figure toujours dans la liste des positions haussières, elle n’est plus parmi les 5 premières et la tendance s’affaiblit.
| état du signal | Couverture médiatique | Profit et perte | prise de décision par l’IA |
|---|---|---|---|
| Dans les 5 premiers/5 derniers | Stable/Prise en charge/Pas d’actualités | N’importe quoi. | prise |
| Dans les 5 premiers/5 derniers | Facteurs de redressement/Facteurs négatifs | profit | Périmètre |
| Pas dans le top | Stable/Pas de nouvelles | profit | Maintien (observation) |
| Pas dans le top | Stable/Pas de nouvelles | Perte | Fermer la position (stop loss) |
| Pas dans le top | Facteurs de redressement/Facteurs négatifs | N’importe quoi. | Périmètre |
Scénario 3 : Inversion de position → Déterminer s’il faut fermer/inverser la position
Il s’agit d’un superviseur IA.Scénarios de valeurs fondamentalesUne position inverse désigne une position prise dans le sens opposé à un signal technique (par exemple, maintenir une position longue même si les indicateurs techniques sont devenus baissiers).
| valeur absolue du score | Couverture médiatique | prise de décision par l’IA |
|---|---|---|
| Fort (>0,05) | Confirmer l’annulation | Position inversée (ouverture d’une position inversée après fermeture d’une position précédente) |
| Fort (>0,05) | Neutre/Pas d’actualités | revers |
| Fort (>0,05) | contradiction | Positions de clôture (approche prudente en cas de conflit entre données techniques et actualités) |
| Moyen (0,02-0,05) | Confirmer l’annulation | revers |
| Moyen (0,02-0,05) | Neutre/Pas d’actualités | Position fermée (signal insuffisant) |
| Moyen (0,02-0,05) | contradiction | Périmètre |
| Faible (,02) | N’importe quoi. | Attendez (observation, signal trop faible) |
Conditions strictes pour l’opération du revers(Les conditions simultanées doivent être remplies) :
Si la direction est erronée, corrigez-la. Signal fort + inversion confirmée = inversez la position sans hésitation ; signal fort + information contradictoire = fermez la position par prudence ; signal moyen = n’inversez la position que si l’information le confirme, sinon fermez-la ; signal faible = continuez d’observer et n’agissez pas précipitamment.
Le format de décision renvoyé par l’IA est le suivant :
[
{
"symbol": "BTCUSDT",
"currentPosition": "无持仓",
"score": 0.0856,
"newsAnalysis": "机构增持,生态扩张",
"overallJudgment": "技术多头强劲,新闻面支持,开多",
"decision": "开多"
},
{
"symbol": "ETHUSDT",
"currentPosition": "持有空仓",
"score": 0.0623,
"newsAnalysis": "质押增加,资金流入",
"overallJudgment": "反向持仓亏损,技术已转多,止损",
"decision": "平仓"
}
]
Une fois que l’IA a pris une décision, le système exécute automatiquement la transaction. Cela utilise…Transactions à montant fixemécanisme:
Si vous configurez chaque transaction à 100 USDT, que le prix de la cryptomonnaie soit de 100 USDT ou de 10 000 USDT, le système calculera le nombre de contrats à ouvrir sur la base de 100 USDT. La formule de calcul est la suivante :
合约张数 = 金额(U) / 当前价格 / 合约面值(CtVal)
Par exemple:
Le système le traitera automatiquement :
Cela présente deux avantages :
Une fois la transaction exécutée, un contrôle des risques reste nécessaire. Ce système utilise…Arrêt suiveur à commande indépendanteElle est distincte de la stratégie principale et effectue des contrôles à haute fréquence des positions une fois par seconde.
Un arrêt suiveur n’est pas simplement un arrêt fixe, mais plutôt :Protégez les gains latents et laissez courir les profits.。
Flux de travail :
Implémentation du code :
function monitorPositionWithTrailingStop(coin) {
const pos = getPosition(coin); // 获取持仓
if (!pos) return;
const currentPnl = calculatePnl(pos); // 当前盈亏百分比
// 获取历史最高盈利
const symbolKey = `${coin}_USDT.swap_maxprofit`;
let maxProfit = _G(symbolKey);
// 如果当前盈利更高,更新最高盈利
if (maxProfit === null || currentPnl > maxProfit) {
maxProfit = currentPnl;
_G(symbolKey, maxProfit);
Log(`📈 ${coin} 更新最高盈利:${(maxProfit * 100).toFixed(2)}%`);
}
// 计算回撤
const drawdown = maxProfit - currentPnl;
// 触发止损
if (drawdown >= CONFIG.TRAILING_STOP_PERCENT) {
closePosition(coin, pos, "移动止损");
_G(symbolKey, null); // 清除记录
}
}
En raison de la forte volatilité du marché des cryptomonnaies, la stratégie principale ne sera exécutée qu’une fois toutes les 4 heures (pour resélectionner les cryptomonnaies et déterminer les positions d’ouverture et de fermeture), mais des ordres stop-loss doivent être placés…Protection en temps réelSi vous attendez 4 heures avant de vérifier, les gains auront peut-être déjà été perdus. C’est pourquoi le système de stop-loss est un processus indépendant, exécuté toutes les 15 secondes en parallèle de la stratégie principale.
La stratégie s’exécute automatiquement, mais vous devez savoir ce qu’elle fait. Le système est conçu avec trois tables de surveillance :

Vous pouvez visualiser en un coup d’œil le résultat global (profit et perte) ainsi que l’état du système.

Ce tableau vous indique :

Ce tableau présente :
Ces trois tableaux vous permettent de voir à tout moment ce que fait le système, pourquoi il le fait et quels en sont les résultats.
Aucune stratégie n’est parfaite, et ce système présente lui aussi des limites évidentes :
Bien que la fonctionnalité de grand modèle soit très puissante et fonctionne bien la plupart du temps,Une erreur de jugement peut survenir dans des conditions de marché extrêmes.。
Par exemple:
Après tout, l’IA apprend à partir de données historiques et peut être désorientée face à des situations inédites (événements cygne noir).
Le système collecte des données provenant d’API d’actualités publiques. Il se peut qu’il ne capture pas les premières minutes suivant la publication d’une information importante, et lorsqu’il finira par collecter les données, le prix aura peut-être déjà évolué.
Par exemple:
C’est un problème courant dans tous les systèmes automatisés : les informations internes arrivent toujours plus vite que les informations publiques.
Les moyennes mobiles et les tendances sont toutes basées surprix historiquesLes calculs entraînent toujours une réponse lente aux événements imprévus.
Par exemple:
Par conséquent, ce système est plus adapté.Suivre la tendanceNe convient pasSaisir le point de basculeSon avantage est qu’il peut suivre une tendance de manière constante une fois qu’elle s’est formée, mais il ne peut pas acheter au plus bas ni vendre au plus haut.
Bien que les transactions à montant fixe présentent un risque gérable, elles impliquent également :
Si votre solde passe de 10 000 USDT à 50 000 USDT, le montant de la transaction devrait théoriquement augmenter, mais le système ne l’ajuste pas automatiquement. Vous devez le modifier manuellement.$vars.Amountvariable.
coinNumberNombre de devises à forte circulation sélectionnéeswheelPeriodparamètres de la période de calcul de la moyenne mobilemeanPeriodpériode de moyenne mobileAmountMontant par transactionlossPercentRatio de stop suiveurCe système présente encore de nombreuses marges d’amélioration :
Le montant actuel est un montant fixe, qui peut être modifié comme suit :
Au lieu de s’appuyer sur un seul modèle complexe, utilisez 3 à 5 modèles pour formuler des jugements simultanément :
Les transactions ne sont exécutées que lorsqu’une majorité de modèles sont d’accord, ce qui réduit le risque d’erreur d’appréciation par un seul modèle.
En plus des prix et des actualités, vous pouvez également ajouter :
Ces données reflètent souvent les changements de tendance plus tôt que les indicateurs techniques.
Le stop suiveur actuel est un pourcentage fixe, qui peut être optimisé comme suit :
Enregistrez les profits et les pertes de chaque transaction et analysez-les.
Utilisez les données historiques pour optimiser les paramètres.
Ceci conclut l’explication complète de la logique de ce système de rotation piloté par l’IA. Du filtrage technologique à la vérification des informations, de la prise de décision par l’IA à l’exécution des transactions, des ordres stop suiveurs à la surveillance visuelle, chaque étape repose sur une philosophie de conception spécifique.
Mais je dois le souligner à nouveau :Toute stratégie n’est qu’un outil ; le marché est complexe et comporte trop de facteurs imprévisibles.。
Ce système peut effectuer les opérations suivantes :
Ce système ne peut pas effectuer les opérations suivantes :
Il nous faut exploiter pleinement cet outil, en l’associant à notre propre tolérance au risque, à une gestion financière rigoureuse et à une maîtrise de notre mental, afin de constituer un système de trading complet. Le code source intégral de ce système est disponible en open source sur la plateforme quantitative de son inventeur. Si vous avez des questions ou des suggestions d’amélioration, n’hésitez pas à en discuter au sein de la communauté. Explorons ensemble les possibilités du trading quantitatif et trouvons notre propre rythme sur ce marché volatil.
Conseils à la prudenceCet article a pour seul but de partager des informations techniques et ne constitue en aucun cas un conseil en investissement. Le trading de cryptomonnaies comporte des risques importants ; veuillez prendre vos décisions avec prudence et en fonction de vos moyens.
Le code source associé à cet article est disponible en open source. Accédez à la plateforme Inventor Quantitative pour découvrir le flux de travail complet : https://www.fmz.com/strategy/524103