# Reversal

## Contents

# Introduction

The reversal indicator is a very powerful indicator, and will allow you to define Reversal strategies using Boolean equations using Order Flow variables. The result of these equations can be seen later in the chart and assess whether the strategy has a high percentage of success or error. Is not only limited to reversal as it can signal anything. For instance a suspicious configuration worth looking at in more detail.

There are two equations, one for the bearish reversal and one for the bullish reversal. The indicator draws an arrow for each option of different color, which can be selected by the user. This arrow is only shown if the equation produces a “true” result after evaluation.

This indicator is associated with the FootPrint and **does not** works by itself. It is a FootPrint plugin. If it is not loaded, it does not consume resources on the computer. It is preconfigured with delta divergence equations, which can be used as a basis when defining these strategies. The equations can be completely replaced by others totally different.

Notice: Unlike packages from other vendors, this indicator can be loaded concurrently many times in the same chart with different equations and arrow colors. This of course makes it **more powerful**, however that use case has not being **roughly tested**. Reporters say some arrows show up a little bit overlapped. It will be more tested/fixed in following versions.

# Expression errors

If you are not getting arrows displayed it could be the case the expression you used contains an error. You should open NinjaTrader’s Ninjascript output window, to see possible error messages in the expressions.

# Variables

The following variables can be invoked from any of the equations:

Variable | Description |
---|---|

Delta | Candle close Delta |

Open | Candle open price |

Close | Candle close price |

VADelta | Candle Value Area Delta |

FinishDelta | Candle Delta Finish |

Volume | Total Candle Volume |

MinDelta | Minimum Delta |

MaxDelta | Maximum Delta |

HighCOT | Superior COT |

LowCOT | Inferior COT |

POCVolume | Point of control Volume |

POCPrice | Point of control Price |

IsHighUA | Returns 1 if there is an unfinished auction at the top of the candle |

IsLowUA | Returns 1 if there is an unfinished auction at the bottom of the candle |

NbBuyImbalances | Number of Bid imbalances in the candle |

NbSellImbalances | Number of Ask imbalances in the candle |

Notice: In case you require another variable you can always contact us to add it in future versions.

# Expression operators

### Arithmetic operators

The expression supports all standard arithmetic operators, as well as module (%) and power (^) operators. Example: a * 2 + b ^ 3 - 100% 5

### Comparison operators

All comparison operators are also compatible. The non-equal operator is <> and the equal operator is = Example: a <> 100

### And / Or / Xor / Not Operators

These operators are for logical and bitwise operations. As the language is strongly typed, the types of operands for these operators can be determined. If both operands are Boolean, then the operation is logical. If both are integral, the operation is bit by bit. Any other combination results in an error.

Example (logical): a> 310 And Not b = 100 Example (bit by bit): (240 or 2) and 1

### Shift operators

The shift operators to the left (<<) and to the right (>>) perform a bitwise offset and are only valid in integral types. Example: 100 >> 2

### Concatenation

The + operator also serves as a chain concatenation operator. If any of your operands is a string, it will perform a concatenation instead of an addition. It is valid if at least one operand is a string in which case, both operands are converted to Object and formatted accordingly.

Example strings: “abc” + “def” Example string and integer: “the number is:” + 100

### Conditional Operator

Expressions support a conditional operator that allows you to choose a result based on a Boolean condition. It is implemented as a special function of the form if (condition, ifTrue, ifFalse). The operator is a “true” conditional operator, which means that it only evaluates the result that corresponds to the condition.

Example: If (a> 100 and b> 200, “both major”, “some minor”)

### Indexers

Since version 2.1 the indicator can access other candles using an indexer. This indexer works backwwards in order to make easier equations. That is, current candle starts at 0 and previous candle at 1. The one before is number 2 and so on.

The following variables can be accessed as an index.

Indexer | Type |
---|---|

DeltaIdx | Long |

VolumeIdx | Long |

BidVolumeIdx | Long |

AskVolumeIdx | Long |

COTLowIdx | Long |

COTHighIdx | Long |

POCIdx | Double |

Example:

DeltaIdx[0] > DeltaIdx[1]

means it will draw an arrow arrow if Delta of current candle (zero) is higher than Delta of previous candle (one)

All Indexers are of type long(integer) except for POCIdx with type double since is a price value.

Notice: In case you require another indexer you can always contact us to add it in future versions.

## Indicator Options

### Start at Bar

This option permits the indicator to function only after a number of candles is present. So in this way you can acces X number of bars before without causing and index out of bonds condition.

### SoundActive

Select to make the indicator play sound when reversal is found and in realtime mode.

### ReversalLowerSound

Path of the sound file to play when a reversal to the down is found

### ReversalHigherSound

Path of the sound file to play when a reversal to the up is found

## Declining volume conditions

The following options can be accesed through the variable ConfiguredTop and ConfiguredBottom. In this way they can be combined with other variables or calculations created by the user. A unique feature of the kit.

### MinDecliningLevels

The minimum number of declining levels to detect a reversal condition. Defaults to 3.

### ImbalanceInDeclining

If an imbalance in a declining zone is allowed or not.

### MinOppositeImbalance

If this value is 0 opposite imbalances are ignored. If it is 1, detects reversal only if there exists an opposite imbalance. If is a value higher than 1 then opposite imbalances must have all a size equal or higher to this value.

### POCPosition

Options are:

InDeclinigSideThirdOfBar: POC must be on the closest third of bar of the candle.

InDecliningZone: POC must be in the declining zone.

InDecliningSideHalfOfBar: POC must be in the half of the bar closest to the declining zone.

Anywhere: POC can be anywhere in the candle.

### DeclVolLessThanOpVol

Only detects imbalance if total volume in Declining zone is smaller than Opposite total volume to declining zone.