Privat feed: hur veta när alla avslut för en order inkommit?

Added by Anders over 4 years ago

Jag behöver veta för ordertyp FOK i synnerhet, men en generell lösning är önskvärd.

Meddelanden i följande ordning och med fält enligt rubriker kommer in på privat feed:

Exempel 1. En FOK-order om 1 aktie som fylls.

type    action_state    order_state volume  traded_volume
---------------------------------------------------------
order   INS_PEND        LOCAL       1       -
order   INS_CONF        ON_MARKET   -       -
order   DEL_PUSH        DELETED     -       1
trade   -               -           1       -

Exempel 2. En FOK-order om 1 aktie som inte fylls.

type    action_state    order_state volume  traded_volume
---------------------------------------------------------
order   INS_PEND        LOCAL       1       -
order   INS_CONF        ON_MARKET   -       -
order   DEL_CONF        DELETED     -       -

Exempel 3. En FOK-order om 175 aktier som inte fylls.

type    action_state    order_state volume  traded_volume
---------------------------------------------------------
order   INS_PEND        LOCAL       175     -
order   INS_CONF        ON_MARKET   -       -
order   MOD_PUSH        ON_MARKET   123     52
trade   -               -           52      -
order   MOD_PUSH        ON_MARKET   17      158
trade   -               -           106     -
order   DEL_PUSH        DELETED     -       175
trade   -               -           17      -

Min nuvarande lösning.
Spara fältet traded_volume från delete-meddelandet—tolka frånvaro av fältet som traded_volume == 0. Alla avslut har då inkommit när detta är lika med summan av volume-fälten från inkomna trade-meddelanden. Problemet med detta är att vad jag kan se så finns det inget i dokumentationen som garanterar denna lösnings korrekthet (till exempel: vad jag kan se så garanterar inte dokumentation att traded_volume finns med i delete-meddelandet).

  • Hur tar jag enkelt, utifrån inkomna order-meddelanden och trade-meddelanden, reda på om alla avslut för en order inkommit på privata feeden?
  • Garanterar nExt2 API ovanstående lösnings korrekthet?

Replies (2)

RE: Privat feed: hur veta när alla avslut för en order inkommit? - Added by Anders over 4 years ago

Anders wrote:

[...]
Exempel 3. En FOK-order om 175 aktier som inte fylls.
[...]

Korrigering, ska vara: "En FOK-order om 175 aktier som fylls".

RE: Privat feed: hur veta när alla avslut för en order inkommit? - Added by Björn over 4 years ago

För FOK och FAK får du vänta till ordern tas bort (order_state=deleted). Det senaste order-meddelandet som har innehållit traded_volume ger då den slutgiltiga volymen (det är som du säger inte säkert att informationen finns i delete-meddelandet, utan kan ha kommit tidigare). Sedan är det bara att invänta trade-meddelanden tills volume summerar rätt, precis som du skrev.

(1-2/2)