We interpreted GT getting most but not all of the pricebots as follows, based on the profit and price graphs. GT usually has a price of 1 (you see this if you print out the actual prices instead of the average), but occasionally it has a low price like 0.59 or 0.52. MY starts out having prices that are 0.9 or so but then will undercut this low price of 0.59 or 0.52. But when the number of MY start to decrease a lot, when there are only maybe 4 MY pricebots, then often they will all be undercutting a GT price of 0.52 and then each other and will end up with very little profit and low average prices. But if these few pricebots can undercut a GT price of 0.7 or so, and then each other, they can make more than the GT on average, so they don't die out. But more often the MY are undercutting a price of 0.56 or so, not 0.7 so the MY can't really increase.
Figure 6. Change in pricebot number over generations starting with 50 GT versus 50 MY initially
As a sidenote, the following is interesting. When going through the pricebots and updating a price then calculating profits, when a MY pricebot calculates a new price and everyone calculates profits, that MY pricebot makes a good profit (more than GT ever does normally), but all the other MY pricebots are now making little profit solely so that the MY pricebot that just updated can make a great deal of profit (it is kind of like a futile sacrifice on the parts of the other my). The cumulative profits for GT and MY never completely stabilize, but when there are 97 or so GT pricebots and 3 or so MY pricebots, the MY profits stop always decreasing and start fluctuating within a certain range. as do the GT profits. The MY prices at this point are usually something like: 0.515, .51, .505 or 1, 1 or .505, 1, 1. When the MY have 2 prices, like 1 and 0.505, then the 0.505 will always be min and give 25 profit, and the 1 will always give 25 profit, so this is a decently profitable position. When GT vs MY is run for about 1200 generations, the MY fluctuated between 2,3, and 4.