Code:
using System;
using TSLab.Script;
using TSLab.Script.Handlers;
using System.Linq;
using TSLab.Script.Realtime;
using System.Collections.Generic;

namespace test
{
    [HandlerName("Profit_N_close_Position")]
    [HandlerCategory("777")]
    public class LastPosition : IOneSourceHandler, IDoubleReturns, IValuesHandler, ISecurityInputs
    {
        [HandlerParameter(true, "", NotOptimized = true)]
        public int Number { get; set; }

        public double Execute(ISecurity source, int barNum)
        {
            var list = source.Positions.Where(pos => !pos.IsActive && pos.EntryBarNum < barNum)
            .OrderBy(pos => pos.ExitBar.Date).ToArray();
            if (list.Length < 1)
                return 0;
            else if ((list.Length - Number) < 0 || Number<0)
                return 0;
            else
                return list[list.Length - Number].Profit();
        }
    }
}
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.