Сообщество. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=community&page=176Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T15:36:48Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/3178/Склейка данных инструмента2012-11-19T20:34:58Z2012-11-19T20:34:58ZViktoriusIhttps://stocksharp.ru/users/26846/info@stocksharp.ruВыкачал данные Гидрой по фьючерсу UX.<br />Как для тестирования склеить данные фьючерсов с разными датами экспирации, чтобы тестировать на единой истории <br />как по одному инструменту?https://stocksharp.ru/topic/3177/Ошибка при тестировании2012-11-19T19:59:23Z2012-11-19T19:59:23Zvk37https://stocksharp.ru/users/6296/info@stocksharp.ruПри тестировании периодически возникает:<div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_dcb93899b87f4d87b516f6387848cd86');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_dcb93899b87f4d87b516f6387848cd86' style='display:none'><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
System.NullReferenceException: Object reference not set to an instance of an object.
at #=qkoSo$d923scmg_sYtLvcgC1T0ft2pstJcPersksBoZKwr0BQW4jZhfAQW1xMmBut.#=qg67115AckIhO5d2zxyCZAQ==(Boolean #=qLADmQb8cJ4Y_nd7XlXaXQw==)
at #=qkoSo$d923scmg_sYtLvcgC1T0ft2pstJcPersksBoZKwr0BQW4jZhfAQW1xMmBut.#=qm3V9Kfo72M8TE2px_zLo9xQM1RL6SFBGqLB3If2f6Fw=.#=qPPbjei2wiECkz_QeThbm2A5qP5NSKd6ArG8wtLmBsyA=()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()</pre>
</div></div></div>https://stocksharp.ru/topic/3176/Нужен программист2012-11-19T09:47:15Z2012-11-19T09:47:15Zkpacabahttps://stocksharp.ru/users/6435/info@stocksharp.ruНужен программист со знанием C# и билиотек S#, довести начатый проект, проект готов на 70%. Зп 50 000 в мес, работа в офисе.https://stocksharp.ru/topic/3175/ZigZag2012-11-19T09:06:19Z2012-11-19T09:06:19Zyammmhttps://stocksharp.ru/users/6162/info@stocksharp.ruОшибка либо у меня либо у вас :)<br /><br /><a href='https://stocksharp.ru/file/102165/19-11-2012-13-05-51_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102165/19-11-2012-13-05-51_png/?size=500x500" alt=""/></a>https://stocksharp.ru/topic/3174/ContiniousSecurity не рисует свечки2012-11-19T01:43:32Z2012-11-19T01:43:32Zpehashttps://stocksharp.ru/users/340/info@stocksharp.ruПри тестировании на истории, в CandleManager не приходят новые свечки по ContinuousSecurity<br /><br />Код<br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_222e8c3350754634a03701cfb35141c2');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_222e8c3350754634a03701cfb35141c2' style='display:none'><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var cFuture = new ContinuousSecurity();
cFuture.ExpirationJumps.AddRange(
Securities
.Where(s => s.Type == SecurityTypes.Future)
.Select(f => { return new KeyValuePair<Security, DateTime>(f, (DateTime)f.ExpiryDate); })
);
Trader = new EmulationTrader(
new[] { cFuture },
new[] { Portfolio },
storage
);
Trader.Connect();
Trader.StartExport();
CM = new CandleManager(Trader);
CM.Processing += (series, candle) => { Trader.AddInfoLog("new candle value"); };
CM.Start(new CandleSeries(typeof(TimeFrameCandle), cFuture, timeFrame));
Trader.Start(stDate, enDate);
</pre>
</div></div><br /></div><br />Если в CM передавать не ContinuousSecurity, а фьючерсы на основании которых он построен, то свечки приходят нормально<br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_a7748ca171f54b1192d3064a2ea51a41');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_a7748ca171f54b1192d3064a2ea51a41' style='display:none'><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
Securities.Where(s => s.Type == SecurityTypes.Future).ForEach(fut =>
{
CM.Start(new CandleSeries(typeof(TimeFrameCandle), fut, timeFrame));
});
</pre>
</div></div><br /></div><br />Это баг при тестировании на истории, или не так что-то делаю?<br /><br />При этом лог для ContinuousSecurity<br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_aa54f140108342ffb061e1d59bfdbd82');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_aa54f140108342ffb061e1d59bfdbd82' style='display:none'><br />EmulationTrader | 01.01.0001 00:00:00.000 | | Экспорт запущен.<br />EmulationTrader | 01.01.2012 00:00:00.000 | | Loading 01.01.2012 0:00:00 Events: 0<br />EmulationTrader | 01.01.2012 00:00:00.000 | | Loading 02.01.2012 0:00:00 Events: 1<br />EmulationTrader | 01.01.2012 00:00:00.000 | | Loading 03.01.2012 0:00:00 Events: 2<br />EmulationTrader | 01.01.2012 00:00:00.000 | | Loading 04.01.2012 0:00:00 Events: 169<br />EmulationTrader | 01.01.2012 00:00:00.000 | | Loading 05.01.2012 0:00:00 Events: 336<br /></div><br />и по отдельным фьючерсам<br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_643606e77b584950941817b4f79f7b61');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_643606e77b584950941817b4f79f7b61' style='display:none'><br />EmulationTrader | 01.01.0001 00:00:00.000 | | Экспорт запущен.<br />EmulationTrader | 01.01.2012 00:00:00.000 | | Loading 01.01.2012 0:00:00 Events: 0<br />EmulationTrader | 01.01.2012 00:00:00.000 | | Loading 02.01.2012 0:00:00 Events: 1798<br />EmulationTrader | 01.01.2012 18:45:00.000 | | Loading 03.01.2012 0:00:00 Events: 3596<br />EmulationTrader | 03.01.2012 21:19:16.107 | | Loading 04.01.2012 0:00:00 Events: 197041<br />EmulationTrader | 04.01.2012 20:52:25.887 | | Loading 05.01.2012 0:00:00 Events: 435865<br /></div><br />показывает разное к-во загруженных сделокhttps://stocksharp.ru/topic/3173/Заявки2012-11-15T17:10:08Z2012-11-15T17:10:08Znuanhttps://stocksharp.ru/users/6492/info@stocksharp.ruДобрый вечер, встал простой вопрос, как сделать так, чтобы заявка выставленная, но не исполненная - отменялась. <br />/*_traider.MarketDepthsChanged += depths => this.GuiAsync(() =><br /> {<br /> foreach(var ord in Orders)<br /> if (ord.IsMatched() == false)<br /> _traider.CancelOrders();<br /> });<br /> */<br />Orders -коллекция заявок. <br />И как сделать, чтобы отмена была через некоторые время.https://stocksharp.ru/topic/3172/BasketTrader.Connect2012-11-15T10:29:24Z2012-11-15T10:29:24ZEskrahttps://stocksharp.ru/users/711/info@stocksharp.ruДобрый день!<br />В последней сборке 4.1.6(21002) баскеттрейдер не коннектится к терминалам на Trader.Connect(). Проверил на примере со смартом - тоже не работает, никаких исключений или ошибок не выводит.https://stocksharp.ru/topic/3171/Предложение2012-11-15T07:35:33Z2012-11-15T07:35:33Zrbnkmrhttps://stocksharp.ru/users/27971/info@stocksharp.ruДобрый день. Предложение для продажи: около десятка систем (проверены не только «историей», но и по текущий день работают на реальном рынке). Результаты работы систем адекватны движениям рынка. Не грааль. По 1000% процентов не делают. Не депозит (капитал не растет непрерывно). С десятым плечом лучше не использовать. Вариант продажи, как алгоритма, так и реализации алгоритма. Каталог, подробности и вопрос на электронную почту: <a href="https://stocksharp.ru/away/?u=AQAAAAAAAAAbsGj2MMZj5RbyewRZOaO49A5gh0-psTP5uV9gGv0PBg">rbnkmr@yandex.ru</a>.<br />https://stocksharp.ru/topic/3170/Не приходят свечи Real-time2012-11-14T19:25:52Z2012-11-14T19:25:52ZMirovanhttps://stocksharp.ru/users/797/info@stocksharp.ruОбнови версию StockSharp до версии 4.1.6 - перестали поступать данные Real-time свечей. Открыл пример SampleCandles - тоже самое, данные портфелей и инструменты поступают, а свечи не идут.<br /><br />Т.е. не вызывается событие Processing.<br /><br />Как можно продиагностировать данную ошибку?https://stocksharp.ru/topic/3169/помогите исправить ошибку2012-11-14T14:42:57Z2012-11-14T14:42:57Zyarcombinathttps://stocksharp.ru/users/6476/info@stocksharp.ruЗдравствуйте, коллеги.<br /><br />Сегодня перенёс код на другой комп, скачал последнюю библиотеку на codeplex, лицензию.<br /><br />Выдаёт ошибку:<br /><br />#тег "LogControl" не существует в пространстве имен XML "clr - namespace:StockSharp.Xaml;assembly=StockSharp.Xaml". Строка 24 (пятая строка снизу) позиция 10.# <br /><br />Подскажите, пожалуйста, что это может быть за ошибка?<br /><br />Сломал всю голову. Понимаю, что это какая - то элементарщина - что-то не скачал, не доставил.....<br /><br />С уважением.<br /><br /><br />Код XAML.<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:xml">
<Window x:Class="Candles.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EcngTradingXaml="clr - namespace:StockSharp.Xaml;assembly=StockSharp.Xaml"
Title="" Height="673" Width="835" Closing="Window_Closing" Topmost="True" WindowStartupLocation="CenterScreen" Opacity="50">
<Grid Background="#FF9999C7" HorizontalAlignment="Stretch" Width="Auto" VerticalAlignment="Stretch" Height="Auto">
<Grid HorizontalAlignment="Left" Name="grid1" VerticalAlignment="Top" Margin="12,12,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="72" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Content="Подключиться" Height="23" HorizontalAlignment="Left" Name="btnConnect" VerticalAlignment="Top" Width="100" Click="btnConnect_Click" Grid.Row="1" Margin="-2,7,0,0" BorderBrush="#FF791900" />
<Button Content="Экспорт DDE" Height="23" HorizontalAlignment="Left" Name="btnExportDde" VerticalAlignment="Top" Width="100" Click="btnExportDde_Click" IsEnabled="False" Grid.Column="1" Grid.Row="1" Margin="0,7,0,0" BorderBrush="#FF791950" />
<Button Content="Старт" Height="23" Name="btnStart" VerticalAlignment="Top" Click="btnStart_Click" HorizontalAlignment="Left" Width="100" Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,7,0,0" BorderBrush="#FF791919" />
<TextBox Height="23" HorizontalAlignment="Left" Name="Path" VerticalAlignment="Top" Width="272" Grid.ColumnSpan="3" Background="#FF40A8C7" BorderBrush="#FF79190C" />
<Button Content="..." Name="FindPath" Click="FindPath_Click" HorizontalAlignment="Left" Width="22" Height="23" VerticalAlignment="Top" Grid.Column="3" DataContext="{Binding}" Visibility="Visible" Background="#FF3BA1B7" BorderBrush="#FF791952" Margin="2,0,0,0" />
</Grid>
<EcngTradingXaml:LogControl Margin="12,128,10,12" Name="logcontrol" Visibility="Visible" Foreground="#FF404080" Background="#FF09090D" BorderBrush="#FF791927" DataContext="{Binding}" />
<Button Content="НЕ ТОРГУЕМ" Height="23" HorizontalAlignment="Left" Margin="56,71,0,0" Name="button1" VerticalAlignment="Top" Width="100" Click="button1_Click" BorderBrush="#FF791919" />
<Button BorderBrush="#FF791919" Content="НЕ ТОРГУЕМ" Height="23" HorizontalAlignment="Left" Margin="154,71,0,0" Name="button2" VerticalAlignment="Top" Width="100" Click="button2_Click" />
</Grid>
</Window></pre>
</div></div><br /><br />https://stocksharp.ru/topic/3168/Не могу удалить или отфильтровать несистемные сделки2012-11-14T14:22:01Z2012-11-14T14:22:01Zkhmikehttps://stocksharp.ru/users/6516/info@stocksharp.ruДобрый день!<br /><br />У меня 4.1.6 версия. При закачке данных с РТС через Гидру, сохраняются несистемные сделки, которые при тестировании на исторических данных приводят к неточностям. Не могу найти фильтр чтобы они не вызывались в событии: Security.WhenLastTradePriceMore. Попытался удалить их из базы, но выпал Exception: деление на 0.<br /><br /> var trades = new List<Trade>();<br /><br /> foreach (var trade in reader)<br /> {<br /> if (!trade.IsSystem) {<br /> trades.Add(trade);<br /> }<br /> }<br /> <br /> tradeStorage.Delete(trades);<br /><br />Подскажите, как можно обойти эту проблему? Спасибо.https://stocksharp.ru/topic/3167/Правильно ли работает функция StreamManager.IsOnline()?2012-11-14T12:05:16Z2012-11-14T12:05:16ZLiberalhttps://stocksharp.ru/users/6066/info@stocksharp.ruПравильно ли работает функция StreamManager.IsOnline()? Как понять, что мы обрабатываем последнюю пачку сделок и нет больше новых данных? Я пытался делать вот так:<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
PlazaTrader.TableRegistry.TradeFuture.End += (tmp) =>
{
var state = PlazaTrader.StreamManager.IsOnline();
Console.WriteLine(state);
if (state)
{
Thread.Sleep(10000);
}
};
</pre>
</div></div><br /><br />Проблема в том, что после первой загрузки всех исторических данных в консоль постоянно выводится True, чего, вроде бы, не должно быть. Потому что сразу после того, как StreamManager переходит в online, делается пауза на 10 секунд Thread.Sleep(10000) и мы уже должны подгружать исторические данные, т.е. в консоль должно выводиться False.https://stocksharp.ru/topic/3166/RoutingServer2012-11-13T21:58:36Z2012-11-13T21:58:36ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruЕсть идея сделать совместный проект роутера маркет-данных и транзакций.<br /><br />Идея заключается в создании отдельного (=внешнее) приложения, которое бы могло запускаться (как обычное exe или как сервис), настраиваться, подключаться к торговым системам (всем, что поддерживает S#). Приложение выступает как серверное, и дает возможность подключаться из других программ (как на локальном компьютере, так и через интернет). Такими клиентами смогли бы выступать роботы, аналитические программы, торговые системы, ищущие данные и т.д.<br /><br />Что дает такая программа:<br /><br />1. Возможность подключаться к ТС вне локального компьютера. Например, иметь возможность слать заявки на другой компьютер. Особенно полезно для тех, кто управляет чужими счетами, и при этом клиент сильно стремается давать ключи. Или в рабочее время за счет работодателя пишет роботов и торгует с работы.[blush] <br /><br />2. Позволять подключаться из разных программ к одной ТС. Например Квик Смарт и Альфа не дают торговать нескольким роботам одновременно. А запихивать новый (=глючный) робот в один процесс со старым (=стабильным) роботом, чтобы последний не отбросил копыта при смерти первого, не самый простой процесс.<br /><br />3. Отделить код роутера от робота, и в случае падении последнего, дать возможность закрыть позиции вручную, подключившись в данному роутеру. Предполагается, что такой роутер должен содержать минимум логики, поэтому по идее должен работать стабильнее.<br /><br />4. Возможность отделиться от ограничение разрядности некоторых систем. Квик, например, дает только 32 бита, и роботу позволено кушать всего 1.5 гига.<br /><br />5. Встроенные возможности риск-контроля. Частично пункт 3 + примитивные (но железные) настройки, не позволяющие роботу сделать непоправимое. Как бы мы ни старались в новых версиях S#[laugh] <br /><br />6. Простенький кабинет с возможностью детальной статистики. Не аналитика, но данные все, чтобы можно было выгрузить как раз в аналитику.<br /><br />7. Эмуляционный режим, чтобы проверять робота на настоящих данных с настоящими сетевыми лагами.<br /><br />8. Умный роутинг данных с фильтрами, компактный протокол.<br /><br />9. Интеграция роутера с Гидрой, чтобы через единую точку получать еще и исторические данные. Да-да, стаканы с начала сессии и ОИ, тики за неделю для формирования стартовой истории, свечки по СнП за год и прочее-прочее.<br /><br />Думаю, у многих тут уже потекли слюньки. Поэтому сразу определимся зачем я все это написал. Сделать эту работу лучше командой. Проект этот в любом случае стартанет в рамках S#. Но что точно - он не будет доступен ни на боксе, ни на кодеплексе.[wink] Поэтому, я предлагаю определится всем тем, кто уже замышлял о подобном (а я уверен, что эти 9 фич касаются практически всех, кто пишет и работает с ботами), и отписаться (лучший контакт - скайп контакт). Разработка будет вестись в закрытом репозитарии (не на S# сервере, а новое место). Все, кто будет участвовать, будут иметь доступ к результату (возможно к версиям 2.0 и т.д., если таковые будут). Все, кто не будет - я думаю объяснять не нужно.https://stocksharp.ru/topic/3165/Источник свечек2012-11-13T13:27:28Z2012-11-13T13:27:28ZPantovhttps://stocksharp.ru/users/98/info@stocksharp.ruПодскажите, пожалуйста.<br />Как строить свечки не по последней сделке, а например, по середине стакана?https://stocksharp.ru/topic/3164/Ошибка Item with name 'Id' doesn't exists при запуске2012-11-13T08:04:52Z2012-11-13T08:04:52ZInsiderHSEhttps://stocksharp.ru/users/6099/info@stocksharp.ruПри запуске Гидра вылетает с ошибкой<br /><br />10:55:26.595|Error |StockSharp|System.ArgumentException: Item with name 'Id' doesn't exists.<br />Имя параметра: name<br /> в Ecng.Serialization.SerializationItemCollection.get_Item(String name)<br /> в Ecng.Data.Database.GetOrAddCacheTable[TEntity](SerializationItemCollection table)<br /> в Ecng.Data.Database.ReadAll[TEntity](Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)<br /> в Ecng.Data.HierarchicalPageLoadList`1.OnGetGroup(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)<br /> в Ecng.Serialization.RelationManyList`1.ReadAll(Int64 startIndex, Int64 count, Field orderBy, SortDirection direction)<br /> в Ecng.Serialization.RelationManyList`1.RelationManyListEnumerator.ProcessMove(Boolean& canProcess)<br /> в Ecng.Collections.BaseEnumerator`2.MoveNext()<br /> в StockSharp.Hydra.MainWindow.InitializeMarketSources() в E:\StockSharpReleases\StockSharp_4.1.5\Hydra\Hydra\MainWindow.xaml.cs:строка 260<br /> в StockSharp.Hydra.MainWindow.<MainWindowLoaded>b__26() в E:\StockSharpReleases\StockSharp_4.1.5\Hydra\Hydra\MainWindow.xaml.cs:строка 488<br /> в System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)<br /> в System.Threading.Tasks.Task.Execute()<br /><br />Версия 4.1.5, ошибка появляется в:<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
foreach (var sourcesSetting in sourcesSettings)
{
if (!sourcesSetting.ExtensionInfo.ContainsKey("SourceName"))
{
sourcesSetting.ExtensionInfo["SourceName"] = nameByGuid.TryGetValue(sourcesSetting.SourceId);
hydraEntityRegistry.SourcesSettings.Save(sourcesSetting);
}
}
</pre>
</div></div><br />Дебаггер указывает на команду foreach.<br /><br />Если закомментировать эту область, то такая же ошибка вылетает на:<br />var sourcesSettings = _entityRegistry.SourcesSettings.ToList();https://stocksharp.ru/topic/3163/Подскажите по стакану2012-11-13T05:07:03Z2012-11-13T05:07:03ZDannyhttps://stocksharp.ru/users/6473/info@stocksharp.ruКод такой:<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
Security item = (Security)Securities.SelectedItem;
_trader.RegisterMarketDepth(item);
System.Threading.Thread.Sleep(10000);
MarketDepth itt = _trader.GetMarketDepth(item);
if (itt != null)
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("itt.BestAsk.Price=" + itt.BestAsk.Price);
}
}
</pre>
</div></div><br /><br />Почему itt.BestAsk принимает значение null при входе в цикл.(стакан выбранного инструмента открывается в Quik)<br />item задается через combobox как в примере.<br /><br />https://stocksharp.ru/topic/3162/Мелкий баг гидры2012-11-13T01:40:38Z2012-11-13T01:40:38Zyammmhttps://stocksharp.ru/users/6162/info@stocksharp.ruПадает если в данный момент гидра уже запущена и висит в процессах. При сворачивании в трей, очень легко забыть о том что гидра где-то живет, уже второй раз сталкиваюсь что на минуту вводит в полный ступор. Может какой-нить месадж бокс писать, мол гидра уже запущена?<br /><br />https://stocksharp.ru/topic/3161/Версия 4.1.5, перестает отрабатывать NewSecurities2012-11-12T19:35:17Z2012-11-12T19:35:17ZTaulerhttps://stocksharp.ru/users/26822/info@stocksharp.ruКоллеги,<br />при переходе на 4.1.5 (точнее проявилось на версии из ревизии 20971, но на 4.1.5 тоже не работает) перестал рабоатать код<br /><br /> <div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
private void btnConnect_Click(object sender, EventArgs e)
{
if (trader == null || !trader.IsConnected)
{
if (trader == null)
{
trader = new QuikTrader(edtPathToQuik.Text);
trader.Connected += trader_Connected;
}
if (!trader.IsConnected)
trader.Connect();
}
else
trader.Disconnect();
waitHandle.WaitOne();
// запускаем экспорт по DDE
trader.StartExport(new[] { trader.SecuritiesTable, trader.MyTradesTable, trader.DerivativePositionsTable, trader.DerivativePortfoliosTable, trader.OrdersTable, trader.TradesTable });
waitHandle.WaitOne();
trader.RegisterTrades(security);
void trader_NewSecurities(IEnumerable<Security> securities)
{
if (security==null)
security = securities.FirstOrDefault(sec => sec.Code == "RIZ2");
waitHandle.Set();
}
void trader_NewPortfolios(IEnumerable<Portfolio> portfolios)
{
if (portfolio == null)
portfolio = portfolios.FirstOrDefault(p => p.Name == "SPBFUT00Q51");
}
void trader_Connected()
{
trader.NewPortfolios += trader_NewPortfolios;
trader.NewSecurities += trader_NewSecurities;
trader.NewTrades += trader_NewTrades;
waitHandle.Set();
}</pre>
</div></div><br /><br />Ни разу не вызывается обработчик trader_NewSecurities. В версии 4.1.4 все как часы.<br />https://stocksharp.ru/topic/3160/Баго-фича при сохранении данных Trade2012-11-10T15:50:10Z2012-11-10T15:50:10ZDrChemisthttps://stocksharp.ru/users/6376/info@stocksharp.ruРешил описать один неприятный эффект, с которым мне пришлось столкнуться и который, увы, забрал много времени.<br /><br />Если Trade.Price содержит «лишние» десятичные цифры после запятой (по всей видимости, цифры большей точности, чем Security.MinStepPrice), то при сохранении таких данных в TradeStorage и последующем чтении данные очень сильно искажаются ( более чем на 100%) из-за больших накапливающихся ошибок.<br /><br />У меня этот эффект возник при генерации и сохранении искусственных сделок, информацию для которых я брал из альтернативных (кастом) таблиц (мировые индексы, по которым не поступала информация в таблицу всех сделок).<br />https://stocksharp.ru/topic/3159/Я богат2012-11-10T15:01:23Z2012-11-10T15:01:23Zvk37https://stocksharp.ru/users/6296/info@stocksharp.ruЛегко могу написать стратегию, которая при тестировании на истории увеличит счет за день в несколько раз. Какая-то лажа, по-видимому, при записи стакана. Если кто может, дайте, плз, маркет данные со стаканом фьючерса РТС за 19.09.12.