using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.DataSource;
using TSLab.Script.Helpers;
namespace spr
{
public class sprd : ISecurityInputs, ISecurityReturns, ITwoSourcesHandler, IStreamHandler
{
public ISecurity Execute(ISecurity source1, ISecurity source2)
{
var bars = new List<Bar>(source1.Bars.Count);
for (int i = 0; i < source1.Bars.Count; i++)
{
var bar = source1.Bars[i];
var o1 = source2.OpenPrices[i];
var h1 = source2.HighPrices[i];
var l1 = source2.LowPrices[i];
var c1 = source2.ClosePrices[i];
var newBar = new Bar(bar.Color, bar.Date,bar.Open-o1,
bar.High-h1,
bar.Low-l1,
bar.Close-c1,
bar.Volume){ Ask = bar.Ask, Bid = bar.Bid, AskQty = bar.AskQty, BidQty = bar.BidQty };
bars.Add(newBar);
}
return source1.CloneAndReplaceBars(bars);
}
}
}