Syntax
public static bool CrossOverWithin(this int bar, DataSeries Series1, DataSeries Series2, int WithinBars)
public bool CrossOverWithin(int bar, DataSeries Series1, DataSeries Series2, int WithinBars)
Parameter Description
bar | Bar |
Series1 | First data series |
Series2 | Second data series |
WithinBars | Within N bars |
Description
Returns
true for the specified
bar if
Series1 has crossed over
Series2 within the specified number of
WithinBars AND has not crossed below since the most-recent crossover event.
Original function created for WL4 by Robert Sucher.
Example
Example using C# extension methods:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
protected override void Execute()
{
for(int bar = 20; bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
//code your exit rules here
}
else
{
if (bar.CrossOverWithin (Close, SMA.Series(Close,20), 5))
BuyAtMarket( bar+1 );
}
}
}
}
}
Legacy syntax example:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Components; /*** Requires installation of Community.Components Extension from www.wealth-lab.com > Extensions ***/
namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
protected override void Execute()
{
// create an instance of the SeriesHelper object
SeriesHelper sh = new SeriesHelper(this);
for(int bar = 20; bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
//code your exit rules here
}
else
{
if (sh.CrossOverWithin (bar, Close, SMA.Series(Close,20), 5))
BuyAtMarket( bar+1 );
}
}
}
}
}