public class Stats : Indicator
{
#region Variables
// Wizard generated variables
// User defined variables (add any user defined variables below)
double ad = 0;
double dec = 0;
double advol = 0;
double decvol = 0;
#endregion
/// <summary>
/// This method is used to configure the indicator and is called once before any bar data is loaded.
/// </summary>
protected override void Initialize()
{
Add("FB",PeriodType.Day,1);
Add("AMZN",PeriodType.Day,1);
Add("NFLX",PeriodType.Day,1);
Add("GOOGL",PeriodType.Day,1);
Add(new Plot(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Line, "ADV"));
Add(new Plot(Color.FromKnownColor(KnownColor.Green), PlotStyle.Line, "DEC"));
Add(new Plot(Color.FromKnownColor(KnownColor.DarkViolet), PlotStyle.Line, "ADVVOL"));
Add(new Plot(Color.FromKnownColor(KnownColor.Firebrick), PlotStyle.Line, "DECVOL"));
Overlay = false;
}
/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
// Use this method for calculating your indicator values. Assign a value to each
// plot below by replacing 'Close[0]' with your own formula.
for (int i=0; i < 5; i++)
{
if(CurrentBars[i] < 2)
return;
}
ad = 0;
dec = 0;
advol = 0;
decvol = 0;
for (int x=1; x < 5; x++)
{
if(Closes[x][0] > Closes[x][1])
{
ad = ad + 1;
advol = advol + Volumes[x][0];
}
else if(Closes[x][0] < Closes[x][1])
{
dec = dec + 1;
decvol = decvol + Volumes[x][0];
}
}
ADV.Set(ad);
DEC.Set(dec);
ADVVOL.Set(advol);
DECVOL.Set(decvol);
}
Comment