コード例 #1
0
 private void OnChartDrag(ChartDragEventArgs args)
 {
     if (_currentProtoSignalLine != null)
     {
         _currentProtoSignalLine.Update(args.TimeValue, args.YValue);
         UpdateStatus();
     }
 }
コード例 #2
0
        private void OnChartDragEnd(ChartDragEventArgs args)
        {
            if (_currentProtoSignalLine != null)
            {
                _currentProtoSignalLine.Complete(args.TimeValue, args.YValue);
                _currentProtoSignalLine = null;

                _chart.IsScrollingEnabled = true;
                _chart.RemoveObject(StatusTextName);
            }
        }
コード例 #3
0
        private SignalType?GetSignalType(ChartDragEventArgs args)
        {
            if (args.CtrlKey && !args.ShiftKey)
            {
                return(SignalType.Breakout);
            }
            if (!args.CtrlKey && args.ShiftKey)
            {
                return(SignalType.Retracement);
            }

            return(null);
        }
コード例 #4
0
        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;
            }
        }