Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Я к сожалению, то ж далеко не программист, не делал бы кубики, а сразу писал бы всю стратегию на c# .
Полный код:
Code:
using System;
using System.Linq;
using TSLab.Script.Realtime;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
namespace TSLab.ScriptFrom777
{
[HandlerName("Profit From First for Day")]
[HandlerCategory("777")]
public class ProfitFromFirst : IOneSourceHandler, IDoubleReturns, IValuesHandler, ISecurityInputs
{
public double Execute(ISecurity source, int barNum)
{
// берем дату текущего бара
var curBarDate = source.Bars[barNum].Date;
// отбираем закрытые сделки с днем закрытия совпадающим с текущим, сортируем по дате закрытия
var list = source.Positions.Where(pos => !pos.IsActive && pos.EntryBarNum < barNum
&& pos.ExitBar.Date.DayOfYear == curBarDate.DayOfYear
&& pos.ExitBar.Date.Year == curBarDate.Year)
.OrderBy(pos => pos.ExitBar.Date).ToArray();
// возвращаем профит первой из найденных позиций
if(list.Length < 1)
{
return 0;
}
return list[0].Profit();
}
}
}
Отредактировано 777 (Sat Apr 09 201111:38 AM)
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика» Дизраэли.