private void OnChartDrag(ChartDragEventArgs args) { if (_currentProtoSignalLine != null) { _currentProtoSignalLine.Update(args.TimeValue, args.YValue); UpdateStatus(); } }
private void OnChartDragEnd(ChartDragEventArgs args) { if (_currentProtoSignalLine != null) { _currentProtoSignalLine.Complete(args.TimeValue, args.YValue); _currentProtoSignalLine = null; _chart.IsScrollingEnabled = true; _chart.RemoveObject(StatusTextName); } }
private SignalType?GetSignalType(ChartDragEventArgs args) { if (args.CtrlKey && !args.ShiftKey) { return(SignalType.Breakout); } if (!args.CtrlKey && args.ShiftKey) { return(SignalType.Retracement); } return(null); }
private void OnChartDragStart(ChartDragEventArgs args) { if (args.ChartArea != args.Chart) { return; } var signalType = GetSignalType(args); if (signalType.HasValue) { _chart.IsScrollingEnabled = false; _currentProtoSignalLine = new ProtoSignalLine(_chart, signalType, args.TimeValue, args.YValue); UpdateStatus(); } else { _currentProtoSignalLine = null; } }