почему-то не могу скомпилировать обычный TRIX выдаёт ошибку. Не удалось найти имя типа или пространства имен 'BasePeriodIndicatorHandler' (возможно, пропущена используемая директива или ссылка на сборку) (CS0246) - D:\Users\Documents\SharpDevelop Projects\Metal Gear\Metal Gear\Class1.cs:7,25
using System.Collections.Generic; using TSLab.Script.Helpers;
namespace TSLab.Script.Handlers { //[HandlerCategory("Indicators")] public class TRIX : BasePeriodIndicatorHandler, IDouble2DoubleHandler { public IList<double> Execute(IList<double> source) { var ema1 = Series.EMA(source, Period); var ema2 = Series.EMA(ema1, Period); var ema3 = Series.EMA(ema2, Period); var res = new double[source.Count]; for(int i = 1; i < source.Count; i++) { var d = ema3[i - 1]; res[i] = d == 0 ? 0 : (ema3[i] - d)/d; } return res; } } } PS.В чём смысл этих трёх строчек, где у каждой последующей ЕМА меняются параметры?Т.Е. Я конечно понимаю что при помощи них каким-то образом происходит "сглаживание" кривой, но вот механизм не понимаю.
var ema1 = Series.EMA(source, Period); var ema2 = Series.EMA(ema1, Period); var ema3 = Series.EMA(ema2, Period);