64 get {
return Left.IsReady &&
Right.IsReady; }
91 Name ??= $
"COMPOSE({Left.Name},{Right.Name})";
92 ConfigureEventHandlers();
103 : this(null, left, right, composer)
135 : this(null, left, right, handler)
160 return _composer.Invoke(
Left,
Right).Value;
167 private void ConfigureEventHandlers()
180 Left.Updated += (sender, updated) =>
182 newLeftData = updated;
185 if (newRightData !=
null || rightIsConstant)
195 Right.Updated += (sender, updated) =>
197 newRightData = updated;
200 if (newLeftData !=
null || leftIsConstant)
202 var dataPoint =
new IndicatorDataPoint { Time = MaxTime(updated) };
211 private DateTime MaxTime(IndicatorDataPoint updated)
213 return new DateTime(Math.Max(updated.Time.Ticks, Math.Max(
Right.Current.Time.Ticks,
Left.Current.Time.Ticks)));