Files
2018-12-21 10:31:41 +03:00

55 lines
2.0 KiB
C#

using DevExpress.XtraCharts;
namespace DevExpress.StockMarketTrader {
public abstract class MovingAverageItem : CheckedIndicatorItem {
protected override string Name { get { return IndicatorName + " Moving Average"; } }
protected abstract MovingAverage CreateMovingAverage();
protected override Indicator CreateIndicator() {
MovingAverage movingAverage = CreateMovingAverage();
movingAverage.ValueLevel = ValueLevel.Close;
return movingAverage;
}
}
public class SimpleMovingAverageItem : MovingAverageItem {
protected override string IndicatorName { get { return "Simple"; } }
protected override MovingAverage CreateMovingAverage() {
return new SimpleMovingAverage();
}
}
public class ExponentialMovingAverageItem : MovingAverageItem {
protected override string IndicatorName { get { return "Exponential"; } }
protected override MovingAverage CreateMovingAverage() {
return new ExponentialMovingAverage();
}
}
public class TripleExponentialMovingAverageItem : MovingAverageItem {
protected override string IndicatorName { get { return "Triple Exponential"; } }
protected override MovingAverage CreateMovingAverage() {
return new TripleExponentialMovingAverageTema();
}
}
public class TriangularMovingAverageItem : MovingAverageItem {
protected override string IndicatorName { get { return "Triangular"; } }
protected override MovingAverage CreateMovingAverage() {
return new TriangularMovingAverage();
}
}
public class WeightedMovingAverageItem : MovingAverageItem {
protected override string IndicatorName { get { return "Weighted"; } }
protected override MovingAverage CreateMovingAverage() {
return new WeightedMovingAverage();
}
}
}