Сообщество. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=community&page=218Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T12:46:12Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/2269/StockSharp Studio2011-12-26T11:11:44Z2011-12-26T11:11:44ZStockSharphttps://stocksharp.ru/users/341/info@stocksharp.ruРабота по созданию S# Studio идет полным ходом.<br /><br />Дизайн первого варианта Студии будет лаконичным, максимальное внимание уделяется уникальным возможностям S# и внутренней начинке.<br /><br />Сейчас мы хотим вам показать примеры того, как можно будет отображать график эквити в S# Studio.<br /><br /><br />Вариант 1.<br /><br />Стандартный график эквити, знакомый вам по многим пакетам (Wealth-Lab и другие).<br />Чётко видно на каких этапах были просадки по лонгам \ шортам, где система отработала на отлично.<br /><br />Единственное отличие от других систем — мы всё объединили на одном графике. Ведь просадка неотделима от доходности.<br /><br />Вариант 2.<br /><br />Данный график прекрасно позволяет понять, как изменялась эквити портфеля и при этом какой капитал использовался в сделках.<br />Возможно вам стоит где-то увеличить плечо, а где-то уменьшить?<br />Всё это вы сможете визуально оценить по данному графику.<br /><br />Вариант 3.<br /><br /><br />Не секрет, что для многих управляющих мерилом является базовый актив — S&P 500 для систем, торгующих на западных площадках и RTS для российских систем.<br />Именно данный график позволит чётко понимать кто есть кто — и стоит ли вкладывать деньги и дальше в систему, или лучше осуществить обычный Buy and Hold?<br /><br /><br />Как видите, все графики полезны и каждый из них может помочь вам оценить систему на том или ином этапе тестирования.<br /><br />Что дальше, что ещё может дать вам S# Studio?<br />Об этом вы узнаете в следующих постах.<br />Мы уверены, это будет лучшим продуктом на рынке! Оставайтесь с нами!https://stocksharp.ru/topic/2268/Последняя минутная свеча за день2011-12-26T10:03:41Z2011-12-26T10:03:41ZSupervisorhttps://stocksharp.ru/users/27975/info@stocksharp.ruИмеются все сделки за день полученные с пом. гидры (что все сделки - проверял)<br />При построении минутных свечек по сделкам - не строится последняя свеча 23:49. В гидре строится нормально.<br /><br />Пробовал так:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
var cb = new CandleBuilder(new TradeStorageCandleBuilderSource(Core.Storage));
</pre>
</div></div><br />и по аналогии с Гидрой так:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
var cb = new CandleBuilder(new RawConvertableCandleBuilderSource<Trade>(Core.Storage.GetTradeStorage(Security).Load(new DateTime(2011, 12, 22), new DateTime(2011, 12, 23)))) { IsSyncRegister = false };
</pre>
</div></div><br /><br />Результат - одинаковый, свечи не хватает... Прошу помочь<br />S# 4.0.10https://stocksharp.ru/topic/2267/MarketTime в версии StockSharp_4.0.102011-12-26T06:52:20Z2011-12-26T06:52:20Zvfreemanhttps://stocksharp.ru/users/773/info@stocksharp.ruTrader.MarketTime возвращает локальное время <br />попытка вызова SyncMarketTime(Exchange.Rts) к успеху не привела.<br />Расхождение времени в терминале QUIK и Trader.MarketTime осталось.<br />Как получить биржевое время?<br /><br />я полностью повторил вопрос из топика MarketTime в версии <b>StockSharp_4.0.8</b> с учетом того что было прокомментировано.<br /><br />В чем собственно проблема - на моей машине локальное время расходится со временем биржи примерно на 5 минут - причем время в нашей локалке синхронизируют наши админы (а уж что они берут за эталон - вопрос выходит за темы форума)<br />так вот <br />Trader.MarketTime возвращает локальное время<br />после вызова SyncMarketTime(Exchange.Rts) изменяется Trader.MarketTimeOffset, но меняется не верно<br /><br />вот какой код выполняю<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:vb">
Debug.Print(Trader.MarketTime)
Debug.Print(Trader.MarketTimeOffset.ToString)
SyncMarketTime(Trader, Exchange.Rts)
Debug.Print(Trader.MarketTimeOffset.ToString)
</pre>
</div></div><br />и вот что получаю:<br /><br />26.12.2011 10:46:21<br />00:00:00<br />01:00:00<br /><br />т.е. смещение на 1 час, хотя по логике должно быть что-то около 00:05:00<br /><br />это очень похоже на примечание к методу SyncMarketTime<br /><br /><b>Примечание<br />Если не удалось получить время биржи через NTP сервер, возвращается разница между часовым поясом TimeZoneInfo и локальным часовым поясом.</b> https://stocksharp.ru/topic/2266/Объединение свечей из разных источников2011-12-25T22:43:44Z2011-12-25T22:43:44Zpehashttps://stocksharp.ru/users/340/info@stocksharp.ruКак можно объединить в одном токине СandleManager свечи из разных источников?<br />Пытаюсь объединить исторические свечи со свечами из шлюза таким образом<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
this._cm = new CandleManager(this._trader);
// хранилище, через которое будет производиться доступ к тиковой и котировочной базе
this.storage = new TradingStorage(new InMemoryStorage()){ BasePath = "Sec" };
var builder = new CandleBuilder(new TradeStorageCandleBuilderSource(storage));
this._cm.Sources.Add(builder);
// Регистрируем свечи
var candleToken = this._cm.RegisterTimeFrameCandles(security, this._timeFrame);
</pre>
</div></div><br />В итоге приходят только свечи из шлюза. <br />Если добавить<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
builder.RegisterTimeFrameCandles(security, _timeFrame);
</pre>
</div></div><br />то в CandleManager придут все свечи и история и трейдер, но это будет два разных токена.https://stocksharp.ru/topic/2265/Unrealized Pnl по открытым позициям2011-12-25T19:03:43Z2011-12-25T19:03:43Zapostarhttps://stocksharp.ru/users/668/info@stocksharp.ruЗдравствуйте,<br /><br />Имеется стратегия парной торговли, реализованная в виде BasketStrategy и нескольких принадлежащих ей ChildStrategies, каждая работает со своей Security. Есть ли удобный способ в S# посчитать суммарный Unrealized PnL (по открытым позициям) в рублях для этих стратегий, не используя TraderPnLManager (потому что параллельно работает еще одна стратегия)?<br /><br />Спасибо,https://stocksharp.ru/topic/2264/Не вызывается [On]NewMyTrades2011-12-25T08:19:07Z2011-12-25T08:19:07Zvfreemanhttps://stocksharp.ru/users/773/info@stocksharp.ruВсе-таки чего-то я недопонимаю в событийном подходе. Задача - подписаться на обработку сделок стратегии.<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:vb">
Protected Overrides Sub OnStarting()
Me.When(StrategyRuleHelper.StrategyNewMyTrades(Me)).Do(AddressOf MyTrd)
AddHandler MyBase.NewMyTrades, AddressOf MyStrat_NewMyTrades
[skip]
MyBase.OnStarting()
End Sub
Sub MyTrd()
[обработка события "сделки стратегии"]
End Sub
Protected Overrides Sub OnNewMyTrades(ByVal obj As IEnumerable(Of MyTrade)) Handles MyBase.NewMyTrades
[обработка события "сделки стратегии"]
MyBase.OnNewMyTrades(obj)
End Sub
Private Sub MyStrat_NewMyTrades(ByVal obj As IEnumerable(Of MyTrade)) Handles MyBase.NewMyTrades
[обработка события "сделки стратегии"]
End Sub
</pre>
</div></div><br /><br /><br />в итоге ни MyTrd ни OnNewMyTrades ни MyStrat_NewMyTrades не возникают при совершении сделок стратегией<br /><br />заявки регистрировал 2-мя способами<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:vb">
MyBase.RegisterOrder(myOrder)
Me.RegisterOrder(myOrder)</pre>
</div></div><br /><br />что почитать? может где исходники чужих стратегий выложены (логика стратегии ее нужна) - чтоб посмотреть как другие пишут?https://stocksharp.ru/topic/2263/Необходимо вначале зарегистрировать стратегию2011-12-24T09:38:05Z2011-12-24T09:38:05Zvfreemanhttps://stocksharp.ru/users/773/info@stocksharp.ruКоллеги, а что может быть причиной возникновения ошибки "Необходимо вначале зарегистрировать стратегию"?<br /><br />поиск по форуму результатов не принес<br /><br />StockSharp_4.0.10<br /><br />вываливается на следующем коде:<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:vb">
RegisterOrder(myOrder)</pre>
</div></div><br /><br />стратегия событийная обрабатывать будет только событие Security.SecurityNewTrades<br /><br />метод StratInit - первоначальная инициализация стратегии<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:vb">
Protected Overrides Sub OnStarting()
Me.When(Me.StrategyNewMyTrades()).Do(AddressOf StratInit)
Me.When(Security.SecurityNewTrades).Do(AddressOf StratInit)
End Sub
Private Sub StratInit()
Dim myOrder As Order
If Not blnInit Then
blnInit = True
AddInfoLog("Инициализация", "")
[skiped]
RegisterOrder(myOrder)
End If
End Sub</pre>
</div></div>https://stocksharp.ru/topic/2262/Дочерняя стратегия вызывает метод родительской2011-12-23T17:57:37Z2011-12-23T17:57:37Zvaderhttps://stocksharp.ru/users/28223/info@stocksharp.ruУ меня одна стратегия содержит в себе дочернию(другую) стратегию.<br />У меня есть лог, который я не могу понять.<br />AR Buy CancelOrder StopAggPutOrder 76797701<br />AR - дочерняя стартегия, она имеет метод CancelOrder, но не имеет метода StopAggPutOrder.<br />Метод StopAggPutOrder принадлежит родительской стратегии. при этом, судя по логу, метод CancelOrder, был вызва из метода StopAggPutOrder. т.к. Метод CancelOrder принимет как аргуметнт имя вызвавшего его метода.<br />И после этого вся программа закрылась, не выдав никакого сообщения об ошибке.<br />Да, метод CancelOrder попятался отменить исполненную заявку, но почему небыло никакого сообщения?<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
public virtual void Do_CancelOrder(string callingMethod)
{
MarkOrderCanceledId("CancelOrder " + callingMethod);
if(_order != null){
try{
this.Trader.CancelOrder(_order);
}
catch(Exception ex){
string sessionStopped = "Сейчас эта сессия не идет";
if(ex.Message.Contains(sessionStopped)){
}
else{
throw ex;
}
}
}
}
</pre>
</div></div><br />на событие OnLog я подписан - там пусто.https://stocksharp.ru/topic/2261/Проблема с запуском дополнительного QUIK2011-12-23T11:58:08Z2011-12-23T11:58:08ZMCTuTeJ|19951995https://stocksharp.ru/users/18/info@stocksharp.ruПрограмма постоянно работает с одним QUIK через QuikTrader,который создается дефолтным способом:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var trader = new QuikTrader(pathToQuik);
</pre>
</div></div><br /><br />Но иногда программа должна запускать еще один Quik и кое-что с ним делать.<br />Нового QuikTrader создаю так:<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var trader = new QuikTrader{ Path = path, DdeServer = "ANOTHERDDESERVER" ,DllName = "TRANS2QUIK1.DLL"};
</pre>
</div></div><br /><br />На этой строчке программа вылетает с ошибкой:<br />Элемент с таким ключом уже добавлен.<br /><br />StackTrace:<br /><div class="code"><strong>Код</strong><div class="innercode"><br />в System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)<br /> в NDde.Advanced.DdeContext.DdeThread.Invoke(Delegate method, Object[] args)<br /> в NDde.Advanced.DdeContext.Invoke(Delegate method, Object[] args)<br /> в NDde.Advanced.DdeContext.Invoke(ThreadStart method)<br /> в NDde.Server.DdeServer.Register()<br /> в #=qr_hsCs_GsqoE2Q_e9zDO0kB$h6Pj05TQiQgMRW0YAS8=.#=qVDJVp9ByWTLlSS$iCYv7iIaC5fT2D2I9xdpq2Gk1jFE=.#=qg_B$4XRtEJe2cfb3itmhMw==()<br /> в Ecng.Common.ThreadingHelper.&amp;lt;&amp;gt;c__DisplayClass10.&amp;lt;Thread&amp;gt;b__f()<br /> в System.Threading.ThreadHelper.ThreadStart_Context(Object state)<br /> в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)<br /> в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<br /> в System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>System.ArgumentException: Элемент с тем же ключом уже был добавлен.<br /> в System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)<br /> в System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)<br /> в NDde.Advanced.DdeContext.DdeThread.Invoke(Delegate method, Object[] args)<br /> в NDde.Advanced.DdeContext.Invoke(Delegate method, Object[] args)<br /> в NDde.Advanced.DdeContext.Invoke(ThreadStart method)<br /> в NDde.Server.DdeServer.Register()<br /> в #=qr_hsCs_GsqoE2Q_e9zDO0kB$h6Pj05TQiQgMRW0YAS8=.#=qVDJVp9ByWTLlSS$iCYv7iIaC5fT2D2I9xdpq2Gk1jFE=.#=qg_B$4XRtEJe2cfb3itmhMw==()<br /> в Ecng.Common.ThreadingHelper.&amp;lt;&amp;gt;c__DisplayClass10.&amp;lt;Thread&amp;gt;b__f()<br /> в System.Threading.ThreadHelper.ThreadStart_Context(Object state)<br /> в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)<br /> в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<br /> в System.Threading.ThreadHelper.ThreadStart()</ExceptionString></Exception></TraceRecord><br /></div></div><br /><br /><br />Судя по стэктрейсу проблема в DDeServer.Register()<br /><br />Не подскажите в какую сторону копать ?Версия s# 4.0.8https://stocksharp.ru/topic/2260/Сделки не попадают в TradeStorage2011-12-22T14:00:41Z2011-12-22T14:00:41Zvaderhttps://stocksharp.ru/users/28223/info@stocksharp.ruЕсли заявка исполнена несколькими сделками и эти сделки совершены в промежутке одной секунды, то в хранилеще попадает только первая сделка. <br />При этом сами сделки все отображаются на графическом элементе.<br />Код.<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
_tradingStorage = new TradingStorage(new InMemoryStorage());
_tradeStorage = _tradingStorage.GetTradeStorage(Security);
IEnumerable<Trade> pastTrades = _tradeStorage.Load(DateTime.Today, DateTime.Today + TimeSpan.FromMinutes(1000));
private void OnNewMyTrades(IEnumerable<MyTrade> myTrades){
lock(sync){
List<Trade> trades = new List<Trade>();
foreach(MyTrade m in myTrades){
m.Trade.OrderDirection = m.Order.Direction;
trades.Add(m.Trade);
}
string info1 = "";
foreach(Trade p in trades){
info1 += p.Time.ToString() + " " + p.Id.ToString() + "\n";
}
Helper.WriteGeneralDiagnostics(info1 + " End");
_tradeStorage.Save(trades);
IEnumerable<Trade> pastTrades = _tradeStorage.Load(DateTime.Today, DateTime.Today + TimeSpan.FromMinutes(1000));
Helper.WriteGeneralDiagnostics(pastTrades.Count().ToString());
string info = "";
foreach(Trade p in pastTrades){
info += p.Time.ToString() + " " + p.Id.ToString() + "\n";
}
Helper.WriteGeneralDiagnostics(info + " End");
}
}
</pre>
</div></div><br />Пришедьшая сделка<br />22.12.2011 17:42:51 17187650<br /> End<br /><br />Список сделок в хранилище, после добавления.<br />14<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:51 17187651<br /> End<br />Список сделок в хранилище, после добавления.<br />14<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:51 17187652<br /> End<br />Список сделок в хранилище, после добавления.<br />14<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:52 17187654<br /> End<br />Список сделок в хранилище, после добавления.<br />15<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br />22.12.2011 17:42:52 17187654<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:52 17187655<br /> End<br />Список сделок в хранилище, после добавления.<br />15<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br />22.12.2011 17:42:52 17187654<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:52 17187656<br /> End<br />Список сделок в хранилище, после добавления.<br />15<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br />22.12.2011 17:42:52 17187654<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:53 17187657<br /> End<br />Список сделок в хранилище, после добавления.<br />16<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br />22.12.2011 17:42:52 17187654<br />22.12.2011 17:42:53 17187657<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:53 17187658<br /> End<br />Список сделок в хранилище, после добавления.<br />16<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br />22.12.2011 17:42:52 17187654<br />22.12.2011 17:42:53 17187657<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:54 17187659<br /> End<br />Список сделок в хранилище, после добавления.<br />17<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br />22.12.2011 17:42:52 17187654<br />22.12.2011 17:42:53 17187657<br />22.12.2011 17:42:54 17187659<br /> End<br /><br />Пришедьшая сделка<br />22.12.2011 17:42:54 17187660<br /> End<br />Список сделок в хранилище, после добавления.<br />17<br />22.12.2011 17:01:12 17184809<br />22.12.2011 17:10:19 17185397<br />22.12.2011 17:10:54 17185434<br />22.12.2011 17:11:24 17185444<br />22.12.2011 17:13:17 17185551<br />22.12.2011 17:16:52 17185729<br />22.12.2011 17:19:58 17185840<br />22.12.2011 17:29:45 17186407<br />22.12.2011 17:29:48 17186411<br />22.12.2011 17:29:49 17186412<br />22.12.2011 17:29:52 17186417<br />22.12.2011 17:29:53 17186418<br />22.12.2011 17:37:32 17187318<br />22.12.2011 17:42:51 17187650<br />22.12.2011 17:42:52 17187654<br />22.12.2011 17:42:53 17187657<br />22.12.2011 17:42:54 17187659<br /> Endhttps://stocksharp.ru/topic/2259/Пример событийной модели стратегии.2011-12-22T12:02:13Z2011-12-22T12:02:13ZPantovhttps://stocksharp.ru/users/98/info@stocksharp.ruВсем доброе время суток!<br />Я как, наверное, многие из пользователей сего продукта, хотел-бы <br />серьезно заняться деятельностью для которой этот продукт предназначен.<br />Особых знаний и навыков в программировании на C# нет, но есть желание и необходимость.<br />По вопросу изучения - есть библиотека (замечательная) есть кусочки кода по использованию, есть форум.<br />Но общей картины по написанию стратегий ни как не сложится :(<br />Если кто-то из людей с синими Никами, либо кто-то другой посчитает возможным:<br />- покажите пример событийной модели стратегии с использованием либо парного трейдинга,<br />либо арбитража.<br />Буду очень признателен, думаю, и не только я. Спасибо. https://stocksharp.ru/topic/2258/Проблемы в клиринг2011-12-22T11:59:20Z2011-12-22T11:59:20ZFiNickhttps://stocksharp.ru/users/6053/info@stocksharp.ruРаньше вроде нормально клиринг проходили, вернее мы там код меняли, чтобы куча ошибок не вылетала на клиринге, а сейчас вот опять то же самое? (см. картинку)https://stocksharp.ru/topic/2257/Как сделать заявки шлюза заявками стратегии?2011-12-22T09:37:16Z2011-12-22T09:37:16Zpehashttps://stocksharp.ru/users/340/info@stocksharp.ruЕсли стратегия, например, аварийно прекратила работу (обрыв связи, перезагрузка и т.д.), но при этом успела выставить заявки, то при следующем включении - это уже будут заявки шлюза а не стратегии.<br /><br />Как сделать все заявки шлюза (обычные и стоп) заявками стратегии?https://stocksharp.ru/topic/2256/Приходят не все инструменты.2011-12-21T14:30:00Z2011-12-21T14:30:00Zvaderhttps://stocksharp.ru/users/28223/info@stocksharp.ruЕсли во время, когда робот уже запущен, коннект включен и сделки уже можно отправлять, добавляешь инструмент, в таблицу инструментов в Quik, а в роботе он не появляется. Событие NewSecurities молчит.<br />Это бывает не всегда, и может быть так, что один инструмент бодавишь, он не появиться, потом другой добавляешь, и этот(другой) добавляется. Инструмен, который был добавлен в Quik, так и не появляется в роботе.<br />Как быть?https://stocksharp.ru/topic/2255/Не выполняется Once() для своих правил стратегий2011-12-21T12:33:12Z2011-12-21T12:33:12ZSupervisorhttps://stocksharp.ru/users/27975/info@stocksharp.ruВот например правило (дублирует по фукциональности одно из стандартных):<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
private sealed class NewBarStrategyRule : StrategyRule
{
// СВОЙСТВА
private Security Security { get; set; }
private TimeSpan TimeFrame { get; set; }
// КОНСТРУКТОР
public NewBarStrategyRule(MyStrategy baseStrategy)
{
Security = baseStrategy.Security;
TimeFrame = baseStrategy.Graph.TimeFrame;
Core.CandleManager.CandlesStarted += OnNewCandles;
}
// МЕТОДЫ
private void OnNewCandles(CandleToken token, IEnumerable<Candle> candles)
{
if (token.Security == Security && (TimeSpan)token.Arg == TimeFrame) // Если пришла наша свеча
Activate();
}
// ДЕСТРУКТОР
protected override void DisposeManaged()
{
Core.CandleManager.CandlesFinished -= OnNewCandles;
base.DisposeManaged();
}
}
</pre>
</div></div><br /><br />Проблема: действие .Once() по такому правилу продолжает выполняться бесконечно. Вроде все делал по инструкции [confused] <br /><br />S# 4.0.10 (пробовал и на 4.0.8, 4.0.6)https://stocksharp.ru/topic/2254/Проблема со скачиванием данных с РТС2011-12-20T23:01:20Z2011-12-20T23:01:20ZGarichttps://stocksharp.ru/users/809/info@stocksharp.ruОбновил гидру до 4.0.9.<br />Не качаются данные за 30.11.11 с РТС.<br /><br />Архив скачивает, но грузит только вечёрку.<br />Паралельно установлена гидра 3.2.7 - там всё в порядке.https://stocksharp.ru/topic/2253/Обновился на 4.10 и что-то не пашет...2011-12-20T16:37:51Z2011-12-20T16:37:51Zvardeshttps://stocksharp.ru/users/28290/info@stocksharp.ruСкачал новые обновления, и решил поменять библиотеки у себя. В результате при отправке транзакции выдает такое сообщение:<br /><b>Произошла ошибка. Код 10000, описание 'System level error in processing message'.</b><br /><br />Подумал, ну ладно, попробую отправить транзакцию, через Sample, который вы предоставляете, запускаю его, но при подключении вылетает:<br /><b>Retrieving the COM class factory for component with CLSIA {70F3774E-....} failes due to the following error: 80040154. Класс не зарегистрирован.</b><br /><br />В связи со своей не компетенцией, прошу разъяснить мне, в чем проблема и как ее можно решить...<br /><br />Заранее благодарю всех, кто сможет мне хоть чем-то помочь....https://stocksharp.ru/topic/2252/Экспорт по DDE таблицы Инструменты2011-12-20T14:13:47Z2011-12-20T14:13:47Z_maratrus_https://stocksharp.ru/users/28038/info@stocksharp.ruЗдравствуйте,<br /><br />помогите, пожалуйста, разобраться со следующей проблемой.<br />Был терминал Quik, на котором торговал человек. Он создал<br />себе несколько закладок, поместил на них свои таблицы, графики и т д<br />В общем, подстроил терминал под себя.<br /><br />Я хотел бы использовать StockSharp с этим терминалом.<br />Для этого создал дополнительную вкладку, куда поместил и настроил<br />все таблицы согласно документации.<br /><br />Есть следующие строчки кода<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
Action<IEnumerable<Security>> secAction =
new Action<IEnumerable<Security>>
(
securities =>
{
waitHandle.Set();
}
);
trader.NewSecurities += secAction;
trader.StartExport(trader.SecuritiesTable);
MessageBox.Show("Waiting for Securities Table");
waitHandle.WaitOne();
</pre>
</div></div><br /><br />Я вижу сообщение "Waiting for Securities Table", а дальше подвисаю<br />на бесконечном ожидании.<br />Таблица "Инструменты", при этом на моей закладке передает данные по DDE.<br />При старте, однако, Quik переходит не на мою закладку, а на одну из ранее существовавших.<br />Может ли S# работать с несколькими закладками в Quik? Как он определяет таблицу "Инструменты",<br />из которой берёт данные? В чем может быть проблема? Благодарю заранее за помощь.https://stocksharp.ru/topic/2251/Исключение при выводе логов2011-12-20T05:42:59Z2011-12-20T05:42:59Zfreelancerhttps://stocksharp.ru/users/28572/info@stocksharp.ruПри выводе логов _trader.AddErrorLog("___") выкидывает исключение "Current thread is not a GUI."<br /><br />Без GuiAsync.<br /><br />Версия 4.0.10. Раньше работалоhttps://stocksharp.ru/topic/2250/Работа с несколькими портфелями2011-12-19T16:04:40Z2011-12-19T16:04:40ZOvcharenkoVIhttps://stocksharp.ru/users/390/info@stocksharp.ruК сожалению, примера нет такого, может кто нибудь помочь - как это реализуется?