Александр3012
|
Дата: 04.11.2017
|
|
|
|
Здравствуйте. Благодарю за заботу о пользователях библиотеки. Я года три назад проходил у вас обучение, собрал себе роботов, которые мне хорошо поработали около года, потом у меня была пауза в торговле, после которой я не мог их подключить, поменялся квик, поменялась библиотека, пытался тогда на новой версии собрать то-же самое, но что-то не получилось нормально наладить закачку с финама и сращивание исторических свечей с данными из квика и я это дело оставил. Сейчас как раз вновь занялся роботами и вот с такой проблемой столкнулся. Не могу вывести на график свечи для визуального контроля, может это баг, может я что не так делаю. // Конструктор public WilliamsWindow(Connector _connector, Security _security, Portfolio _portfolio) { InitializeComponent();
_candleManager = new CandleManager(_connector); TimeFrame = TimeSpan.FromHours(1); _candleSeries = new CandleSeries(typeof(TimeFrameCandle), _security, TimeFrame);
_candleManager.Processing += (series, candle) => { if (candle.State == CandleStates.Finished) { var values = new Dictionary<string, object>(); values.Add("Candle", candle); OnPainted(values); } }; }
//Инициализация окна графика при загрузке главного окна private void Window_Loaded(object sender, RoutedEventArgs e) { InitChart(); }
private void InitChart() {
//создаем окно с графиком свечек _chartWindow = new ChartWindow();
//создаем область на графике _area = new ChartArea();
//добавляем область на график _chartWindow.Chart.Areas.Add(_area);
//создаем элемент свечи _candlesElem = new ChartCandleElement();
//добавляем элемент в область вывода графика _area.Elements.Add(_candlesElem);
}
//Рисование private void OnPainted(Dictionary<string, object> dictionary) { var chartElements = new Dictionary<IChartElement, object>();
Candle candle = (Candle)dictionary["Candle"];
if (candle.State == CandleStates.Finished) { //добавляем свечки и график индикатора в словарь chartElements.Add(_candlesElem, candle); }
if (chartElements.Count > 0) { _chartWindow.Chart.Draw(candle.OpenTime, (Dictionary<IChartElement, object>)chartElements); }
}
//Кнопка старт private void StartButtonClick(object sender, RoutedEventArgs e) { _candleManager.Start(_candleSeries); }
//Вызов-скрытие окна графика private void ChartWindowButtonClick(object sender, RoutedEventArgs e) { if (_chartWindow.IsVisible) { _chartWindow.Hide(); } else { _chartWindow.Show(); } } } } Студия в списке ошибок пишет предупреждение, что метод Draw устарел, нужно использовать метод Draw.
Предупреждение 1 "StockSharp.Xaml.Charting.ChartHelper.Draw(StockSharp.Xaml.Charting.IChart, System.DateTimeOffset, System.Collections.Generic.IDictionary<StockSharp.Xaml.Charting.IChartElement,object>)" является устаревшим: "Use the Draw method instead."
Во время открытия окна с графиком выпадает ошибка на строке: <chart:Chart x:Name="Chart"/> <Window x:Class="База1.ChartWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:chart="clr-namespace:StockSharp.Xaml.Charting;assembly=StockSharp.Xaml.Charting" Title="ChartWindow" Height="300" Width="300"> <Grid> <chart:Chart x:Name="Chart"/> </Grid> </Window>
В окне ошибки: "System.Windows.Markup.XamlParseException" в PresentationFramework.dll Дополнительные сведения: "Вызов конструктора для типа "StockSharp.Xaml.Charting.Chart", удовлетворяющего указанным ограничениям привязки, привел к выдаче исключения.": номер строки "7" и позиция в строке "10".
При запуске не из студии, а напрямую файла exe на том же месте тоже все виснет. Возможно, это не баг, может я сам что-то не так делаю, если подскажете - очень поможете. Кроме того, хотел спросить. Мне для работы нужны минимум 50 последних часовых свечей, раньше я качал историю с финама и сращивал с данными из терминала, квик, как я понимаю, строил последние свечи из таблицы сделок, то-есть только то что было после последнего вечернего клиринга, теперь же я пробовал выводить свечи с квика в дебаг и он выдает свечи за несколько дней. Получается квик изменился и теперь для моих целей история с финама не нужна. Я правильно понял или что-то у меня не так подгружалось? Действительно с квика теперь качаются свечи не только за последний день? И ещё вопрос. Возможно ли подключать поддержку по скайпу на срок менее месяца, на день или хотя-бы неделю. Просто для того, чтоб задать пару вопросов, оплачивать целый месяц дороговато кажется. Благодарю за помощь.
|
Александр3012
|
Дата: 05.11.2017
Михаил, вечер добрый. Форумная поддержка Basic у меня подключена, но в таком режиме не очень удобно. Вот сейчас сидел, за то время, что вы ответили, пытался перестроить свою старую стратегию на свежей библиотеке. 102 ошибки выдает студия, в основном из-за того, что в классах пропали, члены, что я использовал. Все таки лучше, когда преподаватель все посмотрит сам, подскажет как лучше, разжует. Если возможно подключить Premium поддержку на недельку, так я - бы с понедельника уже и оплатил-бы.
|