Least Recent Occurrence (LRO)

View as Markdown

Definition

Returns the number of bars ago that the test condition evaluated to true within the specified look back period expressed in bars. The LRO() method starts from the furthest bar away and works toward the current bar.

This method does NOT work on multi-series strategies and indicators.

Method Return Value

An int value representing the number of bars ago. Returns a value of -1 if the specified test condition did not evaluate to true within the look-back period.

Syntax

LRO(Func\<bool\> condition, int instance, int lookBackPeriod)

  1. The “instance” parameter MUST be greater than 0.
  2. The “lookBackPeriod” parameter MUST be greater than 0.
  3. Please check the Log tab for any other exceptions that may be thrown by the condition function parameter.

Parameters

ParameterDescription
conditionA true/false expression
instanceThe occurrence to check for (1 is the least recent, 2 is the 2nd least recent, etc…)
lookBackPeriodThe number of bars to look back to check for the test condition. The test evaluates on the current bar and the bars within the look-back period.

The syntax for the “condition” parameter uses lambda expression syntax.

Examples

1protected override void OnBarUpdate()
2{
3 // Prints the high price of the least recent up bar over the last 10 bars (current bar + look back period's 9 bars before that)
4 int barsAgo = LRO(() => Close[0] > Open[0], 1, 9);
5 if (barsAgo > -1)
6 Print("The bar high was " + High[barsAgo]);
7}

See Also

Most Recent Occurrence(MRO)