### Question:
MeanDeviation extends MultiValueIndicator { @Override public double getValue() { return value; } MeanDeviation(TimeInterval interval);  MeanDeviation(int length, TimeInterval interval);  MeanDeviation(int length, TimeInterval interval, ToDoubleFunction<Candle> valueGetter); @Override double getValue();  }### Answer:
@Test public void mean() { int i = 0; MeanDeviation indicator = new MeanDeviation(5, TimeInterval.MINUTE); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); assertEquals(2.44444444444444, indicator.getValue(), 0.001); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); assertEquals(2.5, indicator.getValue(), 0.001); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); assertEquals(2.16, indicator.getValue(), 0.001); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); assertEquals(2.32, indicator.getValue(), 0.001); indicator.accumulate(CandleHelper.newCandle(i, values[i++])); assertEquals(2.72, indicator.getValue(), 0.001); }