CrossUnderValueBar

Modified on 2015/11/13 12:49 by Eugene — Categorized as: Community Indicators

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.

Example

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 ); } } }