Beaucoup d’amis ont de bonnes stratégies de négociation, mais lorsqu’ils les mettent en œuvre de manière programmatique, ils trouvent souvent que le contrôle programmatique ne peut pas être exécuté conformément à l’idée préalable, et ils rencontrent des positions ouvertes, des positions à prix réduit, voire un contrat qui ne permet pas raisonnablement de détenir simultanément des positions et des positions vides. En fait, la raison fondamentale de ces phénomènes est que la négociation programmatique n’est pas comme la négociation subjective, et qu’en cas d’urgence, il est possible de réagir et de traiter à temps. Par exemple, je fais une opération pour ouvrir une position lorsque les conditions d’une stratégie sont remplies, mais ce n’est pas nécessairement au prix d’ouverture de la position ou dans le contexte du marché à ce moment-là.
Le machine d’état est un diagramme de transfert d’état. En introduisant la machine d’état, on distingue tous les états de l’ordre, et on ne perturbe pas la logique du programme en le contrôlant dans tous les états.
Au cours d’une transaction, nous appliquons à l’ordre les actions suivantes: ouvrir un ordre d’échange, retirer un ordre d’échange, régler un ordre d’échange, retirer un ordre d’échange; nous recevons les commentaires sur l’état de l’ordre qui sont le résultat de l’action d’application: pas entièrement livré, livré en totalité, avec un ordre de rétractation ((partiellement livré ou non livré)). Par conséquent, nous pouvons marquer l’état d’attente du retour de l’ordre après l’application d’une action sur l’ordre comme étant un état. Par exemple, l’action d’ouvrir un état d’échange marque un état d’échange -> ouvrir un échange ou ouvrir un échange en cours de traitement.

Ainsi, dans le processus de négociation d’un seul contrat, n’importe quel état dans lequel se trouve l’ordre peut être strictement différencié; le programme peut également être traité en fonction de ses différents états. Par exemple, après le retrait de la commande après la période de péremption, soit au prix d’origine, soit en ajoutant un certain prix de glissement continue à être au même niveau, soit au prix de la commande de l’adversaire continue à être au même niveau, vous pouvez le contrôler selon votre stratégie.
Bien sûr, vous pouvez également contrôler le flux en fonction de votre intention de contrôler l’état, par exemple: dans l’exemple ci-dessus, si vous retirez l’ouverture de la position et que vous recevez la rétroaction, c’est que le retrait est réussi et que la position est ouverte. Après l’achat de la position, l’état ne se déplace pas vers le plafond de la couverture, mais choisit une façon de continuer à suivre la position cible précédente.
Cependant, comme nous l’avons dit plus haut, nous appliquons une action à une commande, nous résumons les retours de commande ou les retours de transaction en plusieurs réponses après l’application d’une action à une commande, et nous définissons l’état d’une commande en attendant la réponse de l’action.
Les actions imposées sur le contrat: ouvrir, niveler, retirer, etc. Les coups de coude sont dus au fait qu’après qu’une jambe a détenu une position, selon le principe de l’arbitrage, l’autre jambe doit être à la hauteur. Par conséquent, la première jambe bien établie doit attendre que la deuxième jambe établisse également une position opposée, constituant un portefeuille d’arbitrage.
Le statut de la commande du double contrat est alors inclus dans le tableau suivant:

Ainsi, en fonction de la rétroaction de l’action sur l’ordre, vous pouvez construire le système d’état dont vous avez besoin. L’image ci-dessous est un système d’état pour les lecteurs qui envisagent d’ouvrir une position pour construire un portefeuille arbitraire:

La logique et l’état du portefeuille arbitraire sont conformes à la construction de la base et de l’ouverture de position.
Le blog de ronalgao a été téléchargé en ligne.