Форум. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=forum&page=206Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T17:17:50Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/1954/Стратегия и выставленные заявки2011-09-28T09:17:05Z2011-09-28T09:17:05Zfrontmanhttps://stocksharp.ru/users/28487/info@stocksharp.ruПри запуске стратегии она начинает прокачивать весь список заявок заново.<br />Как то можно внутри стратегии подождать когда все старые заявки будут прокачены?https://stocksharp.ru/topic/1953/Что за метод LoadRevisions() в SampleGui2011-09-28T07:03:59Z2011-09-28T07:03:59Zfrontmanhttps://stocksharp.ru/users/28487/info@stocksharp.ruВот тут пытаюсь разобраться почему пример работает а мой код вроде бы однотипный нет.<br />Кто нибудь может подсказать что это за метод?https://stocksharp.ru/topic/1952/Не поддерживаемый тип заявки: Limit2011-09-27T13:42:05Z2011-09-27T13:42:05Zvvthttps://stocksharp.ru/users/34/info@stocksharp.ruВ S# 4.0 следующий код<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
_order = this.CreateOrder(
OrderDirections.Buy,
Security.BestAsk.Price,
base.Volume);
base.RegisterOrder(_order);
</pre>
</div></div><br />не регистрирует заявку, в версии 3.2.11 он работал.<br /><br />Инструмент - фьючерс на индекс РТС, шлюз - RealTimeEmulationTrader<QuikTrader>.<br /><br />ProcessDataError выдает ошибку:<br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">System.Exception: Не поддерживаемый тип заявки: Limit<br /> в StockSharp.Algo.Testing.MarketEmulator.#=qAF$cAaWD8w6Sf0n2jICfhpSjxiFMQ7cRvsxNBVv2XZU=.#=qtATV9JVYahQzlLvEmwHMXg==(SynchronizedDictionary`2 #=qqbEUq3HDL9A75wqaPnzj$w==)<br /> в Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 action)<br /> в StockSharp.Algo.Testing.MarketEmulator.#=qQ7VuWd1o2GhxXAVxPgmkZg==(Security #=qCsXs6bt_tlEwFRwhVgBQnQ==, IEnumerable`1 #=qb31cqUo8VqK2fERgBTKC$A==)<br /> в StockSharp.Algo.Testing.MarketEmulator.UpdateQuotes(IEnumerable`1 marketDepths)<br /> в StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qPOciz$lJJgRYHAuFM9pUNBIovhk7OXBGPOzuhi0GZHY=(IEnumerable`1 #=qzyZdu5Ra5qxgYZvxk7l2SQ==)<br /> в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)<br /> в StockSharp.Algo.BaseTrader.#=qdkcJ1z_5G_9v8kyPHSiXH2QUl6vo_RX4HfOmcsOgXGs=.#=qYoX9dfq6NfczbKi_skOY4w==(IEnumerable`1 #=qLjzF$t5RARnMfwEZijwylw==)</div></div> <br /><br />https://stocksharp.ru/topic/1951/Portfolio.Amounts на FORTS2011-09-27T10:25:43Z2011-09-27T10:25:43ZChurchhttps://stocksharp.ru/users/459/info@stocksharp.ruПравильно ли я понимаю, что Portfolio.BeginAmount и Portfolio.CurrentAmount не работают для деривативных портфелей?<br />И лимит открытых позиций нужно получать через напрямую из Trader.DerivativePortfoliosTable?https://stocksharp.ru/topic/1950/Security.BestBidPriceMoreAbsolute()2011-09-27T08:44:46Z2011-09-27T08:44:46Zrafhttps://stocksharp.ru/users/28475/info@stocksharp.ruВ S# 4.00 перестало исполняться правило When(Security.BestBidPriceMoreAbsolute(price)).Do()<br />Есть какая-то возможность отследить работу этого правила? Может поменялись условия работы данного правила?https://stocksharp.ru/topic/1949/Робот не переподключается вечером, а с утра все нормально2011-09-27T07:42:01Z2011-09-27T07:42:01Za.dobrynhttps://stocksharp.ru/users/28111/info@stocksharp.ruТакая проблема - оставляется работать программа, утром в 10 часов смотрю - после 18.45 тишина, но утром, с 10 часов, все нормально переподключается и работает дальше. Пока не могу сама понаблюдать, что же такое происходит вечером, потому что в это время сижу в универе на паре. Интернет точно не пропадает, в квике настроен интервал переподключения с 10 до 22. <br />Настройки такие<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
this.Trader.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.ConnectingAttemptCount = -1;
this.Trader.Trader.ReConnectionSettings.ReConnectingAttemptCount = -1;
this.Trader.Trader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;
this.Trader.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.ExportTimeOutInterval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.ConnectDisconnectTimeOutInterval = TimeSpan.FromSeconds(10);
this.Trader.Trader.ReConnectionSettings.IsReStartExport = true;
</pre>
</div></div><br />Что проверять, куда смотреть? =)https://stocksharp.ru/topic/1948/Ошибка с логами2011-09-26T20:38:40Z2011-09-26T20:38:40ZFiNickhttps://stocksharp.ru/users/6053/info@stocksharp.ruВот код:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
private void OnLogUpdate(ErrorTypes err, string message)
{
this.Log(new LogMessage(this, DateTime.Now, err, message));
}
public T400()
{
plaza = new PlazaTrader(this.StrategyParameters.PlazaRouterPath.To<IPEndPoint>());
this.candleManager = new CandleManager(plaza);
logManager = new LogManager();
logManager.Sources.Add(this);
}</pre>
</div></div><br />T400 это робот, по сути класс-инфраструктура для запуска стратегии, чтобы он тоже мог писать логи реализуется ILogSource.<br />На старте робота выполняется:<div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
guiLogListener = new GuiLogListener(_logWindow);
t400.AddLogListener(guiLogListener);</pre>
</div></div> <br />Потом, при выполнении OnLogUpdate ошибка: [System.ArgumentNullException] = {"Значение не может быть неопределенным.\r\nИмя параметра: obj"}<br />Вот стэктрэйс:<br /> в Ecng.Xaml.XamlHelper.GuiSync(DispatcherObject obj, Action action)<br /> в StockSharp.Xaml.GuiLogListener.OnWriteMessage(LogMessage message)<br /> в StockSharp.Algo.Logging.LogListener.WriteMessage(LogMessage message)<br /> в StockSharp.Algo.Logging.LogManager.#=qrUj$Ns0mMAxxqh0k0FFJLB8wrKr4pz7DsmdCpRVKh18=.#=q3S_X0XbExHKU68uzjbFQVxw4VT4yOdgZvBt8Dr1nZXc=(ILogListener #=qeUzjoy2OxlhpLB1gDjK5qQ==)<br /> в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)<br /> в StockSharp.Algo.Logging.LogManager.#=qm2awVrrxMn_7KT6KAHw0Wg==(LogMessage #=qJiXkieLb13i$V63GpKExqw==)<br /> в Skynet.T400.OnLogUpdate(ErrorTypes err, String message)<br /><br />Собственно вопрос: что передается в GuiSync в качестве DispatcherObject и почему все ломается.<br />Второй вопрос: как правильно в такой ситуации реализовать ILogSource, кто будет Parent, кто Childs, и зачем там Guid?<br /><br />P.S. Ошибка появилась оч недавно, после последнего обновления референсовhttps://stocksharp.ru/topic/1947/Не работают примеры тестирования2011-09-26T15:48:17Z2011-09-26T15:48:17Zwakwakhttps://stocksharp.ru/users/403/info@stocksharp.ruВо всех версиях, кроме 3.2.10(там все ок), не работают примеры тестирования: ни SampleHistoryTesting, ни SampleEmulationTesting. <br /><br />SampleEmulationTesting:<br />1) жму кнопку старт<br />2) через секунду вылетает сообщение "отменено". Прогресс бар на нуле. визуальные элементы появляются, но эквити не рисуется и параметры не меняются.<br />SampleHistoryTesting<br />1) выбираю путь к истории<br />2) жму старт<br />3) визуальные элементы появляются, но эквити не рисуется и параметры не меняются. больше ничего не происходит.<br /><br />Опять же повторюсь в 3.2.10 все ок, в остальных версиях не работает =(<br />В чем может быть проблема?<br />https://stocksharp.ru/topic/1946/Проблема с одновременным созданием правил Security.MarketDepthChanged() и StrategyNewOrder()2011-09-26T12:47:21Z2011-09-26T12:47:21Zfrontmanhttps://stocksharp.ru/users/28487/info@stocksharp.ruЯ решил вынести это в отдельную тему, т.к думаю причина всех остальных бед именно в этом...<br />Если не создавать правило на изменение стакана правило на получение заявок работает без проблем...https://stocksharp.ru/topic/1945/Цена лимитной заявки не может быть равной 02011-09-26T10:55:13Z2011-09-26T10:55:13Zrafhttps://stocksharp.ru/users/28475/info@stocksharp.ru<div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
_order = this.CreateOrder(_direction, base.Security.GetMarketPrice(_direction), base.Volume);
this.RegisterOrder(_order);</pre>
</div></div><br /><br />Прога вылетает с исключением: "Цена лимитной заявки не может быть равной 0."<br />(Security c FORTS)https://stocksharp.ru/topic/1943/Даздраствует новая нестабильная версия!!2011-09-26T06:15:55Z2011-09-26T06:15:55Zfrontmanhttps://stocksharp.ru/users/28487/info@stocksharp.ruСегодня подключил новые библиотеки версии 4.0. <br />Результат исключение при вызове метода Start() <br />NotSupportedException {"Данный формат пути не поддерживается."}<br /><br /> в System.Security.Util.StringExpressionSet.CanonicalizePath(String path, Boolean needFullPath)<br /> в System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)<br /> в System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)<br /> в System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, AccessControlActions control, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath)<br /> в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)https://stocksharp.ru/topic/1942/Куда пропали поля класса PlazaStreamRegistry2011-09-26T05:26:40Z2011-09-26T05:26:40Zfrontmanhttps://stocksharp.ru/users/28487/info@stocksharp.ruВ документации версии 4.0 данные поля очень подробно расписаны.<br />Но где они на самом деле?)https://stocksharp.ru/topic/1941/Stock# 4.0 beta2011-09-25T22:21:44Z2011-09-25T22:21:44ZAlexanderhttps://stocksharp.ru/users/2826/info@stocksharp.ru<a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADRsWM-yO9fO0Jso1lzQVF30mvOfKjz-6zfqIOhK_YlyiV9ZiUV649uNTBAQsvQJ5Y" title="http://www.box.net/stocksharp/1/117883213">Выложили 4.0 (RC1)</a>.<br />Она же бывшая 3.2.<br />Изменений в 3.2 было очень много и многие из них были кардинальные, поэтому приняли решение переименовать ветку в 4.0.<br /><br />Ниже - изменения по сравнению с 3.2.11.<br /><br /><b>Изменения</b>:<br />[list=1]<br /><li>Quik: Пропуск ошибочных строчек в ДДЕ с целью обработки правильных.<br /><li>Quik: Добавлена поддержка РЕПО \ РПС заявок. <b><a href="http://stocksharp.com/users/60/" title="http://stocksharp.com/users/60/">Спасибо Maxim K.</a></b><br /><li>Quik: Запуск дде вывода без коннекта к Quik<br /><li>Получение по инструменту производных. (GetUnderlyingAsset, GetConnectedAssets в TraderHelper)<br /><li><b>Security.LastTrade, MarketDepth.BestBid, MarketDepth.BestAsk - null по умолчанию.<br />Будьте внимательны в своих алгоритмах.</b><br /><li>FileLogListener. Разбиение по датам.<br /><li>[url=http://stocksharp.com/posts/m/11371/https://stocksharp.ru/topic/1940/ProcessRules2011-09-25T21:36:57Z2011-09-25T21:36:57Zrafhttps://stocksharp.ru/users/28475/info@stocksharp.ru<div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
protected override void OnStarting()
{
ProcessRules(() =>
{
this
.When(_tradingStrategy.StrategyNewMyTrades())
.Do(ReHedge);
this
.When(Security.Changed())
.Do(ReHedge);
});
base.OnStarting();
}
</pre>
</div></div><br /><br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
protected override void OnStarting()
{
ProcessRules(() =>
{
this
.When(_tradingStrategy.StrategyNewMyTrades())
.Do(ReHedge);
});
ProcessRules(() =>
{
this
.When(Security.Changed())
.Do(ReHedge);
});
base.OnStarting();
}
</pre>
</div></div><br /><br />Оба варианта будут работать одинаково?<br /><br />https://stocksharp.ru/topic/1939/Тестирование на всей серии фьючерсов по одному базовому активу2011-09-24T21:02:19Z2011-09-24T21:02:19ZCamillhttps://stocksharp.ru/users/28717/info@stocksharp.ruХочется протестировать стратегию на всей истории фьючерса РТС, но с точки зрения стратегии это несколько десятков инструментов.<br />Есть ли какие-то встроенные возможности автоматического перебора, или надо это делать внутри стратегии вручную?https://stocksharp.ru/topic/1938/ошибка в SampleEmulationTesting2011-09-23T19:08:07Z2011-09-23T19:08:07ZSerghttps://stocksharp.ru/users/484/info@stocksharp.ruДоброй ночи.<br />Начал разбираться с тестирование. Откомпилировал, запустил, нажал старт вылезла ошибка "Значение не может быть null" Добавил строку помеченную ниже. Заработало)<br />Просьба поправить пример. Спасибо<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
// создаем шлюз для эмуляции
_trader = new EmulationTrader(
new[] { security },
new[] { portfolio })
{
MarketTimeChangedInterval = timeFrame
};
// стартовое значения для генерации случайных данных
security.LastTrade = new Trade(); <--- Добавил эту строку
security.LastTrade.Price = 155000;
_trader.TradeGenerators[security] = new RandomWalkTradeGenerator(security);
_trader.DepthGenerators[security] = new TrendMarketDepthGenerator(security);</pre>
</div></div>https://stocksharp.ru/topic/1936/Непонятки с MarketDepth.TotalBids(Asks)Volume2011-09-23T08:07:05Z2011-09-23T08:07:05ZDottzhttps://stocksharp.ru/users/311/info@stocksharp.ruДелаю нехитрую операцию выделения крупных заявок в стакане и возникла проблема с получением всех бидов и асков в стакане. Сначала я запоминаю суммарные биды и аски и потом прохожу весь стакан, дабы найти крупные заявки. Но вот в чем дело: в цикле значения TotalBids(Asks)Volume с каждой новой Quote изменяются. В чем дело здесь может быть ? <br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
int bids = InstrumentDepth.TotalBidsVolume;
int asks = InstrumentDepth.TotalAsksVolume;
double part=0;
foreach (Quote Quote in InstrumentDepth)
{
if (Quote.OrderDirection == OrderDirections.Buy)
part = Quote.Volume / bids;
else if (Quote.OrderDirection == OrderDirections.Sell)
part = Quote.Volume / asks;
if ((part) > 0.5) BigButt.Add(Quote.Price);
}
</pre>
</div></div>https://stocksharp.ru/topic/1935/Шаг цены по VTBR2011-09-22T21:38:04Z2011-09-22T21:38:04ZJackSparrowhttps://stocksharp.ru/users/27783/info@stocksharp.ru<div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote"><br />Finam 00:15:16.9602349 Первая сделка 1130039929 для VTBR@EQNL за 01.03.2011 10:29:59.<br />Finam 00:15:16.9602349 Последняя сделка 1130480336 для VTBR@EQNL за 01.03.2011 18:49:59.<br />Finam 00:15:16.9752357 Для инструмента 'VTBR@EQNL' загружено 29930 сделок.<br />Finam 00:15:16.9802360 System.ArgumentException: Минимальный шаг цены 0,00010 не соответствует самой цене 0,10151.<br /></div></div><br />Чего то вдруг именно вот здесь или после обновления шаг цены стал в десять раз больше.<br /><br />Я код бегло просмотрел, не нашел где он задается. По идее его надо читать и хранить, где хранится тоже не нашел.<br />Буду благодарен если поясните алгоритм и примете к сведению предмет.https://stocksharp.ru/topic/1934/Ежедневные сборки2011-09-22T12:19:43Z2011-09-22T12:19:43ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruНа <a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAbncQVTu8T5yVB2LlB47S-tp-C5I90Ke9gFsHRpkIkYs4772shyt5yS-wnjtnsFMQ" title="http://stocksharp.codeplex.com/ ">http://stocksharp.codeplex.com/ </a>происходит регулярное обновление S# сборок. Пример, 1 раз в день. Туда попадают и исправления для багов, о которых пишете на форуме. Если кто-то хочет получать актуальные изменения (есть срочные проблемы), то как средство для лечения - КодеПлекс.https://stocksharp.ru/topic/1933/Как в CandleChart привязать серию к определенной шкале?2011-09-22T09:08:57Z2011-09-22T09:08:57ZСергей Гавриловhttps://stocksharp.ru/users/28633/info@stocksharp.ruКак в CandleChart привязать индикатор к шкале ценового графика?