στην πραγματικοτητα το συστημα απο μονο του ακυρωνει τετοιες εντολες.. Αλλα δεν ξερω αν θελει κατι τετοιο στην εργασια.. απο τη στιγμη που οι εντολες ερχονται ισοπιθανα δεν θα επρεπε να εξυπηρετουνται ολες χωρις να φουλαρουν οι ουρες?

Και όμως !! Αυτό που σκέφτηκα είναι το εξής: Οι εντολές έρχονται ισοπίθανα και τα price1, price2 δημιουργούνται τυχαία μέσα σε ένα συγκεκριμένο εύρος με μέσο το currentpriceΧ10. Αν όπως είπαμε η τιμή πρέπει να μένει σταθερή γύρω από κάποια τιμή, έστω 100.0, τότε π.χ. θα υπάρξουν εντολές Limit (και φυσικά Stop και Stop Limit) οι οποίες πχ θα βρίσκονται στο άκρο του εύρους απο την
ΜΗ "ελκυστική" πλευρά του. Αυτές οι εντολές δε θα πραγματοποιηθούν ποτέ.
Σε ένα πραγματικό σύστημα ο "παίχτης" μάλλον δε θα έδινε μία τέτοια εντολή. Όπως φυσικά και μία Buy Stop Limit με price1 > price2. Τέσπα, έχω ξεφύγει.
Εν τέλει εγώ παιδιά σβήνω τις τελευταίες Limit, Stop και Stop Limit των αντιστοιχων ουρών τους όταν είναι να μπεί κάποια καινούρια και είναι φούλ. Με έπεισες κιόλας με τα λόγια σου, ότι τα πραγματικά συστήματα κάνουν αυτό το πράμα.
και γω σκέφτηκα να σου πω την αλήθεια διάφορα σενάρια τότε, όπως να χρησιμοποιήσω της κεντρική queue σαν queue ασφαλείας,
σε φάση όταν φουλάρει η ουρα Limit Buy σταμάτα να μεταφέρεις τις Limit buy εντολές από την κεντρική queue στην limit buy queue μέχρι να μην είναι γεμάτη, βέβαια αυτό έδωσε έναν αέρα μιας παραπάνω ώρας (4+1 ώρες) στο πρόγραμμα όπου η τιμή της μετοχής πήγαινε κυριολεκτικά όπως να 'ναι και έτσι το παράτησα.
Και εγώ σκέφτηκα να κάνω ή μία έξτρα queue ασφαλείας, ή ακόμα και αυτό που λες. Αλλά, αυτό θα έκανε την εκτέλεση του προγράμματος εντελώς μη ντετερμινιστική. (Δεν ξέρω πόσο το θέλουμε αυτό). Αυτό που θέλω να πω είναι ότι θα έβγαινε εντελώς διαφορετικό trace αν με αυτόν τον τρόπο εκτελούσες το πρόγραμμα με QUEUESIZE = 5000 και QUEUESIZE = 5050. Δεν ξέρω αν αυτό ειναι κακό, αλλά είναι κάτι το οποίο δε θα έκανα. Σβήσιμο και πάλι σβήσιμο
