using System; using System.Collections.Generic; using System.Linq; using System.Text; using MarketData.MarketDataModel; using Microsoft.Research.DynamicDataDisplay.DataSources; namespace TradeBlotter.Model { public class ResistanceAndSupportModel { private ResistanceAndSupportModel() { } public static CompositeDataSource R1(List resistanceSupportList) { if (null == resistanceSupportList || 0 == resistanceSupportList.Count) return null; CompositeDataSource compositeDataSource; var xData = new EnumerableDataSource(resistanceSupportList.Select(x => x.Date.Date)); xData.SetXMapping(x => (x.Ticks / 10000000000.0)); var yData = new EnumerableDataSource(resistanceSupportList.Select(y => y.Resistance1)); yData.SetYMapping(y => y); compositeDataSource = xData.Join(yData); return compositeDataSource; } public static CompositeDataSource S1(List resistanceSupportList) { if (null == resistanceSupportList || 0 == resistanceSupportList.Count) return null; CompositeDataSource compositeDataSource; var xData = new EnumerableDataSource(resistanceSupportList.Select(x => x.Date.Date)); xData.SetXMapping(x => (x.Ticks / 10000000000.0)); var yData = new EnumerableDataSource(resistanceSupportList.Select(y => y.Support1)); yData.SetYMapping(y => y); compositeDataSource = xData.Join(yData); return compositeDataSource; } public static CompositeDataSource R2(List resistanceSupportList) { if (null == resistanceSupportList || 0 == resistanceSupportList.Count) return null; CompositeDataSource compositeDataSource; var xData = new EnumerableDataSource(resistanceSupportList.Select(x => x.Date.Date)); xData.SetXMapping(x => (x.Ticks / 10000000000.0)); var yData = new EnumerableDataSource(resistanceSupportList.Select(y => y.Resistance2)); yData.SetYMapping(y => y); compositeDataSource = xData.Join(yData); return compositeDataSource; } public static CompositeDataSource S2(List resistanceSupportList) { if (null == resistanceSupportList || 0 == resistanceSupportList.Count) return null; CompositeDataSource compositeDataSource; var xData = new EnumerableDataSource(resistanceSupportList.Select(x => x.Date.Date)); xData.SetXMapping(x => (x.Ticks / 10000000000.0)); var yData = new EnumerableDataSource(resistanceSupportList.Select(y => y.Support2)); yData.SetYMapping(y => y); compositeDataSource = xData.Join(yData); return compositeDataSource; } public static CompositeDataSource High(List resistanceSupportList) { if (null == resistanceSupportList || 0 == resistanceSupportList.Count) return null; CompositeDataSource compositeDataSource; var xData = new EnumerableDataSource(resistanceSupportList.Select(x => x.Date.Date)); xData.SetXMapping(x => (x.Ticks / 10000000000.0)); var yData = new EnumerableDataSource(resistanceSupportList.Select(y => y.High)); yData.SetYMapping(y => y); compositeDataSource = xData.Join(yData); return compositeDataSource; } public static CompositeDataSource Low(List resistanceSupportList) { if (null == resistanceSupportList || 0 == resistanceSupportList.Count) return null; CompositeDataSource compositeDataSource; var xData = new EnumerableDataSource(resistanceSupportList.Select(x => x.Date.Date)); xData.SetXMapping(x => (x.Ticks / 10000000000.0)); var yData = new EnumerableDataSource(resistanceSupportList.Select(y => y.Low)); yData.SetYMapping(y => y); compositeDataSource = xData.Join(yData); return compositeDataSource; } public static CompositeDataSource Close(List resistanceSupportList) { if (null == resistanceSupportList || 0 == resistanceSupportList.Count) return null; CompositeDataSource compositeDataSource; var xData = new EnumerableDataSource(resistanceSupportList.Select(x => x.Date.Date)); xData.SetXMapping(x => (x.Ticks / 10000000000.0)); var yData = new EnumerableDataSource(resistanceSupportList.Select(y => y.Close)); yData.SetYMapping(y => y); compositeDataSource = xData.Join(yData); return compositeDataSource; } } }