Example #1
0
        public override string ActivateScript(CandleChartControl chart, PointD worldCoords)
        {
            var dlg = new OpenFileDialog
            {
                Filter      = "*.csv|*.csv|*.*|*.*",
                FilterIndex = 0,
                DefaultExt  = "csv",
                Title       = "Открыть файл сделок"
            };

            if (dlg.ShowDialog() != DialogResult.OK)
            {
                return("");
            }

            // прочитать ордера
            var allOrders   = ReadOrdersFromCsv(dlg.FileName);
            var chartOrders = allOrders.Where(o => o.Symbol.Contains(chart.Symbol)).ToList();

            if (chartOrders.Count == 0)
            {
                var msg = string.Format("{0} ордеров прочитано, ни один не относится к графику {1}",
                                        allOrders.Count, chart.Symbol);
                return(msg);
            }

            if (allOrders.Count > 1000)
            {
                //var msg = string.Format("Прочитано {0} ордеров. Отобразить ордера на выбранном временном отрезке?",
                //    chartOrders.Count);
                var ordersDlg = new Mt4ImportDlg(chartOrders);
                if (ordersDlg.ShowDialog() == DialogResult.OK)
                {
                    chartOrders = ordersDlg.selectedOrders;
                }
            }

            ShowOrders(chartOrders, chart);
            return(string.Empty);
        }
        public override string ActivateScript(CandleChartControl chart, PointD worldCoords)
        {
            var dlg = new OpenFileDialog
            {
                Filter = "*.csv|*.csv|*.*|*.*",
                FilterIndex = 0,
                DefaultExt = "csv",
                Title = "Открыть файл сделок"
            };
            if (dlg.ShowDialog() != DialogResult.OK) return "";

            // прочитать ордера
            var allOrders = ReadOrdersFromCsv(dlg.FileName);
            var chartOrders = allOrders.Where(o => o.Symbol.Contains(chart.Symbol)).ToList();
            if (chartOrders.Count == 0)
            {
                var msg = string.Format("{0} ордеров прочитано, ни один не относится к графику {1}",
                    allOrders.Count, chart.Symbol);
                return msg;
            }

            if (allOrders.Count > 1000)
            {
                //var msg = string.Format("Прочитано {0} ордеров. Отобразить ордера на выбранном временном отрезке?",
                //    chartOrders.Count);
                var ordersDlg = new Mt4ImportDlg(chartOrders);
                if (ordersDlg.ShowDialog() == DialogResult.OK)
                    chartOrders = ordersDlg.selectedOrders;
            }

            ShowOrders(chartOrders, chart);
            return string.Empty;
        }