Page 1 of 3

PF limp / call stat ?!

PostPosted: Tue Sep 02, 2008 8:20 am
by js2002
Analog to
PF limp / fold
sum( if[holdem_hand_player_statistics.flg_p_limp AND holdem_hand_player_statistics.flg_p_fold, 1, 0] )
and my
PF limp / raise
sum( if[holdem_hand_player_statistics.flg_p_limp AND holdem_hand_player_statistics.flg_p_3bet, 1, 0] )

I want to build A PF limp / call Stat
but theres no holdem_hand_player_statistics.flg_p_call only a ccall flag. But I think this has other semantics.

Can someone help?

Re: PF limp / call stat ?!

PostPosted: Tue Sep 02, 2008 8:25 am
by WhiteRider
You need to use
holdem_hand_player_statistics.cnt_p_call > 0

(You *may* also want to specify
holdem_hand_player_statistics.cnt_p_raise = 0
..if you want to ignore hands where you limp/raise/call or limp/call/raise.)

Re: PF limp / call stat ?!

PostPosted: Tue Sep 02, 2008 8:28 am
by js2002
Thats the new limp / call
sum( if[holdem_hand_player_statistics.flg_p_limp AND holdem_hand_player_statistics.cnt_p_call > 0 AND holdem_hand_player_statistics.cnt_p_raise = 0, 1, 0] )

This cant be correct: The Stat is always 100% if ther was at least any call.

Re: PF limp / call stat ?!

PostPosted: Tue Sep 02, 2008 8:47 am
by WhiteRider
Sorry - silly me!
If they limp, that is a call!
So you will need to check for cnt_p_call > 1.

Re: PF limp / call stat ?!

PostPosted: Tue Sep 02, 2008 8:55 am
by js2002
In the meantime I tried this:

sum( if[holdem_hand_player_statistics.flg_p_face_raise AND holdem_hand_player_statistics.flg_p_fold = false AND holdem_hand_player_statistics.flg_p_limp AND holdem_hand_player_statistics.cnt_p_call > 0 AND holdem_hand_player_statistics.cnt_p_raise = 0, 1, 0] )

the first 2 booleans are from the call PFR stat. So it also wrong because of the > 0 ?

Re: PF limp / call stat ?!

PostPosted: Tue Sep 02, 2008 9:22 am
by WhiteRider
If they limp, that's a call, so cnt_p_call will already be 1 when they limp. (In case this isn't clear, this stat is a count of how many times they call preflop).

The flg_p_face_raise is fine, but not needed if the player calls more than once, they must have faced a raise.
I think that all you actually NEED, is
holdem_hand_player_statistics.flg_p_limp AND holdem_hand_player_statistics.cnt_p_call > 1

..but adding a check for
holdem_hand_player_statistics.cnt_p_raise = 0
..makes it a little more specific.
Your check for
holdem_hand_player_statistics.flg_p_fold = false
(or you could say "NOT(holdem_hand_player_statistics.flg_p_fold)")
..also makes it more specific, to rule out: limp, call a raise, fold to further action.

Re: PF limp / call stat ?!

PostPosted: Wed Sep 03, 2008 2:00 am
by js2002
WhiteRider wrote:If they limp, that's a call, so cnt_p_call will already be 1 when they limp. (In case this isn't clear, this stat is a count of how many times they call preflop).

The flg_p_face_raise is fine, but not needed if the player calls more than once, they must have faced a raise.
I think that all you actually NEED, is
holdem_hand_player_statistics.flg_p_limp AND holdem_hand_player_statistics.cnt_p_call > 1



Hi again,

but if the action is limp/call/face a raise/call again the sum of holdem_hand_player_statistics.flg_p_limp AND holdem_hand_player_statistics.cnt_p_call > 1 would be 2. So it counts 2 limp calls but is really one?!

Re: PF limp / call stat ?!

PostPosted: Wed Sep 03, 2008 10:32 am
by WhiteRider
No, the SUM is counting either a 1 or a 0, depending on whether the IF statement evaluates to true or false.

SUM ( IF ( expression, then, else ) )
..where then=1 and else=0, so if the expression is true, you get 1 added to the sum, and if it's false you get 0 added to the sum.

The full expression is evaluated first, so you're checking whether
(holdem_hand_player_statistics.flg_p_limp)=true AND (holdem_hand_player_statistics.cnt_p_call > 1)=true.
If both are true, 1 is added, if either is false, 0 is added.

Re: PF limp / call stat ?!

PostPosted: Wed Sep 03, 2008 1:22 pm
by js2002
<.... my damn english sry

I meant it not like that.

I mean that: The whole expression "(holdem_hand_player_statistics.flg_p_limp)=true AND (holdem_hand_player_statistics.cnt_p_call > 1)=true"
is 2 times TRUE during the process of the hand. I limp and call a raise the sum is 1. Then someone raises again preflop and the exp ist again true, so the sum is 2. But now I think this can“t happen because the second result will be (holdem_hand_player_statistics.flg_p_limp)=FALSE.

So, everything is correct. Wierd these stat think. It makes my head spin ;)

Re: PF limp / call stat ?!

PostPosted: Thu Sep 04, 2008 12:13 pm
by WhiteRider
Those database fields are set just once for each hand, so for instance:
holdem_hand_player_statistics.cnt_p_call
..is a count of how many times the player called preflop IN THIS HAND.

The expression will be evaluated once for each hand, so you will either get 1 or 0 for the hand, and the SUM will count these up, one value per hand.

Is that clear?