25 public static partial class Field
30 public static Func<IBaseData, decimal>
Open
32 get {
return BaseDataBarPropertyOrValue(x => x.Open); }
38 public static Func<IBaseData, decimal>
High
40 get {
return BaseDataBarPropertyOrValue(x => x.High); }
46 public static Func<IBaseData, decimal>
Low
48 get {
return BaseDataBarPropertyOrValue(x => x.Low); }
54 public static Func<IBaseData, decimal>
Close
56 get {
return x => x.Value; }
62 public static Func<IBaseData, decimal>
Average
64 get {
return BaseDataBarPropertyOrValue(x => (x.Open + x.High + x.Low + x.Close) / 4m); }
70 public static Func<IBaseData, decimal>
Median
72 get {
return BaseDataBarPropertyOrValue(x => (x.High + x.Low) / 2m); }
78 public static Func<IBaseData, decimal>
Typical
80 get {
return BaseDataBarPropertyOrValue(x => (x.High + x.Low + x.Close) / 3m); }
86 public static Func<IBaseData, decimal>
Weighted
88 get {
return BaseDataBarPropertyOrValue(x => (x.High + x.Low + 2 * x.Close) / 4m); }
94 public static Func<IBaseData, decimal>
SevenBar
96 get {
return BaseDataBarPropertyOrValue(x => (2*x.Open + x.High + x.Low + 3*x.Close)/7m); }
102 public static Func<IBaseData, decimal>
Volume
107 private static Func<IBaseData, decimal> BaseDataBarPropertyOrValue(Func<IBaseDataBar, decimal> selector, Func<IBaseData, decimal> defaultSelector =
null)
114 return selector(bar);
116 defaultSelector = defaultSelector ?? (data => data.Value);
117 return defaultSelector(x);