Время работы S#~/topic/1302/vremya-raboty-s/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T10:23:01Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/5273/ S# сам стратегии не останавливает, это делаете вы из своего кода. скиньте те куски кода, где из OnP...2010-12-30T09:27:59Z2010-12-30T09:30:08ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ru<div class="quote"><span class="quotetitle">dart</span><div class="innerquote"><div class="quote"><span class="quotetitle">Alexander</span><div class="innerquote"><br />S# сам стратегии не останавливает, это делаете вы из своего кода. скиньте те куски кода, где из OnProcess вызываете StrategyProcessResults.Stop.<br />Наверняка где-то там и идёт проверка на время - просто подкорректируйте его.<br /><br />С наступающим! :)</div></div><br />Спасибо Alexander за отклик. Я сам стратегии никак не останавливаю.<br />Проверки времени нигде нет. В этом смысле всё как в SampleSMA: StrategyProcessResults.Stop вызывается только в случае если <br />стратегия уже сама находится в процессе остановки if (base.ProcessState == StrategyProcessStates.Stopping)<br />Просто файл который у меня вызывается с частотой OnProcess ( для проверки рабочего состояния стратегии)<br />имеет последнее время обновления 23:50<br /><br />Alexander, я так понял, у вас какие-то действия производятся после 23: 50?<br />Попробую ещё проверить.</div></div><br /><br /><br />Да, я сохраняю историю которая меня интересует для последующего тестирования новых стратегий.<br /><br />У меня сделано следующим образом:<br />1) Объявляю таймер:<br /><div class="code"><strong>Код</strong><div class="innercode">private DispatcherTimer _stopRobotsTimer;</div></div><br />2) Инициализирую, запускаю (при подключении к квикам):<br /><div class="code"><strong>Код</strong><div class="innercode"> _stopRobotsTimer = new DispatcherTimer {Interval = new TimeSpan(0, 30, 0)};<br /> _stopRobotsTimer.Tick += StopRobotsTimerTick;<br /> _stopRobotsTimer.Start();</div></div><br />3) Каждые 30 минут вызывается StopRobotsTimerTick:<br /><div class="code"><strong>Код</strong><div class="innercode"> private void StopRobotsTimerTick(object sender, EventArgs e)<br /> {<br /> if (_multiTrader.Trades.Count() <= 0) return;<br /><br /> var lastTradeTime = _multiTrader.Trades.Last().Time;<br /> if (lastTradeTime.Date.AddDays(1) == DateTime.Now.Date &&<br /> DateTime.Now.Hour < 5)<br /> {<br /> Close();<br /> }<br /> }</div></div><br /><br />Здесь просто смотрю дату последней сделки и проверяю, что сейчас новый день - в этом случае выключаю робота.<br />Таким образом робот стабильно выключается в 0:00 - 0:29 :)<br /><br />В перегруженном методе OnClosing как раз сохраняю всё что мне необходимо.<br /><br /><br />Получается что всё-таки у вас где-то останавливается стратегия. Сложно конкретно сказать не видя кода =)Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/5272/ S# сам стратегии не останавливает, это делаете вы из своего кода. скиньте те куски кода, где из OnP...2010-12-30T08:50:17Z2010-12-30T09:08:43Zdarthttps://stocksharp.ru/users/28358/info@stocksharp.ru<div class="quote"><span class="quotetitle">Alexander</span><div class="innerquote"><br />S# сам стратегии не останавливает, это делаете вы из своего кода. скиньте те куски кода, где из OnProcess вызываете StrategyProcessResults.Stop.<br />Наверняка где-то там и идёт проверка на время - просто подкорректируйте его.<br /><br />С наступающим! :)</div></div><br />Спасибо Alexander за отклик. Я сам стратегии никак не останавливаю.<br />Проверки времени нигде нет. В этом смысле всё как в SampleSMA: StrategyProcessResults.Stop вызывается только в случае если <br />стратегия уже сама находится в процессе остановки if (base.ProcessState == StrategyProcessStates.Stopping)<br />Просто файл который у меня вызывается с частотой OnProcess ( для проверки рабочего состояния стратегии)<br />имеет последнее время обновления 23:50<br /><br />Alexander, я так понял, у вас какие-то действия производятся после 23: 50?<br />Попробую ещё проверить.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/5271/Добрый день, всех с наступающим НГ. У меня вопрос к Михаилу: S# останавливает стратегии в 23:50. Мож...2010-12-30T08:38:50Z2010-12-30T08:38:50ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ru<div class="quote"><span class="quotetitle">dart</span><div class="innerquote">Добрый день, всех с наступающим НГ.<br />У меня вопрос к Михаилу: S# останавливает стратегии в 23:50.<br />Можно как-то продлить их работу на хотя бы на 1-5 минут? Просто для того чтобы успеть получить последнюю сформированную свечку.<br />Я их записываю в файл. Кроме того, на мой взгляд, это наиболее простой путь для получения истории без всяких сложностей ввиде сторонних БД и купайлов.<br /></div></div><br /><br />S# сам стратегии не останавливает, это делаете вы из своего кода. скиньте те куски кода, где из OnProcess вызываете StrategyProcessResults.Stop.<br />Наверняка где-то там и идёт проверка на время - просто подкорректируйте его.<br /><br />С наступающим! :)Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/5269/Добрый день, всех с наступающим НГ. У меня вопрос к Михаилу: S# останавливает стратегии в 23:50. Мож...2010-12-30T08:12:26Z2010-12-30T08:12:26Zdarthttps://stocksharp.ru/users/28358/info@stocksharp.ruДобрый день, всех с наступающим НГ.<br />У меня вопрос к Михаилу: S# останавливает стратегии в 23:50.<br />Можно как-то продлить их работу на хотя бы на 1-5 минут? Просто для того чтобы успеть получить последнюю сформированную свечку.<br />Я их записываю в файл. Кроме того, на мой взгляд, это наиболее простой путь для получения истории без всяких сложностей ввиде сторонних БД и купайлов.<br />Copyright @ StockSharp Platform LLC 2010 - 2024