CrossUnderValueBar: Indicator Documentation
Syntax
DataSeries CrossUnderValueBar( DataSeries ds, double value );
Parameter Description
| ds |
Data series |
| value |
Some value |
Description
CrossUnderValueBar(DataSeries, double) returns the most recent bar where DataSeries crossed under Value. No check is made about a possible subsequent
CrossOver.
References:
Original CrossUnderValueBar WL4 Code Library Item by Giorgio BeltrameExample
This example illustrates how to plot and call the CrossUnderValueBar series. The entry is made when CCI(Bars, 14) has crossed under value 100 within last 3 bars, and it is still currently under 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 XUVBStrategy : WealthScript
{
protected override void Execute()
{
CCI cci = CCI.Series( Bars, 14 );
int val = 100;
CrossUnderValueBar xub = CrossUnderValueBar.Series( cci, val );
SetBarColors( Color.Silver, Color.Silver );
for (int bar = xub.FirstValidValue; bar < Bars.Count; bar++)
{
if( xub[bar] == bar )
SetBarColor( bar, Color.Red );
if (IsLastPositionActive)
{
SellAtStop( bar+1, LastPosition, Lowest.Series( Low, 20 )[bar] );
}
else
{
if( ( cci[bar] < val ) & ( xub[bar] > bar - 3 ) )
BuyAtMarket( bar+1 );
}
}
ChartPane xPane = CreatePane( 20, true, true );
ChartPane cciPane = CreatePane( 20, true, true );
PlotSeries( xPane, xub, Color.Blue, WealthLab.LineStyle.Dashed, 2 );
PlotSeries( cciPane, cci, Color.Blue, WealthLab.LineStyle.Solid, 1 );
DrawHorzLine( cciPane, val, Color.Black, WealthLab.LineStyle.Dashed, 1 );
}
}
}