Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB positions

Discuss how to create custom stats, reports and HUD profiles and share your creations.

Moderators: WhiteRider, kraada, Flag_Hippo, morny, Moderators

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby SirDehi » Sat Jan 19, 2019 6:37 pm

Flag_Hippo wrote:
SirDehi.png

I cannot reproduce this. Have you rebuilt your custom cache?


The custom cache rebuild seems to have fixed the issue, thank you!
SirDehi
 
Posts: 78
Joined: Sun Jun 19, 2016 12:00 pm

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby SirDehi » Sun Jan 20, 2019 11:49 am

Hey,
Once again, I need your help :oops:

I'm trying to make the following stat (I've have been trying for many hours)

Call 4bet % when:
- No limpers in the pot
- Player 3bets the Raise first in player
- No preflop Squeeze opportunities for the 3bettor
- No preflop cold caller after the 3bettor
- No preflop cold 4bettor after the 3bettor
- The raise first in player 4Bets the 3Bettor
- The 4Bet raise is not an all-in
- The 4bet size is between 18 and 33 BB (don't know how to do this)

Here's what I got so far:
actions
Code: Select all
sum(if[char_length(cash_hand_summary.str_aggressors_p) = 3 and char_length(cash_hand_summary.str_actors_p) = 4 and not(substring(cash_hand_summary.str_actors_p from 1 for 1) != substring(cash_hand_summary.str_aggressors_p from 2 for 1)) and cash_hand_player_statistics.flg_p_3bet and substring(cash_hand_summary.str_aggressors_p from 3 for 1) = substring(cash_hand_summary.str_aggressors_p from 1 for 1) and substring(cash_hand_summary.str_actors_p from 3 for 1) = substring(cash_hand_summary.str_aggressors_p from 1 for 1) and not (cash_hand_player_statistics.enum_face_allin = 'P') and substring(cash_hand_summary.str_actors_p from 2 for 1) = substring(cash_hand_summary.str_aggressors_p from 2 for 1) and cash_hand_player_statistics.flg_f_saw, 1 ,0])


opportunities
Code: Select all
sum(if[char_length(cash_hand_summary.str_aggressors_p) >= 3 and char_length(cash_hand_summary.str_actors_p) >= 4 and not(substring(cash_hand_summary.str_actors_p from 1 for 1) != substring(cash_hand_summary.str_aggressors_p from 2 for 1)) and cash_hand_player_statistics.flg_p_3bet and substring(cash_hand_summary.str_aggressors_p from 3 for 1) = substring(cash_hand_summary.str_aggressors_p from 1 for 1) and substring(cash_hand_summary.str_actors_p from 3 for 1) = substring(cash_hand_summary.str_aggressors_p from 1 for 1) and not (cash_hand_player_statistics.enum_face_allin = 'P') and substring(cash_hand_summary.str_actors_p from 2 for 1) = substring(cash_hand_summary.str_aggressors_p from 2 for 1), 1 ,0])


Cheers !
SirDehi
 
Posts: 78
Joined: Sun Jun 19, 2016 12:00 pm

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby Flag_Hippo » Mon Jan 21, 2019 12:46 pm

SirDehi wrote:char_length(cash_hand_summary.str_aggressors_p) = 3

That won't work for 4bet pots.
SirDehi wrote:and not(substring(cash_hand_summary.str_actors_p from 1 for 1) != substring(cash_hand_summary.str_aggressors_p from 2 for 1)) and cash_hand_player_statistics.flg_p_3bet and substring(cash_hand_summary.str_aggressors_p from 3 for 1) = substring(cash_hand_summary.str_aggressors_p from 1 for 1) and substring(cash_hand_summary.str_actors_p from 3 for 1) = substring(cash_hand_summary.str_aggressors_p from 1 for 1) and not (cash_hand_player_statistics.enum_face_allin = 'P') and substring(cash_hand_summary.str_actors_p from 2 for 1) = substring(cash_hand_summary.str_aggressors_p from 2 for 1)

You only need to test for the 2bettor being the 4bettor which you are doing incorrectly as the first character of the aggressors string always starts with an 8 (the first bet preflop is the forced bet from the big blind).
SirDehi wrote:No preflop Squeeze opportunities for the 3bettor

Code: Select all
not cash_hand_player_statistics.flg_p_squeeze_opp

SirDehi wrote:The 4Bet raise is not an all-in

Code: Select all
lookup_actions_f.action NOT LIKE ''

SirDehi wrote:The 4bet size is between 18 and 33 BB (don't know how to do this)

Code: Select all
cash_hand_player_statistics.amt_p_4bet_facing + cash_hand_player_statistics.amt_p_raise_made / cash_limit.amt_bb between 18 and 33


Actions
Code: Select all
sum(if[char_length(cash_hand_summary.str_aggressors_p) = 4 and char_length(cash_hand_summary.str_actors_p) = 4 and cash_hand_player_statistics.flg_p_3bet and not cash_hand_player_statistics.flg_p_squeeze_opp and substring(cash_hand_summary.str_aggressors_p from 2 for 1) = substring(cash_hand_summary.str_aggressors_p from 4 for 1) and cash_hand_player_statistics.flg_f_saw and lookup_actions_f.action NOT LIKE '' and cash_hand_player_statistics.amt_p_4bet_facing + cash_hand_player_statistics.amt_p_raise_made / cash_limit.amt_bb BETWEEN 18 and 33, 1, 0])
Flag_Hippo
Moderator
 
Posts: 14441
Joined: Tue Jan 31, 2012 7:50 am

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby SirDehi » Mon Jan 21, 2019 1:21 pm

Thank you so much:
You only need to test for the 2bettor being the 4bettor which you are doing incorrectly as the first character of the aggressors string always starts with an 8 (the first bet preflop is the forced bet from the big blind).

This was my grail!
Is this also true with the str_actors string?

Code: Select all
cash_hand_player_statistics.amt_p_4bet_facing + cash_hand_player_statistics.amt_p_raise_made / cash_limit.amt_bb between 18 and 33


Doesn't this create a potential error where A + B / C where the stat firsts calculates B/C and then adds A ?
Is math operator precedence respected when making a stat?
SirDehi
 
Posts: 78
Joined: Sun Jun 19, 2016 12:00 pm

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby SirDehi » Mon Jan 21, 2019 1:45 pm

I must be dumb, but I can't figure out the opportunities column...

here's what I got:
actions
Code: Select all
sum(if[char_length(cash_hand_summary.str_aggressors_p) = 4 and char_length(cash_hand_summary.str_actors_p) = 4 and cash_hand_player_statistics.flg_p_3bet and not cash_hand_player_statistics.flg_p_squeeze_opp and substring(cash_hand_summary.str_aggressors_p from 2 for 1) = substring(cash_hand_summary.str_aggressors_p from 4 for 1) and lookup_actions_f.action NOT LIKE '' and (cash_hand_player_statistics.amt_p_4bet_facing + cash_hand_player_statistics.amt_p_raise_made) / cash_limit.amt_bb BETWEEN 18 and 33 and cash_hand_player_statistics.flg_f_saw, 1, 0])


opportunities
Code: Select all
sum(if[char_length(cash_hand_summary.str_aggressors_p) >= 4 and char_length(cash_hand_summary.str_actors_p) >= 4 and cash_hand_player_statistics.flg_p_3bet and not cash_hand_player_statistics.flg_p_squeeze_opp and substring(cash_hand_summary.str_aggressors_p from 2 for 1) = substring(cash_hand_summary.str_aggressors_p from 4 for 1) and lookup_actions_f.action NOT LIKE '' and (cash_hand_player_statistics.amt_p_4bet_facing + cash_hand_player_statistics.amt_p_raise_made) / cash_limit.amt_bb BETWEEN 18 and 33 and substring(cash_hand_summary.str_actors_p from 3 for 1) = substring(cash_hand_summary.str_aggressors_p from 2 for 1), 1, 0])


So far I'm getting actions/opportunities = 1 with the tests I've done so far with this :?:
SirDehi
 
Posts: 78
Joined: Sun Jun 19, 2016 12:00 pm

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby Flag_Hippo » Tue Jan 22, 2019 6:34 am

SirDehi wrote:Is this also true with the str_actors string?

No. The actors string records the positions of the players who VPIP'd (raised or called) in order so that doesn't include the forced bet from the BB - see this post for more information.
SirDehi wrote:Doesn't this create a potential error where A + B / C where the stat firsts calculates B/C and then adds A ?

With or without brackets the results are the same.
SirDehi wrote:but I can't figure out the opportunities column...

Your opportunities column needs to still ignore hands where the 4bet was all-in but it has to include hands where there may have been an all-in afterwards. Also folds vs the 4bet are an opportunity to call and if the player folds the actors string won't be >= 4.
SirDehi wrote:So far I'm getting actions/opportunities = 1 with the tests I've done so far with this

Working fine for me with 82 actions on a small database. Have you rebuilt your custom cache? How are you testing? With the method described here? Make sure to turn off the 'Filter On Active Player' option to test on all players in your database if the sample on the active player isn't large enough.
Flag_Hippo
Moderator
 
Posts: 14441
Joined: Tue Jan 31, 2012 7:50 am

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby SirDehi » Tue Jan 22, 2019 4:49 pm

Every thing seems to work brilliantly now,
Thank you very much for being patient with me throughout this thread, I learned so much!

Finding the info about str_aggressors_p and str_actors_p, aswell as the reports method to test columns were great insights!
SirDehi
 
Posts: 78
Joined: Sun Jun 19, 2016 12:00 pm

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby SirDehi » Wed Jan 23, 2019 1:36 pm

Hello again,

Question 1 :

I created a Stat called 4Bet All In Effective at LESS THAN or equal to 90bb effective stack depth, which sums the number of times the following statements are all true:
- The player is facing a 3bet or a squeeze
- The player's effective stack depth is less than or equal to 90bb
- The player 4bets
- The player's 4bet size must be at least 67% of the effective stack depth

After creating the stat, I wanted the card range to be displayed via the "NoteTracker" tool.
To my surprise I need to create a FILTER, and not a stat in order to set up notetracker rules.

My question is, how would you go about creating the "The player's 4bet size must be at least 67% of the effective stack depth" in a filter?


Question 2 :

How is it that my count 4BAI effective and 90bb or less is not cacheable?
actions
Code: Select all
sum(if[(cash_hand_player_statistics.flg_p_3bet_def_opp or cash_hand_player_statistics.flg_p_squeeze_def_opp) and cash_hand_player_statistics.amt_p_effective_stack / cash_limit.amt_bb <= 90 and cash_hand_player_statistics.flg_p_4bet and cash_hand_player_statistics.amt_p_raise_made >= 0.67 * cash_hand_player_statistics.amt_p_effective_stack, 1, 0])


opportunities
Code: Select all
sum(if[(cash_hand_player_statistics.flg_p_3bet_def_opp or cash_hand_player_statistics.flg_p_squeeze_def_opp) and cash_hand_player_statistics.amt_p_effective_stack / cash_limit.amt_bb <= 90, 1, 0])
SirDehi
 
Posts: 78
Joined: Sun Jun 19, 2016 12:00 pm

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby Flag_Hippo » Thu Jan 24, 2019 8:09 am

1. You can set those two parameters using filters but you cannot directly compare them with each other.

2. They can use the cache:

SirDehi_cache.png
Flag_Hippo
Moderator
 
Posts: 14441
Joined: Tue Jan 31, 2012 7:50 am

Re: Call 4Bet after 3bet from the BB/SB/BN vs CO/BN/SB posit

Postby SirDehi » Thu Jan 24, 2019 9:18 am

Thank you!
SirDehi
 
Posts: 78
Joined: Sun Jun 19, 2016 12:00 pm

PreviousNext

Return to Custom Stats, Reports and HUD Profiles

Who is online

Users browsing this forum: No registered users and 24 guests

cron
highfalutin