2015-04-24 1 views
3

J'ai une situation où je reçois 4 commandes de mon client (voir ci-dessous). Une commande est un OTO (ordre de déclenchement d'ordre) et elle déclenchera les trois autres ordres si elle est remplie. Ces trois ordres OCO (Commande annule l'ordre) les uns des autres. Donc, si l'un est rempli, les deux autres sont annulés.Fix Protocole: Comment gérer les ordres OCO à trois voies

CME-ES.Enter ~ B 2 @ESM15 @ 2048.25 Limit Day [OTO CME-ES.ExitL, CME-ES.ExitS, CME-ES.ExitT] 
CME-ES.ExitL ~ S 2 @ESM15 @ 2040.25 Limit Day [OCO CME-ES.ExitS, CME-ES.ExitT] 
CME-ES.ExitS ~ S 2 @ESM15 @ 2058.25 Stop Day [OCO CME-ES.ExitL, CME-ES.ExitT] 
CME-ES.ExitT ~ S 2 @ESM15 @ 1/24/2015 3:50pm Time Day [OCO CME-ES.ExitL, CME-ES.ExitS] 

Note: "CME-ES.Enter" is the ClOrdID 

Ce système a les ordres stop et limite normale à la sortie, mais il a aussi un troisième ordre de sortir à un moment précis.

Ce type d'OTO/OCO à trois voies n'existe pas (je pense) dans les spécifications du correctif. À moins qu'il y ait une étiquette où toutes ces commandes annuleraient (ou iraient au marché) à un certain temps.

S'il n'y a pas de façon normale de faire cela ... quelques options semblent être une façon personnalisée de gérer cela. Je pourrais envoyer les commandes dans une liste et fournir des instructions OTO/OCO dans le champ Texte (58) de chaque commande ... ou peut-être dans ListExecInst (69) ... et mettre essentiellement le texte entre crochets dans le client ordres.

1) Existe-t-il un moyen officiel de gérer cela?

2) Existe-t-il d'autres moyens non officiels, mais courants?

3) Si ce n'est pas 1 ou 2, est-ce que ma méthode me semble être une bonne approche?

4) Est-ce que ma suggestion ci-dessus est raisonnable ... ou est-ce une horrible façon d'utiliser le correctif?

Merci! - Brian

Note: Je programme l'accepteur et je recevrai ces messages ... mais je définirai ce qui doit être envoyé.

Répondre

-1

Je ne sais pas, mais je suppose qu'il n'y a rien de défini dans le dictionnaire de données pour cette opération. Je pense que vous parlez d'un instrument défini par l'utilisateur. Je n'ai pas inventé un instrument défini par l'utilisateur auparavant, mais regardez here