User Manual

Oranges Omaha6 Calculator - User Manual

About oRanges Omaha6 Calculator

The program is an analytical tool for analyzing the 6 card Omaha poker game.
This tool helps 6 card Omaha poker players better to understand how frequently range hits specific hand ranks and allows you to calculate the probability of starting hand range to fit a given board and helps to build your own ranges to significantly increase your skill.

A user-friendly interface will help you to understand the structure of players' ranges and calculate equity.
Equity is calculated using the Monte Carlo method.

There are built-in expression parsers to help you create and filter input ranges. At the time of writing this manual the program supports Omaha Hi only.

Oranges Omaha6 Calculator- Main window

Compatible operating systems: Windows and MacOS

The program has a free 5-day fully functional trial period. How to activate the trial period?

Board cards selection

In this block, located in the upper left corner of the program window, you can select board cards.

Board cards

Board cards can be selected one at a time or can be generated randomly using buttons to the right of the block.
Use F Random, T Random, R Random buttons for generating random 3, 4 or 5 board cards.

If 3 or 4 board cards have been already selected, you can fix them by checking the corresponding Fix checkbox.
When the board cards are fixed, clicking on the T Random and R Random buttons respectively will generate one random card for the turn or river.

Dead cards selection

Dead cards block is designed to remove cards from the deck. You can select dead cards in this block.

Dead cards

If you have already selected board cards, then these cards will not be available for selection.

Entering ranges

To enter a range, you can use the Range field, the range assistant that opens when you press the Range button, or the Hand button when you need to enter a single hand.

Entering ranges

When you enter a range into the Range field, an expression parser is used that allows you to enter multiple hands according to the rules for composing expressions.

The expression syntax has a set of rules that must be used to efficiently enter ranges.

Single hand
To indicate a single hand, directly enter 6 cards that make up the hand into the Range field - AsKdAd9d6h3s, for example.

Multiple hands combinations
To get all hands containing eg A, K, Q and J, enter AKQJ without any suits. Cards in a hand can be specified with suits.
For example, if you enter AdKQJ, then we get hands containing Ad and all possible combinations of 3 cards with a rank of K, Q, J of all possible suits.

Suit specifications
To indicate cards of the same suit, you must enclose them in square brackets.
Examples:
[AT]**** will give you all hands containing AT suited and 4 other cards.
[AT][AT]** will give you a pair of suited A and T, and [QT][87]** will give you all QT87 hands, where QT and 87 are suited and their suits are not the same.
[***]*** will give you all hands with at least three same suit cards. * - denotes any rank A,K,Q, ...,2.
[***][**]* will give you all hands with three cards of one suit and 2 cards of other suit.
[AhKhQh][*][*][*] will give you all hands with AhKhQh combined with any cards of three distinct suits (c, d, s).

Pairs
QQ**** gives all hands containing at least two queens.
[Q*][Q*]** gives hands with queens of two suits with two other cards of the same suit.

Percentile
17.3% will give the best 17.3% of hands, according to hand rank.
10-23.5% will give the best hands from 10% to 23.5%, according to hand rank.

Cards pattern
* = Cards of all ranks: A, K, Q, ..., 2.
B = big cards: A, K, Q, J.
R = broadway cards: A, K, Q, J, T.
F = face cards, K, Q, J.
M = medium cards, T, 9, 8, 7.
Z = small cards, 6, 5, 4, 3, 2.
L = low cards, A, 2, 3, 4, 5, 6, 7, 8.
N = no low cards, K, Q, J, T, 9.
W = wheel cards, A, 2, 3, 4, 5.
Y = baby cards, 2, 3, 4, 5.
[ ] = grouping of suited cards.

For each of the 6 cards, you can enter a range. For example, A-T***** will give you A*****, K*****, Q*****, J*****, T***** .
For each of the 6 cards, you can enter an open range. For example, Q+***** will give you A*****,K*****,Q*****.
You can combine ranges for all 6 cards. For example, K-TQ+9-73+2 will give you hands where the first card has a rank between K and T, the second card has a rank greater than or equal to Q, the third is between 9 and 7, the fourth card has a rank greater than or equal to 3 and the fifth card has a rank 2.

Additional filters
Each additional filter must be separated from the main pattern by a slash. Filter syntax: RangePattern/filter.
For example, BB****/op.

Pair filters
np = no pair, unpaired hands (contains XYZR hands).
nt = no trips (contanins XYZR,XXYZ,XXYY hands).
nq = no quads (contains XYZR,XXYZ,XXYY,XXXY hands).
op = one pair, exact pair (contains XXZR hands).
alop = at least one pair, one pair or more (contains XXXX, XXXY, XXYY and XXYZ hands).
tp = two pair, exactly two pair (contains XXYY hands).
tr = trips, exact trips (contains XXXYZW hands).
ta = trips, exact trips (contains XXXYZW and XXXYYY hands).
3p = trips, exact trips (contains XXYYZZ hands).
altr = at least trips (contains hands XXXX and XXXY).
tw = trips and pair (contains XXXYY and XXYYYY hands).
qu = quads, exact quads (contains XXXX hands).

Rundown filters
rd00 = rundown, hand cards are in consecutive rank order.
rdAB = rundown with gaps, hand cards are in consecutive rank order with gaps A and B.
If A = 0 or B = 0, then there is no any gap.
Examples:
rd01 consecutive cards in a hand with one hole and a gap of 1 rank - AcKdJdTc9c, JhTc9c7d6h.
rd03 consecutive cards in a hand with one hole and a gap of 3 ranks - AcKd9d8c7h,Jh7h6s5s4c
rd13 consecutive cards in a hand with two holes and gaps of ranks 1 and 3 - AcKdJd7c6c, JdTh8s4c3h

Filters added since version 1.0.0.7

suR1R2 = hands contain suited cards of specified ranks R1 and R2 (R1 > R2). Ex: */suAT, */suQT.
ofR1R2 = hands contain offsuited cards of specified ranks R1 and R2 (R1 > R2). Ex: */ofAT, */ofQT.

ksR = keep single rank; hands contain a single card of the specified rank R. Ex: */ksK, */ksT.
krR = keep rank; hands contain a card of the specified rank R. Ex: */krK, */krT.
kcRs = keep card; hands contain a card of the specified rank R and suit s. Ex: */kcAs, */kcTd.
kpR1R2 = keep pair ranks; hands contain 2 cards of specified ranks R1 and R2 (R1 > R2). Ex: */kpAT, */kpQT.

rrR = remove rank; hands don't contain a card of the specified rank R. Ex: */rrK, */rrT.
rcRs = remove card; hands don't contain a card of the specified rank R and suit s. Ex: */rcAs, */rcTd.
rpR1R2 = remove pair ranks; hands don't contain 2 cards of specified ranks R1 and R2 (R1 > R2). Ex: */rpAT, */rpQT.

Range Operations

The concept of a set is one of the initial and basic concept of mathematics.
A set is usually presented as an object formed by collecting any objects into a single whole, including, possibly, the sets themselves. A set is nothing more than an unordered collection that has no duplicate elements.

You can perform various operations on sets. Important operations that are performed on sets are union, intersection and subtraction.

Here's an example:
Let us have 2 sets of natural numbers: A = {1, 2, 3, 4} and B = {3, 4, 5, 6}.

The Union of sets A and B is the set A | B = {1, 2, 3, 4, 5, 6}, consisting of elements included in A or B without repetition.
The Intersection of sets A and B is the set A & B = {3, 4}, consisting of elements that appear simultaneously in both A and B.
The Subtraction a set B from A is a set A ! B = {1, 2}, consisting of elements in A that are not in B.

Considering ranges as sets of hands, one can introduce operations on these sets.

A | B = gives you all hands that are in A OR B (Union Operator). It's the same as A, B.
A & B = gives you all the hands that are in A AND B (Intersection operator).
A ! B = gives you all hands that are in A but NOT in B (Subtraction operator).
() = Parentheses can be used to group expressions. For example, A! ((B | C) & D).

You can use all operators when creating a complex expression. For example, (AA, KK | (QQ & dd**)) ! 20%.

Range Assistant

When you click on Range 1,... or Range 5 button a window appears in which you can select ranges in a convenient graphical interface, apply filters and compose complex expressions for the range.

Range assistant

In the Range section, you can use the slider to set the lower and upper limits of the percentile.

In the Mask section, you can set ranges of ranks for the cards of the hand and specify their suit in dropdown list.
Use your mouse to include or exclude the ranks of the cards you want hands in your range have. Ranks can be selected or deselected without releasing the mouse button. You can also specify a suit pattern using Distinct suit groups dropdown list.

In the sections Pair filters, Distinct Suit filters, Additional Suit filters, Rundown, functionally described above, you can combine existing filters. When you select filters, an expression is created in the Hand group field that matches the selected criteria.

Distinct Suit filters contains all possible combinations of various suit combinations of a 5-card hand, i.e. any hand falls into one and only one filter from this group of filters.

In the Hand group field, expressions are created using basic filters.
If you would like to create a complex expression using the operations of union, intersection or subtraction from Hand group field, use buttons Add, Union, Intersection, Substration and brackets to transfer the range from the Hand group field to the Final range field, creating a new complex expression as needed.

Any expression from range assistant is exported to the main window only from the Final range field. This means that you have to always transfer an expression from Hand group field to Final range field using at least the Add button, even if it is a simple expression in Hand group field, created with basic filters.

If entered expression is incorrect, it will be highlighted in red. When you click on Ok, the created expression will be exported into the Range field of the main window.

If the Final range field is invalid or empty, then the import will fail.

Import/Export ranges

To import a range, you can click on the button and select the file name in the pop-up window.

To export a range, you can click on the button and select the file name in the pop-up window.
You can import/export ranges in the Monker Solver format. Ranges from Monker Solver are recognized in the following formats:

AhAsTh3s2h2s@87,KdAsTh3s2h2s@5,AdAsTh3s2h2s@50,AcAsTh3s2h2s@87

Temporarily storing ranges for use in expressions

The program has the ability to temporarily save entered ranges and use them in new expressions.

To save ranges, use 5 buttons that are located under the fields for entering ranges. When you click on any button, a pop-up window will appear in which you can select one of the 5 entered and correct ranges. The entered range will be stored in this cell.

To use the entered range in expression, you should use the expression */sr1 for the range which was saved using 1st button, */sr2 for the range which was saved using 2nd button etc, */sr3, */sr4, */sr5.

You can construct an new expression using temporarily stored ranges. Examples:
*/sr1, */sr2 or *!(*/sr1) or */sr1&*/sr2 etc.

It is not necessary to use * in */sr1. You can use any correct range. For example, 1%/sr1 or A/sr1.

Hand selection

When you click on the button, a window appears in which you can specify a specific hand or select a random hand by clicking on the Random button.

Hand selection

Range table

When you click on the button, a window appears in which you can view all hands in selected range.

Range tables have columns - Rank, Hands, Weight, Distinct rank, Hand group, %.

Range table

All 20 358 520 possible hands are ranked in descending order by equity value against a random range in a heads-up situation and are ranked accordingly. So the hand A♦A♥T♥T♠9♦9♠ has a rank - 1, and the hand 7♣3♣2♣2♦2♥2♠ has a rank - 20 358 520.

The Hands column lists all hands from the range.

The Weight column shows the weights of the hands. By default, the weights of all hands are 1 (100%).

Many hands are equivalent in suit permutations and order within a betting round. This property has a name - suit isomorphism. For example, hands A♦A♥T♥T♠9♦9♠, A♣A♠T♣T♦9♦9♠, A♣A♥T♣T♦9♦9♥, are mapped to the same preflop index. A special algorithm calculates the indices of each hand and compares them with a unique index, which is indicated in the Distinct rank column. There are 962 988 unique indices in total.

All suit isomorphic hands can be divided into groups according to the number of suited cards in the hand. Suited cards in a hand are indicated by square brackets. Suited cards of different suits are marked with different square brackets.

The Hand group column indicates the group to which the hand belongs.

The % column shows the Percentile value, which is calculated using the formula 100.0*HandRank/20358520, where HandRank is a value from 1st column Rank.

The number of hands and the number of distinct hands in the selected range are shown above the table.

Right-clicking on a row in the table copies the hand in text format (ex. AdAhJcJd5d5h) to the clipboard.

Distinct hands

When you click on the button, a window appears in which you can view distinct hands in selected range.

The table has columns - Distinct rank, Hand group, #, Rank%.

Range table

Many hands are equivalent in suit permutations and order within a betting round. This property has a name - suit isomorphism. A special algorithm calculates the indices of each hand and compares them with a unique index, which is indicated in the Distinct rank column. There are 962 988 unique indices in total.

All suit isomorphic hands can be divided into groups according to the number of suited cards in the hand. Suited cards in a hand are indicated by square brackets. Suited cards of different suits are marked with different square brackets.

The Hand group column indicates the group to which the distinct hand belongs.

The # column shows the number of distinct hands of this group in the selected range.

The Rank% column shows the Percentile value, which is calculated using the formula 100.0*HandRank/20358520.

Statictics

When you click on the button, a window appears in which you can view statistics how the selected range hits the board.

Statistics

The program has two blocks of statistics, which calculate what rank the hands from the ranges receive on current street. These blocks consist of 4 sections, separated from each other by gaps and marked with different colors and filter activation buttons.

Statistics are divided into 3 blocks: «Made hands», «Draws hands», «Draws and made hands».

Statistics window consist of 3 sections, separated from each other by gaps and marked with different colors and filter activation buttons.

Statistics

The first block is designed to evaluate the rank of 6-card made hands, adopted in 6 card Omaha poker. Marked in blue.

The second block is for evaluating draws hands from the 15 2 card hands that each 6 card hand has. If at least one 2-card hand forms a draw hand, then the 6 card hand is considered to be a draw hand. Marked in green.

The third block is for evaluating draws and made hands you get from the 15 2 card hands that each 6 card hand has.
If at least one 2 card hand forms a draws and made hand, then the 6 card hand is considered to be a draws and made hand. Marked in purple.

Each statistics from «Made hands» block is a partition of the set of all hands in the selected range and every hand in the range is included in one and only one of the statistics of this block. In other words, the statisticss from this block do not have shared hands, i.e. the intersection of any two statistics from this block is empty.

Each hand which is included in one of the statistics of blocks «Draws», «Draws and made hands» will be definitely included in some «Made hands» statistics, and possibly in other statistics. The statistics of «Draws», «Draws and made hands» have usually intersections with the statistics of other blocks.

This means that some hands can be included in several statistics of different blocks.

Statistics is not shown if it doesn't contain any hand. Empty statistics are not shown!

Multiway Equity Calculator

This tool calculates equity multiway using Monte Carlo simulation.

Range fields are recognized automatically as you enter text. If the range is not recognized, the text will appear red.

Ranges can be entered using the buttons in front of the range text line.

You can use the Range Assistant, similar to the Range Assistant from the main program window, import a range from a previously saved file or enter a specific hand.
Files in Monker Solver format are also recognized and in this case the range text field will be empty and marked in light green. Also It is possible to view the hands of the selected range.

If you click the arrow button at the end of the text field, you can restore previously entered ranges in that line.

If you click the button with stripes at the end of the line, you will receive data on how the selected range falls into the board:

If you click on the Next Card Equity button, a window will open in which you can calculate equity for all possible cards of the next street. This tool works on the flop and turn only.

The calculation time in Multiway Equity and Next Card Equty can be changed in the settings.

Settings

You can change the default values for the number of Mote Carlo iterations for calculating preflop statistics and the number of iterations for calculating equity.

Default iterations value for calculating preflop statistics is 100 000 (Min 100 000).
Default iterations value for calculating equity is 1 000 000 (Min 100 000).

It is also possible to set the calculation time for Multiway Equity Calculator and Next Card Equity.
Default calculation time for Multiway Equity Calculator is 60 sec (minimum 10)
Default calculation time for Next Card Equity is 120 sec (minimum 10)

It is possible to specify default folders that will be opened automatically when Import/Export ranges in Monker format.

If you press Default button you can resore default values.
For the settings to take effect, press OK button.