Запись урока: Часть 1 [vk]http://vk.com/video_ext.php?oid=-66674957&id=167886046&hash=bed15957c2efd528&hd=3[/vk]
Часть 2 [vk]http://vk.com/video_ext.php?oid=-66674957&id=167886048&hash=bb4f7d12f349b7c0&hd=3[/vk]
Темы занятия:1. События, операции подписывания/отписывания, вызов события.
2. Создание приложения Windows Forms, элементы форм (
Button,
TextBox,
CheckBox,
TabControl,
ComboBox), обработчики событий формы.
3.
Обработка исключений и
их иерархия.
4. Начало работы с библиотекой StockSharp (ConsoleSample).
Домашнее задание:1. Нарисовать часть иерархии исключений, чтобы представлять, кто на ком стоит.
2. Реализовать срабатывание алгоритма в примере SampleConsole не по ожиданию 1000мс, а по событию изменения стакана.
Полезные материалы:1.
Здесь можно подать заявку на демо-счет.2.
Скачать библиотеку StockSharp (достаточно архива StockSharp_4.x.xx_Sources.zip)
3.
Настройка Quick для StockSharpРешение домашней задачи:Необходимо:
1. Дописать:
Код
using (var waitHandleQuotesChanged = new AutoResetEvent(false))
2. Находим строки с расчетом середины спреда и указываем подписывание на новое событие.
Код
// запоминаем первоначальное значение середины спреда
var firstMid = _security.BestPair.MiddlePrice;
Console.WriteLine("Первоначальное значение середины спреда {0:0.##}", firstMid);
///////////////////////////////
//Подписываемся на событие
_depth.QuotesChanged += () =>
{
waitHandleQuotesChanged.Set();
};
//////////////////////////////
while (true)
{
var mid = _security.BestPair.MiddlePrice;
Console.WriteLine("Текущее значение середины спреда {0:0.##}", mid);
// если спред вышел за пределы нашего диапазона
if ((firstMid * (1.0m + delta) <= mid) ||
(firstMid * (1.0m - delta) >= mid))
{
var order = new Order
{
Portfolio = _portfolio,
Security = _security,
Price = _security.ShrinkPrice(mid),
Volume = 1,
Direction = OrderDirections.Buy,
};
}
// ждем 1 секунду
//Thread.Sleep(1000);
//TODO: Ждать не 1 сек, а изменения стакана
waitHandleQuotesChanged.WaitOne();
}
ВложенияИсходные коды