@tspacepilot
I calculate the EV with following assumptions:
All players still in the hand when it is my turn are playing.
Only 1 opponent calls.
So basically, the EV is for playing a round i.e against 5 players, while the EV is calculated as if only 1 opponent was playing the hand (since 1 call is assumed)
Therefore, if all 5 enemies decides to go all-in, my winchances are the same (calculations done as if playing against all) but the potential stake is a lot larger than i calculated (my stake*5 + pot, instead of mystake*2 + pot)
As I understand this, you're not doing EV right. It seems like you're saying that you calculate your chances of winning as if everyone calls, but calculate your payout as if only one person calls, then you adjust the payout according to what actually happens. I can see why this is seems like a safe miscalculation. But it's also confusing when you're explaining your approach.
Another thought, and maybe this doesn't matter, but I'll say it anyway. People can have a short stack and call you, that affects how much you can win. I t also affects how much you can lose so perhaps it's a wash.
About the why of my simulations:
At a table with 1 other opponent, an AA hand is a 100% all-in but with 5-6+ opponents, pairs are harder to achieve a +EV on, while jack/ten and same-suits are easier to get value from.
Since people leave and enter at will, and balances/pots changes non-stop i feel it is necessary to run simulations before every decision.
Regarding the technicalities, I am using the Python module Deuces to handle everything Poker, and the Python module Selenium to handle all interaction with the webpage.
I really wanted to be at another poker site, but tinkering with stand-alone poker clients are way above my league
I see, I found that module, I didn't understand before if you were writing your own poker module called Deuces. I also saw that the "simulation" code is probably also coming from Deuces, the readme talks about simulating hands. I suppose it's up to me to read the module if I want to know what's being simulated. My question is sorta like this, let's say we're sampling from the following distribution of values [ 1, 1, 1, 0 ]. You can see right away that you'll have a .75 percent chance of choosing a 1. Now, we can establish this empirically by writing some code to simulate sampling and then do it 10K times or whatever and look at our results. However, there's really not a lot of need for the sampling step since we know the distribution to begin with---the sampling step really just tests our ability to write sampling code, we know that if we find that we're approaching anything other than 0.75-0.25 in the long run average, then we're not sampling right. It seems to me that your situation is similar: you know what cards you have---given that you already know the distribution of hands you'll have after 5 cards have been drawn. From there, you also have a joint distribution between your hand and those of N opponents and you can calculate the probability that your hand is better. As far as I can tell, you don't actually need to do any sampling to learn that, do you? Don't you just use some multiplication and division to calculate odds?
Anyway, I think that selenium is a nice package for browser automation. I'm pretty sure you can export a screenshot from selenium if you wanted to try OCR (but I don't know if it'll be fast enough for you. It should be smart enough if you are able to constraint the size of the screenshot and if you can train your own model. You only need to recognize a small set of characters.