Page 1 of 2

ColdCall RFI Right?

PostPosted: Fri Oct 09, 2020 9:07 am
by OneKef
Hello, does everything seem right to you?

ColdCall vs EP1 RFI (9max)

cnt_p_ccall_vs_ep1_rfi :

Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_ccall and not(tourney_hand_player_statistics.flg_p_limp) and (tourney_hand_player_statistics.flg_p_squeeze_opp is false) and tourney_hand_summary.str_aggressors_p LIKE '85%' and tourney_hand_summary.str_actors_p LIKE '5%', 1, 0])


cnt_p_ccall_opp_vs_ep1_rfi :


Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet_opp and (tourney_hand_player_statistics.flg_p_squeeze_opp is false) and not(tourney_hand_player_statistics.flg_p_limp) and tourney_hand_summary.str_aggressors_p LIKE '85%' and tourney_hand_summary.str_actors_p LIKE '5%', 1, 0])

Re: ColdCall RFI Right?

PostPosted: Fri Oct 09, 2020 12:56 pm
by OneKef
Hey, just now I thought that in pt4 I can't add all those positions (but only BU / CO / MP / EP) :oops:
How can I go about creating them all? :roll:

Re: ColdCall RFI Right?

PostPosted: Sat Oct 10, 2020 6:32 am
by Flag_Hippo
OneKef wrote:Hello, does everything seem right to you?

ColdCall vs EP1 RFI (9max)

It depends what you mean by EP1. The very first player to act preflop in a 9 handed game is seat 6 and not seat 5 as you have specified in your columns. If necessary you could also have your statistic count raises from either seat 5 or 6.
OneKef wrote:Hey, just now I thought that in pt4 I can't add all those positions (but only BU / CO / MP / EP)

You mean in the HUD Profile Editor? There you can only specify Early, Middle, Cutoff, Button, Small Blind or Big Blind and you can see how this is grouped by the number of players dealt into a hand here. Should you want statistics for individual positions beyond those you will need to create them as custom stats.

Re: ColdCall RFI Right?

PostPosted: Sat Oct 10, 2020 9:45 am
by OneKef
Flag_Hippo wrote:
It depends what you mean by EP1. The very first player to act preflop in a 9 handed game is seat 6 and not seat 5 as you have specified in your columns. If necessary you could also have your statistic count raises from either seat 5 or 6.


I checked and yes, as ''first EP '' I have number 6 ( I have ,for habit : SB-BB-BUT-CO 1 -HJ 2 -M2 3-M1 4-EP1 5-EP 6)

You mean in the HUD Profile Editor? There you can only specify Early, Middle, Cutoff, Button, Small Blind or Big Blind and you can see how this is grouped by the number of players dealt into a hand here. Should you want statistics for individual positions beyond those you will need to create them as custom stats.


I meant that, so I would need help on how to create the missing positions. Example: CO vs HJ
Other than that, it occurs to me that I will have to create them for 6max tables as well, as the MP / EP / HJ numbers will change I think, right?

I hope they pay you and also well (if you pass by Milan I will offer you a barbecue) :D :heart: :heart: :heart:

Re: ColdCall RFI Right?

PostPosted: Sun Oct 11, 2020 11:50 am
by Flag_Hippo
OneKef wrote:I meant that, so I would need help on how to create the missing positions. Example: CO vs HJ. Other than that, it occurs to me that I will have to create them for 6max tables as well, as the MP / EP / HJ numbers will change I think, right?

For the caller you can specify the position in a custom statistic using tourney_hand_player_statistics.position. You can also use the item properties in the HUD Profile Editor but only the CO/BTN/SB/BB do not include other seats as the table size grows so if you want statistics for specific seats in 7+ games then you would need to do that in the stat itself. As far as the raiser is concerned you can use the aggressors and actors strings as you have done in your original example - this post has more information on how the actors and aggressors strings work.

Re: ColdCall RFI Right?

PostPosted: Mon Oct 12, 2020 1:11 pm
by OneKef
In the meantime, thanks for everything! I'm studying :)
Thanks also for the link (I understand better actors and aggressors and other things)
One thing is not clear to me,yet :cry: :
-I have clarified what I need
-let's take EP aggressor as an example, what code should I use to join the 2 EPs, which would be position 5 and 6?
Unfortunately if I take cues from the existing stat (like call vsMP open) they are complicated for me :
Code: Select all
sum(if[substring(tourney_hand_summary.str_aggressors_p from 2 for 1) = substring(tourney_hand_summary.str_actors_p from 1 for 1) AND tourney_hand_player_statistics.flg_p_3bet_opp AND lookup_actions_p.action like 'C%' AND tourney_hand_player_statistics.position = substring(tourney_hand_summary.str_actors_p from 2 for 1)::int AND ((tourney_hand_summary.cnt_players BETWEEN 5 and 6 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1) = '2') OR (tourney_hand_summary.cnt_players BETWEEN 7 and 8 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int BETWEEN 2 and 3) OR (tourney_hand_summary.cnt_players BETWEEN 9 and 10 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int BETWEEN 2 and 4)), 1, 0])

I can't do it alone yet :geek:

Re: ColdCall RFI Right?

PostPosted: Tue Oct 13, 2020 7:24 am
by Flag_Hippo
If you are only doing this for 9 handed hands then you can use a method like your first post or with a method as per your new example to specify that the first raiser was in seat 5 or 6:

Code: Select all
tourney_hand_summary.cnt_players = 9 and tourney_hand_summary.str_aggressors_p SIMILAR TO '(85%|86%)'

For more detail on pattern matching in PostgreSQL such as LIKE, SIMILAR e.t.c see this guide.

Code: Select all
tourney_hand_summary.cnt_players = 9 and char_length(tourney_hand_summary.str_aggressors_p) >= 2 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int BETWEEN 5 and 6

This thread and this thread discuss how you can compare/test the actors/aggressors strings.

Re: ColdCall RFI Right?

PostPosted: Tue Oct 13, 2020 12:53 pm
by OneKef
Let's see if it can go, or I have to study a lot more.Just an example, then I recreate them for good if the technique is right.

ColdCall vs EP (seat 5+6) table 9max:

cnt_p_coldcall_vs_EP_open

Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_ccall and not(tourney_hand_player_statistics.flg_p_limp) and (tourney_hand_player_statistics.flg_p_squeeze_opp is false) and tourney_hand_summary.cnt_players = 9 and char_length(tourney_hand_summary.str_aggressors_p) >= 2 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int BETWEEN 5 and 6 , 1, 0])


cnt_p_ccall_opp_vs_EP_open

Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet_opp and (tourney_hand_player_statistics.flg_p_squeeze_opp is false) and not(tourney_hand_player_statistics.flg_p_limp) and tourney_hand_summary.cnt_players = 9 and char_length(tourney_hand_summary.str_aggressors_p) >= 2 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int BETWEEN 5 and 6, 1, 0])



Here for example, vs EP as before but the caller is HJ (seat 2)

cnt_p_coldcall_vs_EP_open_HJ

Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_ccall and not(tourney_hand_player_statistics.flg_p_limp) and (tourney_hand_player_statistics.flg_p_squeeze_opp is false) and tourney_hand_summary.cnt_players = 9 and char_length(tourney_hand_summary.str_aggressors_p) >= 2 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int BETWEEN 5 and 6 and (tourney_hand_player_statistics.position) =2, 1, 0])


cnt_p_ccall_opp_vs_EP_open_HJ

Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet_opp and (tourney_hand_player_statistics.flg_p_squeeze_opp is false) and not(tourney_hand_player_statistics.flg_p_limp) and tourney_hand_summary.cnt_players = 9 and char_length(tourney_hand_summary.str_aggressors_p) >= 2 and substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int BETWEEN 5 and 6 and (tourney_hand_player_statistics.position) =2, 1, 0])


unfortunately I already know that I will have to study more :?

Re: ColdCall RFI Right?

PostPosted: Wed Oct 14, 2020 1:24 pm
by Flag_Hippo
That looks fine but bear in mind the following:

1) You do not need not(tourney_hand_player_statistics.flg_p_limp) since it is not possible to limp and cold call a raise.

2) You are using tourney_hand_player_statistics.flg_p_3bet_opp in the opportunities columns but not the call column so this can lead to a mismatch between the number of hands each column counts. Either use it in both or not at all depending on what you want. For example if the 2Bet is all-in or covered the caller then tourney_hand_player_statistics.flg_p_3bet_opp wouldn't necessarily be true for the opportunities column but it would still always get counted in the call column as things stand since it isn't specified there. If you want to count everything use tourney_hand_player_statistics. amt_p_2bet_facing > 0 instead of tourney_hand_player_statistics.flg_p_3bet_opp but you need to use one or the other in both columns so you don't get hands counted where a player cold calls a 3Bet or higher.

3) If you want to make sure that the raise was a raise first in (so you don't get hands where seat 5 limps and seat 6 raises) you will need to add:

Code: Select all
substring(tourney_hand_summary.str_aggressors_p from 2 for 1)::int = substring(tourney_hand_summary.str_actors_p from 1 for 1)::int

Re: ColdCall RFI Right?

PostPosted: Wed Oct 14, 2020 1:37 pm
by OneKef
Ti amo

highfalutin