Помогите, пожалуйста, исправить ошибку
Доброго времени суток! Пытаюсь вставить собственный индикатор - скользящую среднюю, но выдаёт ошибку!
Code
using System;
using System.Text;
using System.ICloneable;
using System.IIndicator;
using System.Collections.Generic;
using System.Linq;
using Ecng.Collections;
using Ecng.Xaml;
using StockSharp.Algo;
using StockSharp.BusinessEntities;
using StockSharp.Algo.Strategies;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators.BaseIndicator;
using StockSharp.Algo.Indicators.LengthIndicator;
using StockSharp.Algo.Indicators.Trend.SampleCandles;
using StockSharp.Quik;
namespace SampleCandles
{
public class Indicator
{
public class CandleIndicatorValue : SingleIndicatorValue<Candle>
{
public interface IIndicator : IPersistable,
ICloneable<IIndicator>, ICloneable
{
/// <summary>
/// Простая скользящая средняя
/// </summary>
[DisplayName("SMA")]
[Description("Простая скользящая средняя")]
public class SampleCandles : LengthIndicator<decimal>
{
/// <summary>
/// Создать <see cref="SimpleMovingAverage"/>.
/// </summary>
public SampleCandles()
: base(typeof(decimal))
{
}
/// <summary>
/// Обработать входное значение.
/// </summary>
/// <param name="input">Входное значение.</param>
/// <returns>Результирующее значение.</returns>
public override decimal OnProcess(IIndicatorValue input)
{
var lastValue = LastValue;
var newValue = input.GetValue<decimal>();
// добавляем новое начало
lastValue += newValue / Length;
// если буффер стал достаточно большим (стал больше длины)
if (IsFormed)
{
// удаляем хвостовое значение
lastValue -= Buffer[0] / Length;
Buffer.RemoveAt(0);
}
Buffer.Add(newValue);
return lastValue;
}
}
}
}
}
}
Выдает ошибку следующую(В коде программы 32 строка)
Ошибка 1 "SampleCandles": в интерфейсах невозможно объявлять типы
Помогите, как исправить? Спасибо)