Я пытался задать этот вопрос в «количественных финансах», но, похоже, это лучшее место, потому что вопрос больше о программировании, чем о торговле
Как вы объявляете Indicator
интерфейс? Как правильно моделировать «Индикатор»?
Я использую c # и хочу объявить Indicator
интерфейс следующим образом:
interface Indicator
{
double Value { get; }
event Action<Void> ValueUpdated;
}
или, возможно, даже так:
interface Indicator
{
event Action<Double> ValueUpdated;
}
Я считаю "чистую цену" также тривиальным показателем:
class PriceIndicator : Indicator {
PriceIndicator(string ticker) {
....
}
}
Пример МА:
class MovingAverage : Indicator {
private PriceIndicator price;
public MovingAverage(PriceIndicator price, int period) {
....
}
// when price.ValueUpdated event occurs need to recalculate MA and raise ValueUpdated event
}
Что вы думаете? Любые предложения приветствуются!