VassilSanych
|
Дата: 18.12.2012
Сергей MenDel Всем привет, подскажите как сделать событие которое будет срабатывать за 5 секунд до закрытия вечерней сессии? Ориентируясь на время биржи. Да вы, батенька, экстремал. Вы уверены, что вас исполнят в последние 5 секунд?
|
|
Спасибо:
|
|
|
|
|
Sergey Masyura
|
Дата: 18.12.2012
Сергей MenDel Всем привет, подскажите как сделать событие которое будет срабатывать за 5 секунд до закрытия вечерней сессии? Ориентируясь на время биржи. Если без привязки в закрытому коду, то, например, Time scheduler in C#, By Aleksey Bykov, 16 May 2007. http://www.codeproject.c...8633/Time-scheduler-in-C
|
|
Спасибо:
|
|
|
|
|
MenDel
|
Дата: 18.12.2012
VassilSanych Сергей MenDel Всем привет, подскажите как сделать событие которое будет срабатывать за 5 секунд до закрытия вечерней сессии? Ориентируясь на время биржи. Да вы, батенька, экстремал. Вы уверены, что вас исполнят в последние 5 секунд? Я ща так руками закрываюсь, единственное приходится сверять часы на компе каждый день
|
|
Спасибо:
|
|
|
|
|
MenDel
|
Дата: 18.12.2012
Sergey Masyura Сергей MenDel Всем привет, подскажите как сделать событие которое будет срабатывать за 5 секунд до закрытия вечерней сессии? Ориентируясь на время биржи. Если без привязки в закрытому коду, то, например, Time scheduler in C#, By Aleksey Bykov, 16 May 2007. http://www.codeproject.c...8633/Time-scheduler-in-C спс, ща посмотрим. Я ваще думал это в S# реализовано, вещь то нужная.
|
|
Спасибо:
|
|
|
|
|
esper
|
Дата: 18.12.2012
Часы в любом случае сверять придется. В S# можно попробовать посмотреть такую штуку.
|
|
Спасибо:
|
|
|
|
|
MenDel
|
Дата: 15.01.2013
Нашел, решил написать мож кому пригодится ещ И часы сверять не надо Код
_trader.MarketTimeChangedInterval = TimeSpan.FromSeconds(1);
_trader.MarketTimeChanged += time1 => this.GuiAsync(() =>
{
var time = _trader.GetMarketTime(Exchange.Rts);
if (time.Hour == 23 && time.Minute == 49 && time.Second == 55) Button_ClosePosition_Click(null, null);
});
|
|
Спасибо:
|
|
|
|
|
esper
|
Дата: 15.01.2013
Сергей MenDel Код
_trader.MarketTimeChangedInterval = TimeSpan.FromSeconds(1);
_trader.MarketTimeChanged += time1 => this.GuiAsync(() =>
{
var time = _trader.GetMarketTime(Exchange.Rts);
if (time.Hour == 23 && time.Minute == 49 && time.Second == 55) Button_ClosePosition_Click(null, null);
});
это конечно хорошо, но в настоящий момент GetMarketTime используется DateTime.Now, которое просто сдвинуто на часовой пояс указанной биржи.
|
|
Спасибо:
|
|
|
|
|
developer_29
|
Дата: 21.01.2013
Цитата:Код
_trader.MarketTimeChangedInterval = TimeSpan.FromSeconds(1);
_trader.MarketTimeChanged += time1 => this.GuiAsync(() =>
{
var time = _trader.GetMarketTime(Exchange.Rts);
if (time.Hour == 23 && time.Minute == 49 && time.Second == 55) Button_ClosePosition_Click(null, null);
});
А напишите, пожалуйста, код метода Button_ClosePosition_Click. первые 2 строчки нужны для того, чтобы получать данные каждую секунду?
|
|
Спасибо:
|
|
|
|
|
MenDel
|
Дата: 21.01.2013
developer_29 А напишите, пожалуйста, код метода Button_ClosePosition_Click. первые 2 строчки нужны для того, чтобы получать данные каждую секунду?
Первая строчка - чтоб каждую секунду, а вторая вызывает каждый раз метод Если по рынку закрывать, то делаю так Код
decimal position = 0;
decimal price;
OrderDirections orderDirections;
try { position = _trader.Positions.FirstOrDefault(p => p.Security == SelectedSecurity).CurrentValue; }
catch { position = 0; }
try {_trader.CancelOrders(security: SelectedSecurity);}
catch{}
if (position != 0)
{
if (position > 0)
{
orderDirections = OrderDirections.Sell;
price = SelectedSecurity.MinPrice;
}
else
{
orderDirections = OrderDirections.Buy;
price = SelectedSecurity.MaxPrice;
}
var order = new Order
{
Trader = _trader,
Portfolio = SelectedPortfolio,
Security = SelectedSecurity,
Direction = orderDirections,
Price = price,
Volume = Math.Abs(position)
};
_trader.RegisterOrder(order);
}
|
|
|
|
|
ra81
|
Дата: 22.01.2013
Вообще ранее в стратегиях было TimeCome и на него вешаем что хотим, а не такой хитромудрый способ который поверх ваших стратегий как незнамо что прилеплен. Сейчас может убрали не смотрел сие.
ПС: ну вот esper вам совершенно тоже самое советует. И ведь правильно советует.
|
|
Спасибо:
|
|
|
|