The number of players (on both sides buy/sell) is (initially) the result of the "
game rules" or game settings, which are set up by the user. The game settings are in practice the "center of control" of the "trading game". There is a good number of those, which I have been evolving in time, to provide a fairly good level of control on the trading game being played. These look like the screenshot below:
View attachment 169730
For instance, in the case of the previously shown SI layer, the overall position has been within -4 (so 4 contracts short) and +1 (one long).
The game settings are in practice the set of rules specified by the user which says how the automatically generated buy/sell players have to come into existence, behave (for instance, enforcing reciprocal constraints) and close.
Note that, in addition, to the players generated by the trading engine we can also have further players which can be generated either by:
1) the user: for instance manual injection of players (for either "overloading", or additional "stopping", or whatever)
2) the broker: for instance liquidations, due to lack of funds, forced rollovers, or any other cause
in any case, once generated, the players will abide the user rules. (In order to for a player not to be subjected to the game rules, there is also the additional possibility for the user to transform it into a so called "manual position", which will be let alone by the algorithmic engine.)
Another useful feature is that the players can be "split" (there is a specific facility for that), so that it is possible to spread out those larger orders due to liquidations (stops) or user injection (panic stop or whatever) into several smaller players, and let the application recover them automatically.
(There would be a lot of things to say about the game rules, as I have been evolving them in years, but for now I think that this concise description can suffice. Most of the details can only be appreciated when actually playing with it, as they all were shaped after practical needs.)
That is right, you got it. The concept of (virtual) buy/sell players can be interpreted as a level of abstraction where you have simultaneously long/short position, but it is done on
1 account instead of 2 distinct accounts (clearly the result in principle is mathematically the same , but running on 2 accounts, apart that would not be allowed, would also be a technical nightmare and difficult to control and organize in a "centralized" way, as we can instead easily do here.)
(As an analogy, If you are Photoshop user, you know well that an image can be the result of the of different layers. Here we have something similar, with the obvious difference that we are "overlaying" trading games. And, in addition, a trading game is itself a "
superposition" of buy/sell players. Clearly, the final user will only the the final "flatten" image resulting by the layer merge and to him it does not matter how the image was created), but nevertheless we maintain all the separate information which allow us to easily work on/edit the image.
For instance, on that SI layer, currently, we have
2 buys and
5 sells, resulting in a "position" of
-3. So, the overall "real" position of SI would be -3 if we had only this layer only active for SI (but, in this case, we also have other two SI
layers currently active).