6 семинар ноябрь 2012


[vk]http://vk.com/video_ext.php?oid=-66650972&id=167477859&hash=92b3c312c353312b&hd=3[/vk]

План:

  • Дочерние стратегии
  • Свечки
  • CandleChart
  • Стратегии на свечках

Вложения: Проекты


Теги:


Спасибо:


1 2 3  >
UsilaDobry

Фотография
Дата: 19.04.2013
Ответить


Каким образом можно внедрить монитор логирования в форму Wpf, чтобы он открывался не отдельным окном, а в приложении?

Спасибо:

IvanB

Фотография
Дата: 19.04.2013
Ответить


UsilaDobry: Каким образом можно внедрить монитор логирования в форму Wpf, чтобы он открывался не отдельным окном, а в приложении?


xmlns:SX="clr-namespace:StockSharp.Xaml;assembly=StockSharp.Xaml"

....

<SX:Monitor Name="MonitorControl" Margin="5,5,5,5" />

Спасибо: UsilaDobry

UsilaDobry

Фотография
Дата: 20.04.2013
Ответить


При формировании свечек, хочу сделать генерацию коллекции таймфреймов и внесение этой коллекции в комбобокс. А затем передавать выбранное значение таймфрейма из комбобокса для создания серии свечек.

Пишу код в конструктор MainWindow()

var candleManger = new CandleManager(InterfaceConnection.SafeConnection.Trader); TimeFrameComboBox.ItemsSource = candleManger.GetSupportedRanges(null); //здесь в качестве аргумента надо указать серию свечек, я ставлю по совету решайпера null, но это не правильно, при запуске выпадает Exception, аргумент вызываемого метода не может быть null.

В обработчик события по нажатию кнопки пишу

var candleManger = new CandleManager(InterfaceConnection.SafeConnection.Trader); var candleSeries = new CandleSeries(typeof (TimeFrameCandle), InterfaceConnection.SelectedSecurity,TimeFrameComboBox.SelectedValue); if (BeginDatePicker != null && EndDatePicker != null) { if (BeginDatePicker.SelectedDate != null) candleSeries.From = (DateTime) BeginDatePicker.SelectedDate; if (EndDatePicker.SelectedDate != null) candleSeries.To = (DateTime) EndDatePicker.SelectedDate; } Приложение вообще не запускается.

Спасибо:

IvanB

Фотография
Дата: 20.04.2013
Ответить


UsilaDobry: ... Пишу код в конструктор MainWindow()

var candleManger = new CandleManager(InterfaceConnection.SafeConnection.Trader); TimeFrameComboBox.ItemsSource = candleManger.GetSupportedRanges(null); //здесь в качестве аргумента надо указать серию свечек, я ставлю по совету решайпера null, но это не правильно, при запуске выпадает Exception, аргумент вызываемого метода не может быть null.

... Правильно пишите, это не верно:


TimeFrameComboBox.ItemsSource = candleManger.GetSupportedRanges(null);

в аргумент нужно указывать серию свечей, для которой хотите получить данные.

Спасибо:

UsilaDobry

Фотография
Дата: 20.04.2013
Ответить


Как вариант создал обработчик события private void TimeFrameComboBox_ContextMenuOpening(object sender, System.Windows.Controls.ContextMenuEventArgs e) { var candleManger = new CandleManager(InterfaceConnection.SafeConnection.Trader); TimeFrameComboBox.ItemsSource = candleManger.GetSupportedRanges(candleSeries); } Все равно программа просит конкретное значение candleSeries, в таком виде воспринимает как null.

Спасибо:

IvanB

Фотография
Дата: 20.04.2013
Ответить


UsilaDobry: Как вариант создал обработчик события private void TimeFrameComboBox_ContextMenuOpening(object sender, System.Windows.Controls.ContextMenuEventArgs e) { var candleManger = new CandleManager(InterfaceConnection.SafeConnection.Trader); TimeFrameComboBox.ItemsSource = candleManger.GetSupportedRanges(candleSeries); } Все равно программа просит конкретное значение candleSeries, в таком виде воспринимает как null. На сколько я теперь понимаю, Вы не правильно пытаетесь использовать метод GetSupportedRanges. Вы пытаетесь получить из него коллекцию таймфреймов свечей, но этот метод возвращает не это, он возвращает "временные диапазоны, для которых у данного источниках для передаваемой серии свечек есть данные.". Подробнее здесь

Спасибо:

UsilaDobry

Фотография
Дата: 20.04.2013
Ответить


Тогда как можно получить значения таймфреймов, которые есть в Quik?

Спасибо:

IvanB

Фотография
Дата: 20.04.2013
Ответить


UsilaDobry: Тогда как можно получить значения таймфреймов, которые есть в Quik? Я думаю, что из Квика никак не извлечь значения таймфреймов, которые используются в его выпадающем списке. Обычно, если надо выбирать значение таймфрейма из списка, то используют специальный компонент (Xceed:TimePicker) или в ручную, в цикле заполняют стандартный компонент выпадающего списка.

Спасибо:

UsilaDobry

Фотография
Дата: 20.04.2013
Ответить


Я в ручную занес значения через ComboBoxItem, потом вызываю значение в следующем коде

        var candleSeries = new CandleSeries(typeof (TimeFrameCandle), InterfaceConnection.SelectedSecurity, TimeSpan.FromMinutes((double) TimeFrameComboBox.SelectedItem));

Выдает exception - Заданное приведение является недопустимым. Где-то явное приведение типов не сделал?

Спасибо:

IvanB

Фотография
Дата: 21.04.2013
Ответить


UsilaDobry: Я в ручную занес значения через ComboBoxItem, потом вызываю значение в следующем коде

var candleSeries = new CandleSeries(typeof (TimeFrameCandle), InterfaceConnection.SelectedSecurity, TimeSpan.FromMinutes((double) TimeFrameComboBox.SelectedItem));

> Выдает exception - Заданное приведение является недопустимым. Где-то явное приведение типов не сделал?
Всего скорее Вы поместили в TimeFrameComboBox значения не типа double.
Спасибо:
1 2 3  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy