La stratégie de marché prédictive a toujours des problèmes avec la limite de position par marché, malgré de nombreuses corrections. Aujourd'hui, j'ai enfin trouvé la cause principale : le type de commande était incorrect.
Phénomène du problème Depuis la mise en ligne de la stratégie météo H12, deux bugs étranges persistent : 1. La position totale par marché dépasse toujours la limite $10 2. Sur 32 commandes passées, aucune n'a été exécutée (taux d'exécution de 0%)
Au début, je pensais que c'était un problème de logique. Après avoir vérifié la fonction de déduplication, le calcul des positions, la vérification du statut des commandes, tout semblait correct. Du point de vue du code, tout était en ordre, mais en ligne, cela ne fonctionnait pas.
Diagnostic de la cause principale En examinant le code, j'ai découvert : j'utilisais toujours des commandes IOC ( pour une exécution immédiate ou annulation ).
La logique de l'IOC est : passer la commande, puis la faire correspondre immédiatement dans le carnet d'ordres ; si elle ne correspond pas, elle est annulée.
Cela entraîne deux problèmes : • Dépassement de position : les commandes IOC sont annulées immédiatement, elles ne restent pas en statut pending, ce qui empêche la vérification de déduplication (les commandes ne sont pas détectées), et la stratégie peut passer plusieurs fois la même commande sur le même marché dans un seul cycle de scan. • Taux d'exécution de 0% : la liquidité du marché météo étant faible, le carnet d'ordres est souvent vide, et la commande IOC est annulée dès qu'elle est passée.
Solution Utiliser des commandes GTC Maker : • GTC (Good-Till-Cancel) - la commande reste en attente jusqu'à ce qu'elle soit exécutée • La commande reste en statut pending, permettant la vérification de déduplication • Vérification des commandes pending : avant chaque scan, vérifier si la dernière commande en attente a été exécutée
Validation des effets (voir figure 1) Après déploiement sur VPS : • Le problème de dépassement de position a disparu • Sur 29 commandes, 5 ont été exécutées en 5 minutes (taux de remplissage de 17,2% contre 0% auparavant) • Les Maker bénéficient de rebates, les Taker doivent payer des frais (après modification, cela coûte même moins cher)
Une seule modification a corrigé deux bugs. Si vous travaillez aussi sur une stratégie Polymarket, le tableau de types de commandes de la figure 2 peut être utilisé directement comme référence.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
La stratégie de marché prédictive a toujours des problèmes avec la limite de position par marché, malgré de nombreuses corrections. Aujourd'hui, j'ai enfin trouvé la cause principale : le type de commande était incorrect.
Phénomène du problème
Depuis la mise en ligne de la stratégie météo H12, deux bugs étranges persistent :
1. La position totale par marché dépasse toujours la limite $10
2. Sur 32 commandes passées, aucune n'a été exécutée (taux d'exécution de 0%)
Au début, je pensais que c'était un problème de logique. Après avoir vérifié la fonction de déduplication, le calcul des positions, la vérification du statut des commandes, tout semblait correct. Du point de vue du code, tout était en ordre, mais en ligne, cela ne fonctionnait pas.
Diagnostic de la cause principale
En examinant le code, j'ai découvert : j'utilisais toujours des commandes IOC ( pour une exécution immédiate ou annulation ).
La logique de l'IOC est : passer la commande, puis la faire correspondre immédiatement dans le carnet d'ordres ; si elle ne correspond pas, elle est annulée.
Cela entraîne deux problèmes :
• Dépassement de position : les commandes IOC sont annulées immédiatement, elles ne restent pas en statut pending, ce qui empêche la vérification de déduplication (les commandes ne sont pas détectées), et la stratégie peut passer plusieurs fois la même commande sur le même marché dans un seul cycle de scan.
• Taux d'exécution de 0% : la liquidité du marché météo étant faible, le carnet d'ordres est souvent vide, et la commande IOC est annulée dès qu'elle est passée.
Solution
Utiliser des commandes GTC Maker :
• GTC (Good-Till-Cancel) - la commande reste en attente jusqu'à ce qu'elle soit exécutée
• La commande reste en statut pending, permettant la vérification de déduplication
• Vérification des commandes pending : avant chaque scan, vérifier si la dernière commande en attente a été exécutée
Validation des effets (voir figure 1)
Après déploiement sur VPS :
• Le problème de dépassement de position a disparu
• Sur 29 commandes, 5 ont été exécutées en 5 minutes (taux de remplissage de 17,2% contre 0% auparavant)
• Les Maker bénéficient de rebates, les Taker doivent payer des frais (après modification, cela coûte même moins cher)
Une seule modification a corrigé deux bugs. Si vous travaillez aussi sur une stratégie Polymarket, le tableau de types de commandes de la figure 2 peut être utilisé directement comme référence.