Помогите, пожалуйста, разобраться с очень простой проблемой. Начал разбираться с С# и не получается правильно создать обработчик (конвертер или кубик) в среде SharpDevelop, таким образом, что бы этот кубик принимал 3 входящих параметра:
1) котировки (из Источника);
2) вещественное число (например из Константы);
3) вещественное число (так же из Константы);
Не получается как раз именно с третьим параметром. Не удаётся натянуть созданный кубик Конвертера именно на третий кубик - Константу. Код очень простой и выполняет простое линейное преобразование котировок Источника. Target Framework: ".Net Framework 3.5"

using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.DataSource;
using TSLab.Script.Helpers;

namespace MyIndicators {
[HandlerCategory("MyIndicators")]
public class LinearTransform: ISecurityInputs, ISecurityReturns, ITwoSourcesHandler, IStreamHandler, IDoubleInput1, IDoubleInput2
{
public ISecurity Execute(ISecurity source1, IDoubleInput1 factor, IDoubleInput2 shift)
{
double f = double.Parse(factor.ToString());
double s = double.Parse(shift.ToString());
var bars = new List<Bar>(source1.Bars.Count);
for (int i = 0; i < source1.Bars.Count; i++)
{
var bar = source1.Bars[i];
var o = bar.Open;
var h = bar.High;
var l = bar.Low;
var c = bar.Close;

var newBar = new Bar(bar.Color, bar.Date,
o * f + s,
h * f + s,
l * f + s,
c * f + s,
bar.Volume){ Ask = bar.Ask, Bid = bar.Bid, AskQty = bar.AskQty, BidQty = bar.BidQty };
bars.Add(newBar);
}
return source1.CloneAndReplaceBars(bars);
}
}
}

Заранее всем спасибо за помощь.


Attachments
LinearTransform.cs (126 downloads)