Re: Описание Poker Tracker 3 в картинках.
Добавлено: 01 дек 2009, 19:04
Создание и редактирование статов в примерах.
Пример №1.
В последних версиях PokerTracker 3 появилась возможность выводить статы по позициям (blinds, EP, MP, LP). Я считаю, что такой вывод статов более правильный, чем вывод статов по каждой конкретной позиции (импортированные статы), так как при уменьшении количества игроков за столом «логика» статистики по конкретной позиции искажается. Например, в 6 макс игре позиция Hijack - МР, а при сокращении числа игроков до пяти, позиция Hijack - EP. Вывод статов по каждой конкретной позиции этого не учитывает.
Логика позиционности в ПТ3.
Но мне кажется, что позиции blinds, всё же лучше разбить на отдельные позиции - SB и BB, так как игра в этих позициях слишком различная и не правильно смешивать статистику по ним.
Создадим статы – PFR_SB и PFR_BB.
Сначала посмотрим как рассчитывается обычный стат PFR без учета позиции, для этого посмотрим формулу расчета PFR. Формула следующая (cnt_pfr / cnt_hands) * 100.
В формуле присутствует два расчетных значения (столбцы) cnt_pfr и cnt_hands. Посмотрим, как они рассчитываются: cnt_pfr - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0, 1, 0])
cnt_hands - sum(if[holdem_hand_player_statistics.id_hand > 0, 1, 0])
Разберем выражение cnt_pfr - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0, 1, 0]) . Подсчитывает количество рук, в которых игрок на префлопе делал рейз.
Sum – оператор суммирования, означает, что результатом столбца будет сумма значений всех ячеек столбца.
Ячейки столбца будут получать значения по следующему принципу if[holdem_hand_player_statistics.cnt_p_raise > 0, 1, 0]. Если (if) значение holdem_hand_player_statistics.cnt_p_raise > 0 - то значение в ячейке 1 иначе 0. Описания ячеек таблиц баз данных есть здесь. holdem_hand_player_statistics – название таблицы базы данных. cnt_p_raise – название ячейки. В данном случае, cnt_p_raise - количество рейзов игрока на префлопе в данном розыгрыше.
Выражение cnt_hands - sum(if[holdem_hand_player_statistics.id_hand > 0, 1, 0]). Подсчитывает количество сыгранных рук игроком.
Sum – оператор суммирования, означает, что результатом столбца будет сумма значений всех ячеек столбца.
Ячейки столбца будут получать значения по следующему принципу if[holdem_hand_player_statistics. id_hand > 0, 1, 0] . Если (if) значение holdem_hand_player_statistics. id_hand > 0 - то значение в ячейке 1 иначе 0. id_hand - идентификатор розыгрыша.
Теперь мы представляем как рассчитывается стат PFR без учета позиции и попробуем по аналогии написать стат PFR_SB и PFR_BB.
Сначала составим формулу для PFR_SB. Формула будет выглядеть так: (cnt_pfr_sb / cnt_hands_sb) * 100
Где cnt_pfr_sb (столбец)– количество рук, в которых игрок делал рейз на префлопе в позиции SB, а cnt_hands_sb (столбец)– общее количество рук сыгранных в позиции SB.
Посмотрев таблицу holdem_hand_player_statistics мы находим в ней следующие необходимые нам параметры (ячейки) для расчета наших столбцов:
Формула расчета столбца cnt_pfr_sb будет следующая - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0 and holdem_hand_player_statistics.position = 9, 1, 0]). А формула расчета столбца cnt_hands_sb - sum(if[holdem_hand_player_statistics.position = 9, 1, 0]).
And – логическое «И», если оба выражения истинны результат 1, во всех остальных случаях 0.
Для стата PFR_BB формулы расчета будут такие же как и для PFR_SB за исключением того что номер позиции будет равняться восьми, а не девяти.
PFR_BB
(cnt_pfr_bb / cnt_hands_bb) * 100
cnt_pfr_bb
sum(if[holdem_hand_player_statistics.cnt_p_raise > 0 and holdem_hand_player_statistics.position = 8, 1, 0])
cnt_hands_bb
sum(if[holdem_hand_player_statistics.position = 8, 1, 0])
Расчет формул сделан, переходим к реальному созданию данных статов.
Выбираем вкладку «Configure → Configure Stats».
На вкладке Sections выделяем подраздел Holdem Cash Player Statistics (если делаем статы для турниров, то Holdem Tournament Player Statistics)
Переходим на вкладку Columns и нажимаем кнопку New.
Вписываем в поле Name наименование столбца для расчета количества рук, в которых игрок делал рейз на префлопе в позиции SB - cnt_pfr_sb, в поле Expression нашу формулу расчета столбца - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0 and holdem_hand_player_statistics.position = 9, 1, 0]).
Проверяем соответствие формулы правилам написания SQL запросов, нажав кнопку Validate.
Сохраняем нашу запись, нажав кнопку Save.
В поле Existing Columns мы видим, что в списке столбцов появился созданный нами столбец cnt_pfr_sb.
Для создания следующего нашего столбца - cnt_hands_sb, опять нажимаем кнопку New.
Вписываем в поле Name наименование столбца для расчета общего количество рук сыгранных в позиции SB - cnt_hands_sb, в поле Expression нашу формулу расчета столбца - sum(if[holdem_hand_player_statistics.position = 9, 1, 0]).
Проверяем соответствие формулы правилам написания SQL запросов, нажав кнопку Validate.
Сохраняем нашу запись, нажав кнопку Save.
В поле Existing Columns мы видим, что в списке столбцов появился созданный нами столбец cnt_hands_sb.
Продолжение →
Пример №1.
В последних версиях PokerTracker 3 появилась возможность выводить статы по позициям (blinds, EP, MP, LP). Я считаю, что такой вывод статов более правильный, чем вывод статов по каждой конкретной позиции (импортированные статы), так как при уменьшении количества игроков за столом «логика» статистики по конкретной позиции искажается. Например, в 6 макс игре позиция Hijack - МР, а при сокращении числа игроков до пяти, позиция Hijack - EP. Вывод статов по каждой конкретной позиции этого не учитывает.
Логика позиционности в ПТ3.
Но мне кажется, что позиции blinds, всё же лучше разбить на отдельные позиции - SB и BB, так как игра в этих позициях слишком различная и не правильно смешивать статистику по ним.
Создадим статы – PFR_SB и PFR_BB.
Сначала посмотрим как рассчитывается обычный стат PFR без учета позиции, для этого посмотрим формулу расчета PFR. Формула следующая (cnt_pfr / cnt_hands) * 100.
В формуле присутствует два расчетных значения (столбцы) cnt_pfr и cnt_hands. Посмотрим, как они рассчитываются: cnt_pfr - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0, 1, 0])
cnt_hands - sum(if[holdem_hand_player_statistics.id_hand > 0, 1, 0])
Разберем выражение cnt_pfr - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0, 1, 0]) . Подсчитывает количество рук, в которых игрок на префлопе делал рейз.
Sum – оператор суммирования, означает, что результатом столбца будет сумма значений всех ячеек столбца.
Ячейки столбца будут получать значения по следующему принципу if[holdem_hand_player_statistics.cnt_p_raise > 0, 1, 0]. Если (if) значение holdem_hand_player_statistics.cnt_p_raise > 0 - то значение в ячейке 1 иначе 0. Описания ячеек таблиц баз данных есть здесь. holdem_hand_player_statistics – название таблицы базы данных. cnt_p_raise – название ячейки. В данном случае, cnt_p_raise - количество рейзов игрока на префлопе в данном розыгрыше.
Выражение cnt_hands - sum(if[holdem_hand_player_statistics.id_hand > 0, 1, 0]). Подсчитывает количество сыгранных рук игроком.
Sum – оператор суммирования, означает, что результатом столбца будет сумма значений всех ячеек столбца.
Ячейки столбца будут получать значения по следующему принципу if[holdem_hand_player_statistics. id_hand > 0, 1, 0] . Если (if) значение holdem_hand_player_statistics. id_hand > 0 - то значение в ячейке 1 иначе 0. id_hand - идентификатор розыгрыша.
Теперь мы представляем как рассчитывается стат PFR без учета позиции и попробуем по аналогии написать стат PFR_SB и PFR_BB.
Сначала составим формулу для PFR_SB. Формула будет выглядеть так: (cnt_pfr_sb / cnt_hands_sb) * 100
Где cnt_pfr_sb (столбец)– количество рук, в которых игрок делал рейз на префлопе в позиции SB, а cnt_hands_sb (столбец)– общее количество рук сыгранных в позиции SB.
Посмотрев таблицу holdem_hand_player_statistics мы находим в ней следующие необходимые нам параметры (ячейки) для расчета наших столбцов:
- cnt_p_raise - количество рейзов игрока на префлопе в данном розыгрыше.
- position - Позиция относительно баттона. 0 = баттон, 9 = малый блайнд, 8 = большой блайнд.
Формула расчета столбца cnt_pfr_sb будет следующая - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0 and holdem_hand_player_statistics.position = 9, 1, 0]). А формула расчета столбца cnt_hands_sb - sum(if[holdem_hand_player_statistics.position = 9, 1, 0]).
And – логическое «И», если оба выражения истинны результат 1, во всех остальных случаях 0.
Для стата PFR_BB формулы расчета будут такие же как и для PFR_SB за исключением того что номер позиции будет равняться восьми, а не девяти.
PFR_BB
(cnt_pfr_bb / cnt_hands_bb) * 100
cnt_pfr_bb
sum(if[holdem_hand_player_statistics.cnt_p_raise > 0 and holdem_hand_player_statistics.position = 8, 1, 0])
cnt_hands_bb
sum(if[holdem_hand_player_statistics.position = 8, 1, 0])
Расчет формул сделан, переходим к реальному созданию данных статов.
Выбираем вкладку «Configure → Configure Stats».
На вкладке Sections выделяем подраздел Holdem Cash Player Statistics (если делаем статы для турниров, то Holdem Tournament Player Statistics)
Переходим на вкладку Columns и нажимаем кнопку New.
Вписываем в поле Name наименование столбца для расчета количества рук, в которых игрок делал рейз на префлопе в позиции SB - cnt_pfr_sb, в поле Expression нашу формулу расчета столбца - sum(if[holdem_hand_player_statistics.cnt_p_raise > 0 and holdem_hand_player_statistics.position = 9, 1, 0]).
Проверяем соответствие формулы правилам написания SQL запросов, нажав кнопку Validate.
Сохраняем нашу запись, нажав кнопку Save.
В поле Existing Columns мы видим, что в списке столбцов появился созданный нами столбец cnt_pfr_sb.
Для создания следующего нашего столбца - cnt_hands_sb, опять нажимаем кнопку New.
Вписываем в поле Name наименование столбца для расчета общего количество рук сыгранных в позиции SB - cnt_hands_sb, в поле Expression нашу формулу расчета столбца - sum(if[holdem_hand_player_statistics.position = 9, 1, 0]).
Проверяем соответствие формулы правилам написания SQL запросов, нажав кнопку Validate.
Сохраняем нашу запись, нажав кнопку Save.
В поле Existing Columns мы видим, что в списке столбцов появился созданный нами столбец cnt_hands_sb.
Продолжение →