protected virtual void OnStrategyChanged()
        {
            InitializeTickersDataMenu();

            this.chartDataControl1.AnnotationDoubleClick    += OnChartAnnotationDoubleClick;
            this.chartDataControl1.ShowHistogrammItemClick  += OnShowHistogrammItemClick;
            this.strategyHistoryItemBindingSource.DataSource = Strategy.History;
            this.tradingResultBindingSource.DataSource       = Strategy.TradeHistory;
            Text = Strategy.Name + " - Data";
            StrategyDataVisualiser visualizer = new StrategyDataVisualiser(Strategy);

            visualizer.GetControl += OnVisulizerGetControl;
            visualizer.Visualize(this.gcData);
            visualizer.Visualize(this.chartDataControl1.Chart);
            this.chartDataControl1.Visual = Strategy;
            visualizer.GetControl        -= OnVisulizerGetControl;

            StrategyDataVisualiser visualizer2 = new StrategyDataVisualiser(new OpenPositionVisualDataProvider(Strategy.OrdersHistory));

            visualizer2.GetControl += OnVisulizerGetControl;
            visualizer2.Visualize(this.tcPosition);
            visualizer2.GetControl += OnVisulizerGetControl;

            if (File.Exists(ChartSettingsFileName))
            {
                DetachePoints();
                this.chartDataControl1.Chart.LoadFromFile(ChartSettingsFileName);
                AttachPoints();
            }
        }
        private ChartControl ShowChartForm(IStrategyDataItemInfoOwner visual, StrategyDataVisualiser visualiser, bool showInSeparateForm)
        {
            Crypto.UI.Forms.ChartDataControl control = new Crypto.UI.Forms.ChartDataControl();
            control.Dock   = DockStyle.Fill;
            control.Visual = visual;
            control.AnnotationDoubleClick += OnChartAnnotationDoubleClick;

            visualiser.GetControl -= OnVisulizerGetControl;
            visualiser.GetControl += OnVisulizerGetControl;
            visualiser.Visualize(control.Chart);

            if (showInSeparateForm)
            {
                XtraForm form = new XtraForm();
                form.Text = visual.Name;
                form.Controls.Add(control);
                form.Show();
                return(control.Chart);
            }
            DockPanel panel = new DockPanel();

            panel.DockedAsTabbedDocument = true;
            panel.ID   = Guid.NewGuid();
            panel.Text = visual.Name + " - Data Chart";
            panel.Controls.Add(control);
            //panel.FloatForm.Size = new Size((int)(Size.Width * 0.8), (int)(Size.Height * 0.8));
            this.dockManager1.RootPanels.AddRange(new DockPanel[] { panel });
            panel.Show();
            return(control.Chart);
        }
 private IResizeableArray GetItems(IStrategyDataItemInfoOwner visual)
 {
     if (visual.Items != null)
     {
         return(visual.Items);
     }
     foreach (var item in visual.DataItemInfos)
     {
         if (item.DataSource is IResizeableArray)
         {
             return((IResizeableArray)item.DataSource);
         }
     }
     return(null);
 }
        protected void ShowTableForm(IStrategyDataItemInfoOwner visual)
        {
            XtraForm        form    = new XtraForm();
            GridDataControl control = new GridDataControl();

            control.Grid.DoubleClick += OnGridControlDoubleClick;
            control.Dock              = DockStyle.Fill;
            form.Controls.Add(control);
            StrategyDataVisualiser visualiser = new StrategyDataVisualiser(visual);

            visualiser.Visualize(control.Grid);

            form.Text = visual.Name + " - Data Table";
            //form.MdiParent = this;
            //form.WindowState = FormWindowState.Maximized;
            form.Show();
        }
예제 #5
0
        private void ShowChartForm(IStrategyDataItemInfoOwner visual)
        {
            XtraForm         form    = new XtraForm();
            ChartDataControl control = new ChartDataControl();

            control.Dock   = DockStyle.Fill;
            control.Visual = visual;
            form.Controls.Add(control);
            StrategyDataVisualiser visualiser = new StrategyDataVisualiser(visual);

            visualiser.Visualize(control.Chart);

            form.Text        = visual.Name + " - Data Chart";
            form.MdiParent   = this;
            form.WindowState = FormWindowState.Maximized;
            form.Show();
        }
예제 #6
0
        public StrategyDataItemInfo CreateHistogrammDetailItem(IStrategyDataItemInfoOwner visual)
        {
            object ds = DataSource == null ? visual.Items : DataSource;
            StrategyDataItemInfo detail = new StrategyDataItemInfo();

            detail.ChartType          = ChartType;
            detail.Color              = Color;
            detail.FieldName          = "Y";
            detail.ArgumentScaleType  = ArgumentScaleType.Numerical;
            detail.ArgumentDataMember = "X";
            detail.FormatString       = FormatString;
            detail.GraphWidth         = GraphWidth;
            detail.Name       = Name;
            detail.PanelName  = PanelName;
            detail.Type       = DataType.Numeric;
            detail.DataSource = HistogrammCalculator.Calculate(ds, FieldName, ClasterizationWidth);
            return(detail);
        }
        protected virtual void OnVisualChanged()
        {
            this.chartDataControl1.AnnotationDoubleClick   += OnChartAnnotationDoubleClick;
            this.chartDataControl1.ShowHistogrammItemClick += OnShowHistogrammItemClick;
            Text = Visual.Name + " - Data";
            StrategyDataVisualiser visualizer = new StrategyDataVisualiser(Visual);

            visualizer.GetControl += OnVisulizerGetControl;
            visualizer.Visualize(this.gcData);
            visualizer.Visualize(this.chartDataControl1.Chart);
            this.chartDataControl1.Visual = Visual;
            visualizer.GetControl        -= OnVisulizerGetControl;

            this.dockManager1.ForceInitialize();

            if (File.Exists(ChartSettingsFileName))
            {
                DetachePoints();
                this.chartDataControl1.Chart.LoadFromFile(ChartSettingsFileName);
                AttachPoints();
            }
        }
예제 #8
0
 public StrategyDataVisualiser(IStrategyDataItemInfoOwner strategy)
 {
     Visual = strategy;
     UpdateDataSource();
 }