Topic: Base classes, methods, properties and enumerations.
Every indicator (original or custom) inherits the base class Indicator. This base class provides the common indicator architecture. It provides also access to the historical prices and market information:
/// <summary>
/// Time frame of the loaded historical data
/// </summary>
protected static DataPeriods Period { get { return Data.Period; } }
/// <summary>
/// The minimal price change.
/// </summary>
protected static double Point { get { return Data.InstrProperties.Point; } }
/// <summary>
/// Number of digits after the decimal point of the historical data.
/// </summary>
protected static int Digits { get { return Data.InstrProperties.Digits; } }
/// <summary>
/// Number of loaded bars
/// </summary>
protected static int Bars { get { return Data.Bars; } }
/// <summary>
/// Bar opening price
/// </summary>
protected static double[] Open { get { return Data.Open; } }
/// <summary>
/// Bar opening date and time
/// </summary>
protected static DateTime[] Date { get { return Data.Date; } }
/// <summary>
/// Bar highest price
/// </summary>
protected static double[] High { get { return Data.High; } }
/// <summary>
/// Bar lowest price
/// </summary>
protected static double[] Low { get { return Data.Low; } }
/// <summary>
/// Bar closing price
/// </summary>
protected static double[] Close { get { return Data.Close; } }
/// <summary>
/// Bar volume
/// </summary>
protected static int[] Volume { get { return Data.Volume; } }
The base classes are available for download here: Indicators_Base.zip