## 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.

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 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.

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.

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 XXXY hands).

**altr** = at least trips (contains hands XXXX and XXXY).

**tw** = trips and pair (contains XXXYY and XXYYYY hands).

**qu** = quads, exact quads (contains XXXXX hands).

**Suit filters**

**ss** = single suited, single suited hands only (contains xxyzw hands).

**ds** = double suited hands, double suited hands only (contains xxyyz hands).

**ts** = three cards of the same suit, hands with exactly three cards of the same suit (contains xxxyz hands).

**alts** = at least three cards of the same suit (contains hands xxxxx and xxxyz).

**td** = double suited cards and three cards of the same suit (contains hands xxxyy).

**fs** = four cards of the same suit (contains hands xxxxy).

**mt** = monotone hands, 1-suited hands only (contains xxxxx 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.

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.

You can import ranges in the Monker Solver format.
Ranges from Monker Solver are recognized in the following formats:

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

and

**AhTh4h3s2h2s,0.085,8764**

**Th6h5h3s2h2s,1,9099**

**AhTh5h3s2h2s,0.025,8893**

### 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**, **%**.

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%**.

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.

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.

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.