CrossOverValueBar: Indicator Documentation
Syntax
DataSeries CrossOverValueBar( DataSeries ds, double value );
Parameter Description
ds |
Data series |
value |
Some value |
Description
CrossOverValueBar(DataSeries, double) returns the most recent bar where DataSeries crossed over Value. No check is made about a possible subsequent
CrossUnder.
Example
This example illustrates how to plot and call the CrossOverValueBar series. The entry is made when CCI(Bars, 14) has crossed over value -100 within last 3 bars, and it is still currently over value -100:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Indicators;
namespace WealthLab.Strategies
{
public class XOVBStrategy : WealthScript
{
protected override void Execute()
{
CCI cci = CCI.Series( Bars, 14 );
int val = -100;
CrossOverValueBar xob = CrossOverValueBar.Series( cci, val );
SetBarColors( Color.Silver, Color.Silver );
for (int bar = xob.FirstValidValue; bar < Bars.Count; bar++)
{
if( xob[bar] == bar )
SetBarColor( bar, Color.Red );
if (IsLastPositionActive)
{
CoverAtStop( bar+1, LastPosition, Highest.Series( High, 20 )[bar] );
}
else
{
if( ( cci[bar] > -val ) & ( xob[bar] > bar - 3 ) )
ShortAtMarket( bar+1 );
}
}
ChartPane xPane = CreatePane( 20, true, true );
ChartPane cciPane = CreatePane( 20, true, true );
PlotSeries( xPane, xob, Color.Red, WealthLab.LineStyle.Dashed, 2 );
PlotSeries( cciPane, cci, Color.Blue, WealthLab.LineStyle.Solid, 1 );
DrawHorzLine( cciPane, val, Color.Black, WealthLab.LineStyle.Dashed, 1 );
}
}
}