Сообщество. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=community&page=163Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T08:41:25Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/3434/Милисекунды по сделка2013-02-27T10:35:31Z2013-02-27T10:35:31Zqpilehttps://stocksharp.ru/users/6397/info@stocksharp.ruЗдравствуйте!<br />В сделке Trade нет милисекунды. При этом на тиковом графике в QUIK милисекунды отображаются. Как их получить?https://stocksharp.ru/topic/3433/Проблемы при переходе с 4.1.6 на 4.1.82013-02-27T09:27:58Z2013-02-27T09:27:58ZFiNickhttps://stocksharp.ru/users/6053/info@stocksharp.ruРешил обновиться на новую версию. В коде почти ничего менять не пришлось.<br />При запуске сначала вылетела ошибка с лицензией: "Лицензионный файл содержит неправильный идентификатор компьютера BFEBFBFF000206A7 вместо BFEBFBFF000206A71C:6F:65:D7:82:D0", что странно, комп тот же. <br />Зашел в свой личный кабинет, создал лицензию для указанного идентификатора, вроде прокатило.<br />Далее при попытке коннекта со всех потоков вылетает ошибка COMException с библиотеки P2ClientGateMTA64 (см. прикрепленный файл). Сброс Ini файлов у робота и переустановка гейта на более свежий не помогла.https://stocksharp.ru/topic/3432/Параметры текущей свечи2013-02-27T06:38:57Z2013-02-27T06:38:57ZShalyhttps://stocksharp.ru/users/26891/info@stocksharp.ruКаким методом получить параметры текущей свечи? High, Low предыдущей (сформировавшейся) свечи получаем через ProcessCandle(Candle candle), текущей (формирующейся) через ProcessValues(Candle candle), но последнее не работает.https://stocksharp.ru/topic/3431/Продление лицензии2013-02-26T17:13:11Z2013-02-26T17:13:11ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ru... осуществляется так же, как и ее <a href="http://stocksharp.com/doc/?topic=html/ba149b22-2024-4479-aaf3-8dd271a681f5.htm" title="http://stocksharp.com/doc/?topic=html/ba149b22-2024-4479-aaf3-8dd271a681f5.htm">получение</a> (напоминаю, что теперь лицензию можно скачивать и <a href="http://stocksharp.com/profile/" title="http://stocksharp.com/profile/">из личного кабинета</a>).<br /><br />Лицензия продлевается, если осталось менее 2-ух дней. Иначе, возвращается ранее сгенерированная.<br /><br />Если возникнут какие-то проблемы, то сразу же оповестите нас. Постараемся исправить в кратчайшее время.https://stocksharp.ru/topic/3430/наблюдаю разницу в поведении RealTimeEmulationTrader от 4.1.6 к 4.1.82013-02-26T14:38:36Z2013-02-26T14:38:36Zkahunahttps://stocksharp.ru/users/16705/info@stocksharp.ru<b>В таблице заявок имеются две старые совершенные вручную сделки.<br />Когда собираю проект с 4.1.6 то сразу при установлении соединения с Quik<br />в журнал приходят два сообщения:</b><br /><em>2013.02.26 18:28:33.745| |QuikTrader|New order: 56501936/10003651138 Продажа Цена=152740 Объем=1 Сост=Done Бал=0 <br />2013.02.26 18:28:33.753| |QuikTrader|New order: 56501937/10003787314 Покупка Цена=152600 Объем=1 Сост=Done Бал=0 <br />2013.02.26 18:28:50.035| |QuikTrader|Экспорт запущен.</em><br /><br /><b>И далее программа работает нормально.<br />Если то-же проделываю с библиотекой 4.1.8 то прилетает еще и ошибка:</b><br /><em>2013/02/26 18:31:44.151| |QuikTrader|New order: 56501936/10003651138 Продажа Цена=152740 Объем=1 Сост=Done Бал=0 <br />2013/02/26 18:31:44.174| |QuikTrader|New order: 56501937/10003787314 Покупка Цена=152600 Объем=1 Сост=Done Бал=0 <br />2013/02/26 18:31:44.382|Error |QuikTrader|System.InvalidOperationException: Ордер с transactionId=56501936 не найден<br /> в StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qoYen7SIGXXIHC5yDoBmtakvI8ajVk$YMRTG2hIXiflw=(Int64 #=qO9iU2Mv29dcXgUc$4EMffw==)<br /> в StockSharp.Algo.Testing.RealTimeEmulationTrader`1.#=qW_NOGPO8hUy5l8I2xNZCL$oRPjjivnoDpJ2KizA3TPo=(IEnumerable`1 #=qA0Q6xXtG5Oyta7t6dDl7yg==)<br /> в System.Action`1.Invoke(T obj)<br /> в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)<br /> в Ecng.ComponentModel.EventsContainer`1.Raise(IEnumerable`1 items)<br />2013/02/26 18:31:44.675| |QuikTrader|Экспорт запущен.<br /></em><br /><b>И далее ордера не выставляются.<br />Может кто понимает что бы это значило?<br />По моему разумению коннектор в версии 4.1.8 запрашивает из какой-то таблицы<br />еще данные про ордер номер 56501936 и не получает. Как бы узнать из какой?</b><br />https://stocksharp.ru/topic/3429/Ошибка экспорта таблицы стоп-заявок2013-02-26T10:53:03Z2013-02-26T10:53:03ZVassilSanychhttps://stocksharp.ru/users/6491/info@stocksharp.ruПри прошлом запуске успешно создавал тейк-профиты по заявке (как CreateConditionTakeProfit из примера).<br />Соответственно в таблице стоп-заявок есть данные.<br />Закрыл, запустил заново.<br />Получил следующий баг экспорта на старте:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
2013/02/26 14:42:37.144| |StrategyManager|Status:Started, PnL:0, Slippage:0, Position:0, Latency:00:00:00, StartedTime
2013/02/26 14:42:37.145| |SS |Стратегия запущена. [0,-1]. Позиция при старте 0.
2013/02/26 14:42:37.277|Debug |QuikManager|Терминал проверен
2013/02/26 14:42:37.281|Debug |QuikManager|Создание шлюза взаимодействия с системой Quik.
2013/02/26 14:42:37.593| |QuikManager|Шлюз создан
2013/02/26 14:42:42.652|Debug |QuikManager|Ожидание соединения
2013/02/26 14:42:42.657|Debug |QuikManager|Соединение установлено.
2013/02/26 14:42:46.168|Debug |TimeServerHelper|Время синхронизировано c сервером 80.90.180.140:123. Отступ - 00:00:03.4116024
2013/02/26 14:42:51.169|Debug |QuikManager|Запуск экспорта данных.
2013/02/26 14:42:51.533|Debug |QuikManager|Новые бумаги
2013/02/26 14:42:51.675|Error |QuikManager|Ошибка получения данных: System.ArgumentOutOfRangeException: Неподдерживаемый тип стоп-заявки.
Имя параметра: func
Фактическое значение было Тэйк-профит по заявке.
в StockSharp.Quik.QuikDdeFormatter.GetStopOrderType(Func`2 func) в e:\Projects\C_Projects\StockSharp\Sources\Quik\QuikDdeFormatter.cs:строка 268
в StockSharp.Quik.QuikTrader.<>c__DisplayClass31.<>c__DisplayClass56.<>c__DisplayClass58.<>c__DisplayClass5a.<OnPoke>b__1b(Int64 key) в e:\Projects\C_Projects\StockSharp\Sources\Quik\QuikTrader.cs:строка 1154
в StockSharp.Algo.BaseTrader.<>c__DisplayClass1f.<GetOrder>b__1d(Int64 key) в e:\Projects\C_Projects\StockSharp\Sources\Algo\BaseTrader.cs:строка 2440
в StockSharp.Algo.BaseTrader.Cache.<>c__DisplayClass50.<GetOrder>b__4f(Int64 key) в e:\Projects\C_Projects\StockSharp\Sources\Algo\BaseTrader.cs:строка 125
в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler, Boolean& isNew) в e:\Ecng\trunk\Collections\CollectionHelper.cs:строка 479
в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler) в e:\Ecng\trunk\Collections\CollectionHelper.cs:строка 456
в StockSharp.Algo.BaseTrader.Cache.GetOrder(Security security, Int64 id, Func`2 createOrder) в e:\Projects\C_Projects\StockSharp\Sources\Algo\BaseTrader.cs:строка 123
в StockSharp.Algo.BaseTrader.GetOrder(Security security, Int64 id, Func`2 createOrder, Func`2 changeOrder) в e:\Projects\C_Projects\StockSharp\Sources\Algo\BaseTrader.cs:строка 2436
в StockSharp.Quik.QuikTrader.<>c__DisplayClass31.<>c__DisplayClass56.<>c__DisplayClass58.<OnPoke>b__1a(Security otherSec) в e:\Projects\C_Projects\StockSharp\Sources\Quik\QuikTrader.cs:строка 1149
в StockSharp.Quik.QuikTrader.<>c__DisplayClass31.<>c__DisplayClass56.<OnPoke>b__19(Security security) в e:\Projects\C_Projects\StockSharp\Sources\Quik\QuikTrader.cs:строка 1207
в StockSharp.Algo.BaseTrader.ProcessSecurityAction(String securityId, Object nativeSecurityId, Action`1 action, Boolean ignoreIfNotExist) в e:\Projects\C_Projects\StockSharp\Sources\Algo\BaseTrader.cs:строка 2829
в StockSharp.Quik.QuikTrader.<>c__DisplayClass31.<OnPoke>b__18(IList`1 row, Func`2 func) в e:\Projects\C_Projects\StockSharp\Sources\Quik\QuikTrader.cs:строка 1141
в StockSharp.Quik.QuikDdeFormatter.Deserialize(DdeTable table, IList`1 rows, Action`2 handler, Action`1 errorHandler, Boolean skipErrors) в e:\Projects\C_Projects\StockSharp\Sources\Quik\QuikDdeFormatter.cs:строка 57</pre>
</div></div>https://stocksharp.ru/topic/3428/Зачем Quik'овскому TakeProfit'у Price?2013-02-26T09:14:21Z2013-02-26T09:14:21ZVassilSanychhttps://stocksharp.ru/users/6491/info@stocksharp.ruУ квиковского скользящего TakeProfit'а есть StopPrice, Offset и Spread. Цена сделки вычисляется по этим параметрам.<br />Но при регистрации в StockSharp требуется явное указание Price > 0.<br />Иначе заявка не принимается.<br /><br />Кстати, почему Spread является свойством Condition? <br />Как-то не логично: отступ заявки относится не к условию её активации, а к цене самой назначаемой заявки.https://stocksharp.ru/topic/3427/Ошибка записи лога при перезапуске стратегии2013-02-26T09:05:23Z2013-02-26T09:05:23ZVassilSanychhttps://stocksharp.ru/users/6491/info@stocksharp.ruСтратегия не отпускает файл лога после остановки и при последующем старте мешает его открытию.<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
2013/02/26 12:59:28.271| |SS_RIH3@RTS_SPBFUT00066|Стратегия остановлена. [0,-1]. Позиция при старте 0.
2013/02/26 12:59:28.271| |StrategyManager|Status:Stopped, PnL:-110, Slippage:-70, Position:0, Latency:00:00:01.1456274, ProcessState
2013/02/26 12:59:28.271| |QuikManager|265 Заявка 45101234/2007094247 Продажа Цена=152720 Объем=1 Сост=Done Бал=0
2013/02/26 12:59:28.272| |QuikManager|265 Заявка 45101234/2007094247 Продажа Цена=152720 Объем=1 Сост=Done Бал=0
2013/02/26 12:59:43.745| |StrategyManager|Status:Started, PnL:0, Slippage:0, Position:0, Latency:00:00:00, StartedTime
2013/02/26 12:59:43.745| |SS |Стратегия запущена. [0,-1]. Позиция при старте 0.
2013/02/26 12:59:41.204|Error |VgnRobot.App|System.IO.IOException: Процесс не может получить доступ к файлу "E:\Projects\VGnRobot1\Robot\bin\x86\Debug\SS 20130226.txt", так как этот файл используется другим процессом.
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в 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, Boolean checkHost)
в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
в System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
в StockSharp.Logging.FileLogListener.OnCreateWriter(String fileName) в e:\Projects\C_Projects\StockSharp\Sources\Logging\FileLogListener.cs:строка 264
в StockSharp.Logging.FileLogListener.<>c__DisplayClass2.<>c__DisplayClass4.<OnWriteMessages>b__1(Tuple`2 key) в e:\Projects\C_Projects\StockSharp\Sources\Logging\FileLogListener.cs:строка 292
в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler, Boolean& isNew) в e:\Ecng\trunk\Collections\CollectionHelper.cs:строка 479
в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler) в e:\Ecng\trunk\Collections\CollectionHelper.cs:строка 456
в StockSharp.Logging.FileLogListener.<>c__DisplayClass2.<OnWriteMessages>b__0(LogMessage m) в e:\Projects\C_Projects\StockSharp\Sources\Logging\FileLogListener.cs:строка 292
в System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
в System.Linq.GroupedEnumerable`3.GetEnumerator()
в System.Linq.Parallel.ParallelEnumerableWrapper`1.GetEnumerator()
в StockSharp.Logging.FileLogListener.OnWriteMessages(IEnumerable`1 messages) в e:\Projects\C_Projects\StockSharp\Sources\Logging\FileLogListener.cs:строка 285
в StockSharp.Logging.LogListener.WriteMessages(IEnumerable`1 messages) в e:\Projects\C_Projects\StockSharp\Sources\Logging\LogListener.cs:строка 94
в StockSharp.Logging.LogManager.<>c__DisplayClass2.<Flush>b__1(ILogListener l) в e:\Projects\C_Projects\StockSharp\Sources\Logging\LogManager.cs:строка 106
в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action) в e:\Ecng\trunk\Collections\CollectionHelper.cs:строка 108
в StockSharp.Logging.LogManager.Flush() в e:\Projects\C_Projects\StockSharp\Sources\Logging\LogManager.cs:строка 106
в Ecng.Common.ThreadingHelper.<>c__DisplayClass1.<Timer>b__0(Object s) в d:\Projects\StockSharp.com\Ecng\trunk\Common\ThreadingHelper.cs:строка 15
в System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.TimerQueueTimer.CallCallback()
в System.Threading.TimerQueueTimer.Fire()
в System.Threading.TimerQueue.FireNextTimers()
в System.Threading.TimerQueue.AppDomainTimerCallback()</pre>
</div></div>https://stocksharp.ru/topic/3426/Strategy.RemoveChildStrategies = false2013-02-26T06:53:41Z2013-02-26T06:53:41Zrafhttps://stocksharp.ru/users/28475/info@stocksharp.ruВ версиях 4.0 можно было сделать так:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
Strategy.RemoveChildStrategies = false;</pre>
</div></div><br />и повторно использовать дочернии стратегии<br /><br />В 4.1 где искать аналогичный параметер?https://stocksharp.ru/topic/3425/Баг в EmulationTrader2013-02-25T09:57:58Z2013-02-25T09:57:58ZAASorokovoyhttps://stocksharp.ru/users/6304/info@stocksharp.ruПри использовании EmulationTrader наблюдаются следующие проблемы (наблюдал на версия 4.1.7, но судя по сорцам проявиться и в 4.1.8) <br /><br />Заявка отправляется в эмулятор.<br />Получает статус Active и после этого зависает (Не вызывает никаких событий, не исполняется и не отменяется). <br />При изучении логов наталкиваемся на сообщение <br />"Невозможно зарегистрировать заявку {0}: нет ни стаканов ни последней цены." Что выводит нас на код в MarketEmulator<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
if (depth == null)
{
// без стакана маркетные(они всегда новые) и новые лимитные-в-рынок матчатся по посл. сделке
var last = si.LastTrade;
if (last != null && last.Price != 0)
{
EvaluateByLast(order, last);
//if (EvaluateByLast(order, last))
// return true;
}
else
{
// если нет никаких цен, то фэйл
ProcessError(order,action, new InvalidOperationException("Невозможно зарегистрировать заявку {0}: нет ни стаканов ни последней цены.".Put(order.TransactionId)));
si.Remove(newNode);
}
}
</pre>
</div></div><br /><br />внутри функции: private void EvaluateNew(Order order, OrderTraceActions action) ( MarketEmulator.cs:1568 )<br /><br />Здесь мы видим, что при наступлении некоторого условия, пытаемся сделать статус заявки Fail.<br /><br />Далее смотрим кто вызывает эту функцию. Вызывается она в одном единственном месте. Там написано, что то типа:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
if (state.State != OrderStates.Active)
throw new InvalidOperationException("State!=Active");
EvaluateNew(state, action);
</pre>
</div></div><br /><br />Что наталкивает нас на мысль, что при выполнении верхнего участка кода статус заявки ВСЕГДА будет Active. Что при выполнении ветки <br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
else
{
// если нет никаких цен, то фэйл
ProcessError(order,action, new InvalidOperationException("Невозможно зарегистрировать заявку {0}: нет ни стаканов ни последней цены.".Put(order.TransactionId)));
si.Remove(newNode);
}
</pre>
</div></div><br /><br />Приведет к тому, что мы попытаемся Active заявку перевести в состояние Fail что противоречит логике работы объекта Order (и что выливается в ошибки при ее обработке объектом Strategy и т.п.)<br /><br />Предлагаю правку: <br />Код MarketEmulator <br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
private void EvaluateNew(Order order, OrderTraceActions action)
{
var si = GetSecurityAuction(order.Security);
var newNode = si.PutInQueue(order); // запоминаем тк надо сделки потом сводить по этим заявкам
try
{
var depth = si.GetDepth(si);
if (EvaluateConditional(depth, order))
return/* true*/;
if (EvaluateByDepth(order, depth, true))
return/* true*/;
if (depth == null)
{
// без стакана маркетные(они всегда новые) и новые лимитные-в-рынок матчатся по посл. сделке
var last = si.LastTrade;
if (last != null && last.Price != 0)
{
EvaluateByLast(order, last);
//if (EvaluateByLast(order, last))
// return true;
}
else
{
// если нет никаких цен, то фэйл
ProcessError(order,action, new InvalidOperationException("Невозможно зарегистрировать заявку {0}: нет ни стаканов ни последней цены.".Put(order.TransactionId)));
si.Remove(newNode);
}
}
}
catch (Exception e)
{
ProcessDataError(e);
}
//return false;
}
</pre>
</div></div><br /><br />заменить на <br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
private void EvaluateNew(Order order, OrderTraceActions action)
{
var si = GetSecurityAuction(order.Security);
var newNode = si.PutInQueue(order); // запоминаем тк надо сделки потом сводить по этим заявкам
try
{
var depth = si.GetDepth(si);
if (EvaluateConditional(depth, order))
return/* true*/;
if (EvaluateByDepth(order, depth, true))
return/* true*/;
if (depth == null)
{
// без стакана маркетные(они всегда новые) и новые лимитные-в-рынок матчатся по посл. сделке
var last = si.LastTrade;
if (last != null && last.Price != 0)
EvaluateByLast(order, last);
}
}
catch (Exception e)
{
ProcessDataError(e);
}
//return false;
}
</pre>
</div></div><br /><br />Что дает стабильную работу, по крайней мере на моих тестах. https://stocksharp.ru/topic/3424/Работа в S# (ВЕБИНАРЫ)2013-02-25T06:11:16Z2013-02-25T06:11:16ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ruСрочно требуется человек для проведения <a href="http://stocksharp.com/forum/3633/Viebinar-po-StockSharp-finam/" title="http://stocksharp.com/forum/3633/Viebinar-po-StockSharp-finam/">вебинаров</a> по продуктам S#. Оплата достойная!<br /><br />Пишите <b><a href="https://stocksharp.ru/away/?u=AQAAAAAAAADkUKBwdY4i-tNyG0toSqQw0yfZMUq9pNAoRyHyffmvGQ">samujan@stockharp.com</a></b>, но лучше в скайп <b>samujan1</b>https://stocksharp.ru/topic/3423/Ошибка на старте2013-02-24T22:48:33Z2013-02-24T22:48:33ZVassilSanychhttps://stocksharp.ru/users/6491/info@stocksharp.ruПри первом старте Гидра запускается.<br />При втором и последующих такая ошибка:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
System.AggregateException: Произошла одна или несколько ошибок. ---> System.MissingMethodException: Метод не найден: "Boolean Ecng.Reflection.ReflectionHelper.IsRuntimeType(System.Type)".
в Ecng.Serialization.XmlSerializer`1.Deserialize(Stream stream, FieldList fields, SerializationItemCollection source)
в Ecng.Serialization.Serializer`1.Deserialize(Stream stream, SerializationItemCollection source) в D:\Projects\StockSharp.com\Ecng\trunk\Serialization\Serializer.cs:строка 213
в Ecng.Data.Database.<>c__DisplayClass3b.<GroupSource>b__37(Object v) в E:\Ecng\trunk\Data\Database.cs:строка 1057
в System.Linq.Parallel.PartitionedDataSource`1.ListContiguousIndexRangeEnumerator.MoveNext(T& currentElement, Int32& currentKey)
в System.Linq.Parallel.StopAndGoSpoolingTask`2.SpoolingWork()
в System.Linq.Parallel.SpoolingTaskBase.Work()
в System.Linq.Parallel.QueryTask.BaseWork(Object unused)
в System.Threading.Tasks.Task.Execute()
--- Конец трассировки внутреннего стека исключений ---
в System.Linq.Parallel.QueryTaskGroupState.QueryEnd(Boolean userInitiatedDispose)
в System.Linq.Parallel.DefaultMergeHelper`2.System.Linq.Parallel.IMergeHelper<TInputOutput>.Execute()
в System.Linq.Parallel.MergeExecutor`1.Execute[TKey](PartitionedStream`2 partitions, Boolean ignoreOutput, ParallelMergeOptions options, TaskScheduler taskScheduler, Boolean isOrdered, CancellationState cancellationState, Int32 queryId)
в System.Linq.Parallel.PartitionedStreamMerger`1.Receive[TKey](PartitionedStream`2 partitionedStream)
в System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
в System.Linq.Parallel.QueryOperator`1.GetOpenedEnumerator(Nullable`1 mergeOptions, Boolean suppressOrder, Boolean forEffect, QuerySettings querySettings)
в System.Linq.Parallel.QueryOpeningEnumerator`1.OpenQuery()
в System.Linq.Parallel.QueryOpeningEnumerator`1.MoveNext()
в System.Linq.ParallelEnumerable.ToList[TSource](ParallelQuery`1 source)
в Ecng.Data.Database.GroupSource(IEnumerable`1 fields, SerializationItemCollection input, IEnumerable`1 innerSchemaNameOverrides) в E:\Ecng\trunk\Data\Database.cs:строка 1054
в Ecng.Data.Database.GetOrAddCacheTable[TEntity](SerializationItemCollection table) в E:\Ecng\trunk\Data\Database.cs:строка 802
в Ecng.Data.Database.ReadAll[TEntity](DatabaseCommand command, SerializationItemCollection input) в E:\Ecng\trunk\Data\Database.cs:строка 548
в Ecng.Data.HierarchicalDatabase.ReadAll[TEntity](DatabaseCommand command, SerializationItemCollection source) в E:\Ecng\trunk\Data\HierarchicalDatabase.cs:строка 65
в Ecng.Data.Database.ReadAll[TEntity](Int64 startIndex, Int64 count, Field orderBy, SortDirection direction) в E:\Ecng\trunk\Data\Database.cs:строка 536
в Ecng.Data.Database.Ecng.Serialization.IStorage.GetGroup[TEntity](Int64 startIndex, Int64 count, Field orderBy, SortDirection direction) в E:\Ecng\trunk\Data\Database.cs:строка 1193
в Ecng.Serialization.RelationManyList`1.OnGetGroup(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction) в D:\Projects\StockSharp.com\Ecng\trunk\Serialization\RelationManyList.cs:строка 347
в Ecng.Data.HierarchicalPageLoadList`1.OnGetGroup(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction) в E:\Ecng\trunk\Data\HierarchicalPageLoadList.cs:строка 139
в Ecng.Serialization.RelationManyList`1.ReadAll(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction) в D:\Projects\StockSharp.com\Ecng\trunk\Serialization\RelationManyList.cs:строка 432
в Ecng.Serialization.RelationManyList`1.GetRange(Int64 startIndex, Int64 count, String sortExpression, SortDirection directions) в D:\Projects\StockSharp.com\Ecng\trunk\Serialization\RelationManyList.cs:строка 276
в Ecng.Serialization.RelationManyList`1.get_Count() в D:\Projects\StockSharp.com\Ecng\trunk\Serialization\RelationManyList.cs:строка 187
в StockSharp.Hydra.MainWindow.InitializeDataSource() в e:\Projects\stocksharpconnectors_4.1.8\trunk\Hydra\Hydra\MainWindow.xaml.cs:строка 495
в StockSharp.Hydra.MainWindow.<MainWindowLoaded>b__4() в e:\Projects\stocksharpconnectors_4.1.8\trunk\Hydra\Hydra\MainWindow.xaml.cs:строка 165
в System.Threading.Tasks.Task`1.InnerInvoke()
в System.Threading.Tasks.Task.Execute()
---> (Внутреннее исключение #0) System.MissingMethodException: Метод не найден: "Boolean Ecng.Reflection.ReflectionHelper.IsRuntimeType(System.Type)".
в Ecng.Serialization.XmlSerializer`1.Deserialize(Stream stream, FieldList fields, SerializationItemCollection source)
в Ecng.Serialization.Serializer`1.Deserialize(Stream stream, SerializationItemCollection source) в D:\Projects\StockSharp.com\Ecng\trunk\Serialization\Serializer.cs:строка 213
в Ecng.Data.Database.<>c__DisplayClass3b.<GroupSource>b__37(Object v) в E:\Ecng\trunk\Data\Database.cs:строка 1057
в System.Linq.Parallel.PartitionedDataSource`1.ListContiguousIndexRangeEnumerator.MoveNext(T& currentElement, Int32& currentKey)
в System.Linq.Parallel.StopAndGoSpoolingTask`2.SpoolingWork()
в System.Linq.Parallel.SpoolingTaskBase.Work()
в System.Linq.Parallel.QueryTask.BaseWork(Object unused)
в System.Threading.Tasks.Task.Execute()<---
---> (Внутреннее исключение #1) System.MissingMethodException: Метод не найден: "Boolean Ecng.Reflection.ReflectionHelper.IsRuntimeType(System.Type)".
в Ecng.Serialization.XmlSerializer`1.Deserialize(Stream stream, FieldList fields, SerializationItemCollection source)
в Ecng.Serialization.Serializer`1.Deserialize(Stream stream, SerializationItemCollection source) в D:\Projects\StockSharp.com\Ecng\trunk\Serialization\Serializer.cs:строка 213
в Ecng.Data.Database.<>c__DisplayClass3b.<GroupSource>b__37(Object v) в E:\Ecng\trunk\Data\Database.cs:строка 1057
в System.Linq.Parallel.PartitionedDataSource`1.ListContiguousIndexRangeEnumerator.MoveNext(T& currentElement, Int32& currentKey)
в System.Linq.Parallel.StopAndGoSpoolingTask`2.SpoolingWork()
в System.Linq.Parallel.SpoolingTaskBase.Work()
в System.Linq.Parallel.QueryTask.BaseWork(Object unused)
в System.Threading.Tasks.Task.Execute()<---</pre>
</div></div><br /><br />(Надо было позапрошлогоднюю версию оставить. А я, дурак, решил обновиться)https://stocksharp.ru/topic/3422/Альфа включила QUIK2013-02-24T09:57:36Z2013-02-24T09:57:36ZVassilSanychhttps://stocksharp.ru/users/6491/info@stocksharp.ruПохоже, это означает, что на AD 4.0 они окончательно забили.<br />Есть ли теперь смысл поддержки старого глючного чудовища по имени AD 3.5 ?<br /> https://stocksharp.ru/topic/3421/XP'шников обидели?!2013-02-23T21:15:39Z2013-02-23T21:15:39ZJetahttps://stocksharp.ru/users/5995/info@stocksharp.ruВерсия 4.1.8 из <a href="http://stocksharp.com/products/download/ " title="http://stocksharp.com/products/download/ ">http://stocksharp.com/products/download/ </a>на XP, после разблокирования архива, не разархивируется.<br />Все было бы ничего, но до этого, запуск робота из <a href="http://stocksharp.com/forum/340/Stratieghiia-bollindzhiera-za-3-minuty/ " title="http://stocksharp.com/forum/340/Stratieghiia-bollindzhiera-za-3-minuty/ ">http://stocksharp.com/fo...lindzhiera-za-3-minuty/ </a>и при тех же действиях, так же не запускается.<br />В чем может быть дело?https://stocksharp.ru/topic/3420/первый робот2013-02-23T19:16:26Z2013-02-23T19:16:26ZNeyasithttps://stocksharp.ru/users/26910/info@stocksharp.ruдоброго дня.<br />пытаюсь написать простую прогу по статье "Создание простого привода на S#"<br />когда запускаю программу и нажимаю Подключиться, в квике не происходит никаких движений окон (как это происходит в видео ниже), хотя все делал по инструкции.. в итоге ни портфель ни инструменты не заполняются...<br />подскажите в чем проблема?<br /><br />спасибо.https://stocksharp.ru/topic/3419/Событие наличия активных заявок2013-02-23T13:36:09Z2013-02-23T13:36:09ZТворогhttps://stocksharp.ru/users/6511/info@stocksharp.ruКак сделать такое событие, которое бы мониторило ордера и передавала в обработчик коллекцию активных заявок? Ну типа trader.ActiveOrders += actords => и т.д.<br />Просто сложность для меня пока в том, что данные действия должны скорее всего выполняться асинхронно, а в многопоточном программировании я пока не очень, да и инфы с примерами использования async/await пока маловато. Там внутри, наверное, должен быть зацикленный или рекурсивный метод?<br /><br />И заодно подкину ещё пара вопросов:<br />1) Почему свойство Quote.Volume возвращает тип decimal, а не что-нибудь целочисленное?<br />2) Можно ли вернуть позу, отфильтрованную по фирме, типа: trader.GetPosition(account, sec, "SPBFUT") ?https://stocksharp.ru/topic/3418/Закачка данных IQFeed2013-02-23T09:30:43Z2013-02-23T09:30:43ZАнтонhttps://stocksharp.ru/users/6395/info@stocksharp.ruДобрый день!<br />Можете сделать небольшую видюшку по закачке данных с IQFeed. У меня что то не получается. https://stocksharp.ru/topic/3417/windows 82013-02-22T17:46:06Z2013-02-22T17:46:06ZNeyasithttps://stocksharp.ru/users/26910/info@stocksharp.ruдобрый дня!<br />в windows 8 не работает. выдает ошибку <br />невозможно загрузить файл или сборку и путь выдает аж диск E: , хотя у меня такого нету...<br />вариантов нет запустить все под 8кой?https://stocksharp.ru/topic/340/Стратегия боллинджера за 3 минуты !2013-02-22T16:04:23Z2013-02-22T16:04:23ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ruВидео показывает, как легко можно запрограммировать любого робота на S#.Для торговли и получения данных используется самая популярная торговая платформа Quik !Стратегия по умолчанию использует минутный таймфрейм и объем равный 1. В качестве настроек можно указать длину и ширину индикатора.<br /><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/AYwJf2qrVl8" frameborder="0" allowfullscreen></iframe><br /><br /><span style="font-size:120%"><b><span style="color:green">Программируем стратегию боллинджера с нуля !</span></b></span><br /><b>Алгоритм </b><br />Запускаются две стратегии котирования, которые выставляют и передвигают заявки каждую минуту по верхней и нижней полосе Боллинджера.<br /><br /><ul><b>Для создания робота использовались следующие основные элементы библиотеки S#</b><br /><li><a href="http://stocksharp.com/doc/?topic=html/287125e1-7c7e-4be3-a8ce-5018538e613f.htm" title="http://stocksharp.com/doc/?topic=html/287125e1-7c7e-4be3-a8ce-5018538e613f.htm">График</a><br /><li>Котирование (<a href="http://stocksharp.com/doc/?topic=html/24250c24-029c-4dbc-bc8b-4afde645e483.htm" title="http://stocksharp.com/doc/?topic=html/24250c24-029c-4dbc-bc8b-4afde645e483.htm">MarketQuotingStrategy</a>)<br /><li><a href="http://stocksharp.com/doc/?topic=html/8b9125ee-9d74-444f-82d6-5dea51266fd4.htm" title="http://stocksharp.com/doc/?topic=html/8b9125ee-9d74-444f-82d6-5dea51266fd4.htm">Индикаторы</a><br /><li><a href="http://stocksharp.com/doc/?topic=html/1bed8343-9171-49ce-8259-f44007e01a78.htm" title="http://stocksharp.com/doc/?topic=html/1bed8343-9171-49ce-8259-f44007e01a78.htm">Визуальный мониторинг</a><br /></ul><br /><br /><span style="font-size:120%">Для тех, кто когда-либо проходил обучение или проходят его сейчас, исходники <a href="http://stocksharp.com/forum/yaf_postsm26213_BollingerStrategy-rar.aspx#post26213" title="http://stocksharp.com/forum/yaf_postsm26213_BollingerStrategy-rar.aspx#post26213">здесь</a> !<br />Так же за исходниками можно обращаться <a href="mailto:lesson@stocksharp.com">lesson@stocksharp.com</a></span><br /><br /><b>Во вложениях сам робот и инструкции по настройке Quik.</b>https://stocksharp.ru/topic/3414/Cобытия по изменению состояния ордеров приходят только в режиме эмуляции2013-02-21T16:14:45Z2013-02-21T16:14:45Zkahunahttps://stocksharp.ru/users/16705/info@stocksharp.ruS# 4.1.6<br />Работа с Quik. Брокер Уралсиб.<br />В режиме RealTimeEmlationTrader <br />ордера выставляются,<br />и информация о их выполнении поступает в лог,<br />strategy.PositionManager.Position показывает позицию.<br /> <br />Когда переключаюсь с эмулятора на реальный QuikTrader.<br />Ордер выставляется, но похоже события изменения состояния не вызываются,<br />соответственно strategy.PositionManager.Position показывает 0.<br />Может кто подать идею, в какой стороне мне копать?<br /><br />И при работе через эмулятор похоже часть событий не активируется<br />по крайней мере NewMyTrade, но так как strategy.PositionManager.Position <br />обновляется работать можно.