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