見出し画像

Preflop Checker ver0.9を作成しました

Preflop Checker(プリフロップチェッカー)は、NLHのハンドヒストリーを解析し、Heroのプリフロップアクションがレンジを逸脱していないかを判定・集計するアプリです。

自身のプリフロップ戦略について、
「ソリューション通りにプレイしていると思うのにVPIPが適正値から乖離している」
「多面打ちをしているがレンジが疎かになっていないか確認したい」
「そもそもソリューションを覚えられない」

のように感じている方は、本アプリでプリフロップを復習・確認していただき、レンジの下限や上限を覚えることにつながれば幸いです。

尚、判定に使うレンジは本アプリに同梱されておりません。お持ちのソリューションファイルを使うか、自作する必要があります。

動作環境・ポーカーサイト

Windows10で動作を確認しています。
ハンドヒストリーはPokerStars及びGGpoker(PokerCraft)のNLHゲームにおいて対応を確認しています。
正誤判定にあたってはPiosolver形式のテキストファイルを使用します。

使い方

①アプリのダウンロード

こちらから本アプリをダウンロードできます。

②レンジフォルダの設定

Preflop Checker.exeを起動し、「ポジション設定」タブを開きます。

「レンジフォルダパス」の参照をクリックし、判定に使うレンジファイルを格納するフォルダを指定します。同梱してある空のrangeフォルダがお薦めです。

※後の操作でレンジファイル名を変更するので、普段solverなどで使用しているフォルダとは別のフォルダを指定し、ソリューションファイルをコピーすることを推奨します。

③レンジファイルの用意

・ソリューションファイルを持っていない場合

各ポジションのRaise/Call/AllInのレンジを作成する必要があります。全て網羅するには2bet/3bet/4bet/5betのレンジが必要です。
(Heroの最終アクションがFoldのレンジは作成不要です。各レンジを探査し、いずれにも該当しなければFoldが正解判定となります。)

全てのレンジを作成するのは手間なので、まずは各ポジションのオープン/ディフェンスや3betのレンジを作って、HM3/PT4などで下記のようにフィルターしたハンドを解析するのがお薦めです。

2betフィルター例
DidVPIP=true and Preflop3BetPot=false and Preflop4BetPot=false and AllInOnPreflop=false

Piosolver形式のレンジファイルを作るには次の2通りがあります。

1.GTO Wizard(有料版)からレンジをコピーする
GTO Wizardのプラン購入者であれば、ソリューション画面の「コピー」ボタンでPio形式のレンジをコピー出来ます。任意のアクションレンジをコピーしてメモ帳に貼り付けて、後述する形式のファイル名で保存すればOKです。

2.Piosolver(free)で作成する
Piosolverの無料版で作成する方法です。
まずPioUpdaterをダウンロードします。

https://piofiles.com/download/Updater/PioUpdater.exe

ダウンロードしたらPioUpdater.exeを起動し、"PioSolver 2 Free"の列にある"Install/Update"をクリックしてPioSolverをインストールします。

インストールが終わったらPioViewerFree.exeを開き、"Postflop Tree Building and Calculations"のタブをクリックします。

上記画像の赤枠にある濃い灰色の部分をクリックするとレンジ作成画面が開きます。

適当なレンジをクリックしたりドラッグしたりしてレンジを作ったら、"save current range"をクリックし、後述する形式のファイル名で保存します。

・ソリューションファイルを持っている場合

②で指定したフォルダにソリューションファイルを格納します。
以下の画像のようにファイルを突っ込みます。

※上記画像ではポジションや3bet-5betでフォルダ分けしていますが、レンジファイルはフォルダ分けせずに出来るだけ一つのフォルダにまとめたほうが解析が速く進みます。フォルダの検索窓から".txt"などで絞り込んでまとめてコピーする方法がお薦めです。

格納したら、各ファイル名を次の文法に変更します。
変換にはファイル名変換ソフトや、後述の変換ボタンを利用してください。

(ポジション)_(アクション)_(ポジション)_(アクション)_… .txt

ファイル例:
UTG_Raise_BTN_Call_SB_Raise_UTG_Raise_BTN_Fold_SB_AllIn_UTG_Call.txt

アクションは"Raise","Call","Fold","AllIn"のいずれかにしてください。
BBのCheckはCallにしてください。

ポジションは下記画像のように「ポジション設定」タブに入力されているポジションにしてください。各名称の設定は変更可です。

下記はRange Converterのソリューションを用いた変更例です。

BTN_2.5bb_BB_11.0bb_BTN_Call.txt

BTN_Raise_BB_Raise_BTN_Call.txt

Range Converterのようなファイル名形式であれば、同設定画面にある「ファイル名変換」ボタンにて一括変換が可能です。操作は元に戻せないので必ず元ファイルをコピーしてから実行してください。

・プレイヤー人数毎にレンジをフォルダ分けする場合
レンジをゲームによって分ける場合(6max,3max,HUなど)は、フォルダ名を上記ポジション設定画面のテーブル人数指定領域(肌色部分)で設定されている名称にしてください。
一つのゲームしかプレイしていない人は設定不要です。

フォルダ設定例:

\range\6max\BTN_Raise.txt
\range\3max\BTN_Raise.txt
\range\HU\SB_Raise.txt

・エフェクティブスタック毎にレンジを分ける場合
ファイル名の先頭に、上記設定画面「スタック区分ファイル命名法」で設定されている接頭辞を追加してください。エフェクティブスタックがしきい値以上である場合は最も多いスタックのレンジを参照します。上記画面の設定では12bb未満と13bb以上でレンジを分けています。

ファイル名設定例:

12bb_BTN_Raise.txt
13bb+_BTN_Raise.txt

人数&スタックで分ける例:

\range\6max\BTN_Raise.txt
\range\3max\12bb_BTN_Raise.txt
\range\3max\13bb+_BTN_Raise.txt
\range\HU\12bb+_SB_Raise.txt
\range\HU\6bb_SB_AllIn.txt

※エフェクティブスタックについて
アクティブプレイヤーの中でHeroのスタックが一番低い場合はHeroのスタックがエフェクティブスタックになります。そうでない場合は、Heroの次に多いスタックがエフェクティブスタックになります。

④解析・画面説明

解析画面の説明になります。

①「解析実行」
クリックすると解析を開始します。
ハンドヒストリーを開くダイアログが出るので、解析したいtxtファイルを指定してください。一度に数千件以上のハンドを解析するのは少し時間がかかります。

②「結果をクリア」
前回解析した結果に加えて結果を表示する場合はチェックを外してください。

③「頻度~未満のアクションを誤答にする」
誤答扱いにする頻度のしきい値を設定できます。例えば20%に設定している場合、ソリューションでFold頻度18%のハンドをFoldしていたら誤答扱いになります。

④「正答率からレンジ未設定ラインを除外する」
解析したアクションラインに該当するレンジが存在しない場合は"No-line"判定となり、その判定となったアクションを正誤統計から除外します。
オープンリンプやコールドコールなどが起こっているハンドは大抵No-lineになります。

⑤「プレイヤー数(着席数)を考慮する」
ゲーム人数に合わせてレンジを分ける場合はチェックを入れてください。
プレイヤー数はテーブルサイズではなく実際に座っているプレイヤーの人数を使用します。

⑥「エフェクティブスタックを考慮する」
エフェクティブスタック毎にレンジを分ける場合はチェックを入れてください。(Spin、トーナメント向け)

終わりに

使用して便利だと思ったら本noteに是非スキしてください。
Twitterやコメ欄にて感想・質問・バク報告もお待ちしております。

頂いたサポートはポーカーライフの向上に使用させていただきます!