возвращаемое значение у вас заявлено double, а возвращаете список
имеете ввиду этоу строчку?
public double Execute(IPosition pos, int barNum)
но исправление её на
public IList<double> Execute(IPosition pos, int barNum)
и такой код:
public class Cumbalanse2 : IPosition2Double
{
public IList<double> Execute(IPosition pos, int barNum)
{
if (pos == null || !pos.IsActive)
{
return 0;
}
int count = pos.Security.Bars.Count;
var n = new double[count];
for (int i = 1; i < count; i++)
{n[i] = pos.OpenProfit(i);}
return n;
}
}
выдаёт ошибку:
"balans.Cumbalanse2" не реализует член интерфейса "TSLab.Script.Handlers.IPosition2Double.Execute(TSLab.Script.IPosition, int)". "balans.Cumbalanse2.Execute(TSLab.Script.IPosition, int)" не удается реализовать "TSLab.Script.Handlers.IPosition2Double.Execute(TSLab.Script.IPosition, int)", поскольку он не содержит соответствующего типа возвращаемого значения "double". (CS0738)
Подскажите пож какое нужно сделать исправление? И возможно ли в этом коде простое исправление, чтобы он выдавал доход позиции на i-м баре?