Сообщество. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=community&page=178Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T12:25:53Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/3137/используемые в примерах св-ва иструмента заполнены числ-ми значениями из КВИК, а больш-во ост-х нет2012-11-02T19:03:27Z2012-11-02T19:03:27ZГеннадий Ванин (Gennady Vanin)https://stocksharp.ru/users/6413/info@stocksharp.ruЗдравствуйте,<br />используемые в примерах свойства заполнены в run-time соответствующими значениями из КВИКа, а большинство остальных - нет. <br /><br />Например, в примере Quik\SampleConsole (StockSharp_4.1.5_Sources.zip) используются <br /><ul><li>_lkoh.BestBid.Price <br /><li> _lkoh.BestPair.SpreadPrice <br /></ul> <br />и у меня воспроизводится их заполнение/получение значений из КВИК.<br /><br />Но, подавляющее большинство остальных св-в - нет.<br />Вернее, они заполнены нулём. <br />Например,<br /><ul><li>_lkoh.BidsCount<br /><li>_lkoh.AsksCount<br /><li>_lkoh.BidsCount<br /><li>_lkoh.BidsVolume<br /><li>_lkoh.ClosePrice<br /><li>_lkoh.LowPrice<br /><li>_lkoh.MarginBuy<br /><li>_lkoh.MarginSell<br /><li>_lkoh.MaxPrice<br /><li>_lkoh.MinPrice<br /><li>и др.<br /></ul> <br /><br />Запоняется верно ещё пара-тройка величин, не используемых в примерах, например, LastChangeTime и CurrentValue (funny name for тек. чист. поз.) <br /><br />Почему?<br />Я не вижу сходу никакой корреляции между настраиваемых для экспорта колонками таблиц и тем, что заполняется и тем, что - нет. <br /><br />Как мне получить значения по второму списку в коде Stock# из КВИК?<br /><br />Фильтры параметров в КВИК у меня сняты.<br /><br />На форуме уже обсуждалась эта проблема, где ответ был - настроить экспорт стакана по документации<br />Настраивал, a также <a href="http://stocksharp.com/doc/html/ad145f75-a2d4-4766-af60-79489b84846c.htm" title="http://stocksharp.com/doc/html/ad145f75-a2d4-4766-af60-79489b84846c.htm">убирал стакан в соответствии</a>:<br /><ul><li>"Если стакан для необходимого инструмента еще ни разу не окрывался в Quik-е, то<b> QuickTrader</b>. самостоятельно создаст окно в терминале и настроит его при вызове метода <b>RegisterMarketTrade</b> из кода программы. Или можно принудительно закрыть стакан в Quik-е и он будет переоткрыт с уже корректными для S# настройками"</ul><br /><br />Кстати, настраиваемый из кода экспорт стакана не соответствует показанной в документации картинке.<br />В документации указан <b>DDE сервер: wrapper</b> (что не работает), а в настраиваемом из кода экспорте <b>STOCKSHARP</b> <br /><br />Проверял на скачанных сегодня кодах примеров из trunk codeplex<br />Выверял настройки с помощью Verifier<br />То же самое<br /><br />PS<br />В реальности, т.к. на моём демодоступе изначально не было денег для работы с акцмями, а переводить деньги на учебном доступе нельзя,, я заменил <b>_lkoh</b> на <b>_siz2</b>https://stocksharp.ru/topic/3136/Время QuikTrader и MQS не совпадает2012-11-02T14:33:58Z2012-11-02T14:33:58ZGarryhttps://stocksharp.ru/users/430/info@stocksharp.ruОткрыл лог своего робота и немного не понял, что со временем, в QuikTrader время верное совпадает с локальным временем компьютера и временем в терминале, а вот время MQS спешит на час, внимания бы этому не придал, но MQS работает как то странно, лучшие бид и аск не совпадают с тем что сейчас в стакане, время последнего изменения стакана тоже почему то спешит на час. Ох уж Дмитрий Анатольевич, как же вы всех запутали, ну или я сам запутался:) Кто подскажет в чем может быть дело?.<br /><br />2012.11.02 13:16:05.771| |MQS_RIZ2@RTS_SPBFUT00|Сброс счетчика ошибок регистрации с 0 до нуля.<br />2012.11.02 12:16:05.771| |QuikTrader|Order changed: 35112459/9337376287 Покупка Цена=143490 Объем=8 Сост=Active Бал=8 <br />2012.11.02 12:16:05.771| |QuikTrader|Order changed: 35112460/9337376289 Покупка Цена=143490 Объем=7 Сост=Active Бал=7 <br />2012.11.02 13:16:06.332| |MQS_RIZ2@RTS_SPBFUT00|Цена текущей 143490 и лучшей 143480.<br />2012.11.02 13:16:06.332| |MQS_RIZ2@RTS_SPBFUT00|Лучший бид 143500 и лучший аск 143510.<br /><br />Версия последняя 4.1.5 с box.com 27 октябряhttps://stocksharp.ru/topic/3135/Как получить значение MyTrade.PnL в 4.1.52012-11-01T19:01:02Z2012-11-01T19:01:02Ztimur.shaykhievhttps://stocksharp.ru/users/6098/info@stocksharp.ruЯ перешел с версии 4.1.1 на 4.1.5 и обнаружил, что в новой версии в классе MyTrade нет свойства PnL. Как теперь получать PnL по сделке?https://stocksharp.ru/topic/3134/WLD коннектор2012-11-01T09:22:34Z2012-11-01T09:22:34ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruТут с одного форума заинтересовались коннектором. Появился интерес, какое сейчас вообще у Велса АПИ. У кого есть 6-ка платная, можете запостить описание АПИ? Можно попробовать разобраться вместе и оценить, насколько это трудоемко с учетом существующих S# возможностей.<br /><br />На данный момент для экспорта реал тайм котировок доступны следующие терминалы:<br /><ul><li>Альфа-директ<br />Quik<br />Plaza II<br />SmartCOM</ul><br />Для подачи приказов и получения позиции доступны следующие терминалы:<br /><ul><li>Quik</ul><br />upd. <b><span style="color:red">Сделал крупное обновление адаптера</span></b>. Кто скачивал предыдущие версии перекачайте. Так же в виду большого количества вопросов. Приложил инструкцию по установке. Главное нововведение полноценная поддержка брокер адаптера. То есть теперь вы можете подавать ордера непосредственно в терминал, а так же синхронизировать позиции. Правда такая возможность присутствует только в версии для Квика. Почему для синхронизации позиций не поддерживаются другие терминала? Потому что я являюсь пользователем квика и не знаю как получить значение поля "Цена приобретения " из других терминалов. Если вы знаете ответ на этот вопрос, пожалуйста, свяжитесь со мной для улучшения функционала адаптера. Так же для повышения качества продукта если вы заметите, какие, то баги так же свяжитесь со мной. <b><span style="color:red">После применения настроек необходимо перезагрузить Wealth Lab</span></b>. Автор адаптера WD-40https://stocksharp.ru/topic/3132/Время в логе2012-11-01T06:52:52Z2012-11-01T06:52:52ZPavelAdhttps://stocksharp.ru/users/6072/info@stocksharp.ruПодскажите кто знает, почему при логировании в лог не выводятся миллисекунды при подгрузке исторических сделок<br /><br />простой пример, вывод при закрытии свечи<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
protected void OnCandleFinished(Candle candle) {
this.AddInfoLog("'Бар {0}'. OP={1}, MAH={2}, MAL={3}", candle.OpenTime, candle.OpenPrice, candle.High, candle.Low);
var interval = this.GetMarketTime().Subtract(candle.OpenTime);
// Если условие не выполняется значит только что закрылась свеча, а не подгружены исторические данные
if (interval.TotalMilliseconds >= 30000) {
Thread.Sleep(100); // Чтобы в лог выводилось в нужном порядке
return;
}
}
</pre>
</div></div><br /><br />В логе выводится все равно без милисекунд:<br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">.....<br />10:42:21.000 | | TS_RIZ2@RTS_SPBFUT | 'Бар 01.11.2012 10:28:00'. OP=142370, MAH=142406.995801, MAL=142329.316113<br />10:42:21.000 | | TS_RIZ2@RTS_SPBFUT | 'Бар 01.11.2012 10:29:00'. OP=142560, MAH=142568.998600, MAL=142349.772038<br />10:42:21.000 | | TS_RIZ2@RTS_SPBFUT | 'Бар 01.11.2012 10:30:00'. OP=142550, MAH=142622.999533, MAL=142469.924013<br />....</div></div><br /><br />В MonitorWindow записи с одинаковым временем из-за этого вообще перепутываютсяhttps://stocksharp.ru/topic/3131/Ошибка при использование CandleBuilder.Contaimer2012-10-31T21:15:10Z2012-10-31T21:15:10ZTaulerhttps://stocksharp.ru/users/26822/info@stocksharp.ruКоллеги,<br /><br />в методе CandleBuilder.IsCandleFinishedBeforeChange(..)<br />есть строки вида<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
IList<ICandleBuilderSourceValue> data = Container.GetValues(series, candle).ToList();
int i = data.Count;</pre>
</div></div><br /><br />Непонятно по какой причине иногда (точно не скажу при каких условиях, сделок очень много строитель обрабатывает),<br />i получается равным 0 , но это же неверно, так как если мы дошли до вызова метода IsCandleFinishedBeforeChange(..), значит был вызов CreateCandle, значит свечка из чего то же сформировалась (то есть была минимум одна сделка)https://stocksharp.ru/topic/3130/Yahoo. End-of-Day Daily Candles.2012-10-31T19:23:19Z2012-10-31T19:23:19ZKazai Mazaihttps://stocksharp.ru/users/5954/info@stocksharp.ruЕсли кому нужен, можно <a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAIzJHwV0tlbjaFgHtJkJp1dO0EoQ0oUlLu6XsKMJWxFl6iDiZj8dk_lX3uUlsO-iHBEZ5ylfKOVtYUU2TZKl-m" title="https://www.dropbox.com/sh/u0wbbr52ewv2g3o/sekqu4RSmY">качнуть с дропбокса</a>https://stocksharp.ru/topic/3129/Дефект в пользователе кастомного строителя свечей(думаю, в CandleManager)2012-10-31T18:09:26Z2012-10-31T18:09:26ZTaulerhttps://stocksharp.ru/users/26822/info@stocksharp.ruКоллеги,<br />по-моему нашел ошибку в использовании кастомного строителя свечей (наследника CandleBuilder<of Type>)<br /><br />как я понял, алгоритм, который использования CandeBulder следующий:<br /><br />1. CreateCandle (значение)<br />2. IsCandleFinishedBeforeChange(свеча, значение)<br />если истина,то п.1 со следующим value<br />если ложь, то<br />3.UpdateCandle(candle, value)<br /><br /><br />так, вот , в ситуации, когда сразу после CreateCandle(value1) срабатывает IsCandleFinishedBeforeChange(свеча, значение)= истина, в следующий вызов CreateCandle снова приходит value1 (то есть предыдущее значение)!<br /><br />Если же хотя бы раз отрабатывает UpdateCandle, то все работает правильно.<br /><br />Из-за этого получается лишняя свечка (в моем строителе), либо вообще возможен бесконечный цикл с одним и тем же value.<br /><br />Это так срабатывает на 4.1.4https://stocksharp.ru/topic/3128/При тестировании на истории заявка исполнилась по неправильной цене2012-10-30T18:47:19Z2012-10-30T18:47:19ZYury Smykalovhttps://stocksharp.ru/users/6389/info@stocksharp.ruЗапустил исторический тест. Решил по логам проверить, все ли в порядке. <br /><br />Обнаружил, следующую проблему: лимитированная заявка на покупку выставляется по цене 141850, а исполняется по 141770. При этом я вижу, что моя стратегия не обновляла заявку.<br /><br />Вот выдержка из лога:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
2012.10.30 10:10:32.851| |MQS_RIZ2@RTS_test account|Стратегия запущена. [0,324]. Позиция при старте 0.
2012.10.30 10:10:32.851| |EmulationTrader|RegisterOrder: 58453309/0 Покупка Цена=141850 Объем=1 Сост=None Бал=1
2012.10.30 10:10:32.851| |EmulationTrader|New order: 58453309/324 Покупка Цена=141850 Объем=1 Сост=Active Бал=1
2012.10.30 10:10:33.128| |EmulationTrader|Order changed: 58453309/324 Покупка Цена=141850 Объем=1 Сост=Done Бал=0
2012.10.30 10:10:33.128| |MVWAPS_RIZ2@RTS_test account|Новая позиция: test account-RIZ2@RTS=0.
2012.10.30 10:10:33.128| |MQS_RIZ2@RTS_test account|Новая позиция: test account-RIZ2@RTS=1.
2012.10.30 10:10:33.128| |MQS_RIZ2@RTS_test account|Заявка 58453309 больше не активна.
2012.10.30 10:10:33.128| |MQS_RIZ2@RTS_test account|Стратегия останавливается. [0,324]. Позиция при старте 1.
2012.10.30 10:10:33.128| |MQS_RIZ2@RTS_test account|Ожидание снятия всех активных заявок.
2012.10.30 10:10:33.128| |MQS_RIZ2@RTS_test account|Стратегия остановлена. [0,324]. Позиция при старте 1.
2012.10.30 10:10:33.128| |MVWAPS_RIZ2@RTS_test account|Новая Buy сделка 324 по цене 141770 на 1 заявки 58453309.
2012.10.30 10:10:33.128| |MQS_RIZ2@RTS_test account|Новая Buy сделка 324 по цене 141770 на 1 заявки 58453309.
2012.10.30 10:10:33.561| |MQS_RIZ2@RTS_test account|Стратегия запущена. [0,325]. Позиция при старте 0.</pre>
</div></div><br /><br />MQS - это не стандартная стратегия котирования S#, а моя собственная, похожая. Выставляется заявка примерно так:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
ActiveOrder = this.CreateOrder(Direction, StartPrice, Volume);
ActiveOrder.ShrinkPrice();
ActiveOrder.Security = Security;
while (!Trader.IsConnected) Trader.Reconnect();
base.RegisterOrder(ActiveOrder);
ActiveOrder.WhenMatched()
.Do(Finish)
.Apply(this);</pre>
</div></div><br /><br />Цена закрытия (141770) ниже обоих границ спреда и цен последних сделок:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
MarketTime;DepthTime;BestBid;BestAsk;LastTradeTime;LastTrade
30.10.2012 10:10:31,097;30.10.2012 10:10:31,079;141850;141860;30.10.2012 10:10:30,930;141850
30.10.2012 10:10:31,714;30.10.2012 10:10:31,641;141850;141860;30.10.2012 10:10:31,097;141850
30.10.2012 10:10:31,754;30.10.2012 10:10:31,715;141850;141860;30.10.2012 10:10:31,714;141850
30.10.2012 10:10:31,839;30.10.2012 10:10:31,761;141860;141870;30.10.2012 10:10:31,754;141860
30.10.2012 10:10:31,849;30.10.2012 10:10:31,761;141860;141870;30.10.2012 10:10:31,839;141860
30.10.2012 10:10:31,863;30.10.2012 10:10:31,761;141860;141870;30.10.2012 10:10:31,849;141860
30.10.2012 10:10:32,142;30.10.2012 10:10:32,077;141850;141870;30.10.2012 10:10:31,863;141860
30.10.2012 10:10:32,631;30.10.2012 10:10:32,532;141860;141870;30.10.2012 10:10:32,142;141870
30.10.2012 10:10:32,658;30.10.2012 10:10:32,532;141860;141870;30.10.2012 10:10:32,631;141870
30.10.2012 10:10:32,851;30.10.2012 10:10:32,810;141860;141870;30.10.2012 10:10:32,658;141870
30.10.2012 10:10:33,561;30.10.2012 10:10:33,480;141860;141870;30.10.2012 10:10:32,851;141870
30.10.2012 10:10:33,621;30.10.2012 10:10:33,566;141860;141870;30.10.2012 10:10:33,561;141870
30.10.2012 10:10:33,720;30.10.2012 10:10:33,668;141870;141880;30.10.2012 10:10:33,621;141870
30.10.2012 10:10:33,967;30.10.2012 10:10:33,937;141860;141870;30.10.2012 10:10:33,720;141870
30.10.2012 10:10:34,780;30.10.2012 10:10:34,741;141870;141880;30.10.2012 10:10:33,967;141870</pre>
</div></div><br /><br />Вот выдержка из report.xls:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
Номер сделки Номер транзакции Время Цена Цена заявки Объем Направление Номер заявки Проскальзывание Проскальзывание (котирование) Комментарий Прибыль в рублях Прибыль в пунктах Прибыль в рублях (суммарная) Прибыль в пунктах (суммарная) Позиция Номер заявки Номер транзакции Направление Зарегистрирована Изменена Продолжительность Цена Цена (усредн.) Статус Состояние Баланс Объем Тип Проскальзывание Задержка регистрации Задержка отмены Комментарий
324 58453309 30.10.2012 10:10:33 141770 141850 1 Покупка 324 0 -80 MQS_RIZ2@RTS_test account 55,8 90 2653,6 4280 0 324 58453309 Покупка 30.10.2012 10:10:32 30.10.2012 10:10:33 00:00:00 141850 141770 Не активна Исполнена 0 1 Лимитная -80 00:00:00 00:00:00 MQS_RIZ2@RTS_test account</pre>
</div></div><br /><br />Версия из транка (20514).https://stocksharp.ru/topic/3127/SampleDdeExtendedInfo2012-10-30T17:47:56Z2012-10-30T17:47:56ZТворогhttps://stocksharp.ru/users/6511/info@stocksharp.ruМучаюсь по всякому с примером <b>SampleDdeExtendedInfo</b>. Загружаю info_extended.wnd, обновляю фьючерсы в таблице инструментов до более свежих. В итоге даже выскакивающие ошибки отличаются между собой, но самая распространённая выглядит так:https://stocksharp.ru/topic/3126/Ошибка при отправке заявки через PlazaTrader (4.1.5)2012-10-30T10:12:28Z2012-10-30T10:12:28Zshahterhttps://stocksharp.ru/users/6414/info@stocksharp.ruДобрый день!<br /><br />Использую пример, который находится в дистрибутиве стокшарпа. Пример коннектится и котировки получает, а при попытке отправить завку возникает ошибка:<br />" StockSharp.Plaza.PlazaException: Ошибка Плазы. Код -2147188713, описание 'P2ERR_DB_FIELD_NOT_SET'. ---> System.Runtime.InteropServices.COMException: Coudn't compose message body<br /> в P2ClientGateMTA64.CP2BLMessageClass.SendAsync2(CP2Connection conn, UInt32 Timeout, Object event, Int64 eventParam)<br /> в #=qJC_v7EInY$pKHEL6Ndwxl_l1DH3xsKaA6o_Nqz3QFnT29i7CfFs1gBrFUQpOL4oV.#=qFgZGnR3X9L0Cif56d0MJb935mSmJrrI1zeqWT4im5dQvCv17JpE5_jsztiN_zYLxYtvnxsF6gAkqFweyH$JmaA==(#=qjF_QneBWGWvIbpVRPxvkpYEAXY6fXm3yJMkmWFJj8aaIzuVUElc3F3zoOXNdNVGH #=q2VXYFy9ZybYMgT4CPzYMoA==, Int64 #=qBFnKKAsD3XYSU_YLDAvNpg==, MessageDispatcher #=q4Lo$qANw_ac48MvpllgnhQ==, Int64 #=q5EJ2yEYmbBq_H1vcqsnGuQ==)<br /> в StockSharp.Plaza.TransactionManager.#=qwo$pYC09dUh5ncnuZfbtQo2l2Vk9eox4AZDxmI$Q2rg=(#=qWI8NIKu_dLOSPGVskletgtwosSQ_LpSI29HlcdZcy4DgjyjbAmtpVbFsUmO3JO4E #=qcuSKjUEdim3Al4R9T7yrsw==, Transaction #=q5_dJLV$DU76xZK7auV0q8g==)<br /> в StockSharp.Plaza.TransactionManager.#=qhWA$6mpz5bZTISIGADpP8w==(#=qWI8NIKu_dLOSPGVskletgtwosSQ_LpSI29HlcdZcy4DgjyjbAmtpVbFsUmO3JO4E #=qV2aul0T18j9M7cH942cFSg==, Action`1 #=qFCQXfbMH0FrMwNWrKmoNqQ==)<br /> в #=qopuHoTj70RHTAwYGUkMq8rDnEpgrQm9NeZ4rvFnMH8fmLvP_ff27TQLJt6YjdSJf.#=qP4GfZV_0g9M0s0TKFh9hQGkKT4F3xWnsVIGoT193krU=.#=qEbXUuYVcfSDEDkoI_kCmr1vKnVHXkSYdk$I_9cNSzpc=.#=q8bsX13oJM2ar34quoFVprjglJcZ2tFM$hFS5LvsFV6g=()<br /> в #=qopuHoTj70RHTAwYGUkMq8rDnEpgrQm9NeZ4rvFnMH8fmLvP_ff27TQLJt6YjdSJf.#=qB7yO97ooRosrSlcDa29f2w==(Action #=qfsC_wXrdAielcz9lVvhmSw==, Action #=qngHFngecQXFA92B34UlSeA==)<br /> --- Конец трассировки внутреннего стека исключений ---<br /><br /><br />Подскажите в чем проблема? <br />https://stocksharp.ru/topic/3125/Verifier выдает ошибки конфигурации при загрузке info.wnd, идущим с кодом StockSharp2012-10-30T09:51:27Z2012-10-30T09:51:27ZГеннадий Ванин (Gennady Vanin)https://stocksharp.ru/users/6413/info@stocksharp.ruQuik 6.3.2.2 настроен в соответствии с документацией<br />В частновсти, считна файл <br />\StockSharp_4.1.5_Sources\Samples\Quik\info.wnd<br />Но Verifier <br /><br />(\StockSharp_4.1.5_Sources\Samples\Tools\Verifier)<br />выдаёт сообщение:<br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">Таблица инструменты. В таблице 'инструменты' по индексу 3 должна быть колонка 'Статус' вместо колонки 'Статус приема заявок'</div></div>,<br />хотя в ТТП Квик нет колонки Статус<br /><br />И ряд других предупреждений<br /><br />Непонятно - на что ориентироваться?https://stocksharp.ru/topic/3124/Дневные графики, исторические данные2012-10-29T21:13:01Z2012-10-29T21:13:01Zmrneohttps://stocksharp.ru/users/27607/info@stocksharp.ruДоброй ночи!<br /><br />Подскажите, плз.<br />Гидра подкачала свечки (1час, 1дн) с финама.<br />Получается построить часовой график, указав "TimeFrame 01:00:00". А что нужно указать чтобы посмотреть дневной график?<br /><br />Также может подскажите, можно ли исторические данные "качнуть" из квика?https://stocksharp.ru/topic/3123/Ошибка в аргументе2012-10-29T17:58:20Z2012-10-29T17:58:20ZТворогhttps://stocksharp.ru/users/6511/info@stocksharp.ruВ примере Sample методу ShowOrHide отправляется аргумент типа MyTradesWindow, а не Window, как того он требует. Я попытался воспроизвести вызов метода в проекте с нуля и мне выдаётся ошибка:<br /><em>Error 4 The best overloaded method match for 'StockSharpRobot.MainWindow.ShowOrHide(System.Windows.Window)' has some invalid arguments C:\Projects\StockSharpRobot\StockSharpRobot\MainWindow.xaml.cs 66<br /></em><br /><br />Почему так?https://stocksharp.ru/topic/3122/Не формируются свечи2012-10-29T03:54:21Z2012-10-29T03:54:21ZTaulerhttps://stocksharp.ru/users/26822/info@stocksharp.ruКоллеги!<br /><br />Никак не соображу в чем проблема, вот код (версия 4.1.4) : <br /><br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_b1a87581eebc49738927c251d89a0bc6');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_b1a87581eebc49738927c251d89a0bc6' style='display:none'><br /> security = new Security<br /> {<br /> Id = "GAZP@EQNE",<br /> MinStepSize = 0.01m,<br /> Exchange = Exchange.Micex<br /> };<br /><br /> List<Trade> trades = makeDealsFromHistory(edtPathToHistoryFile.Text);<br /> foreach (var trade in trades)<br /> {<br /> trade.Security = security;<br /> trade.OrderDirection = OrderDirections.Sell;<br /> }<br /> DateTime from = trades.Min(trade => trade.Time).AddDays(-1);<br /> DateTime to = trades.Max(trade => trade.Time).AddDays(1);<br /> var builderSource = new RawConvertableCandleBuilderSource<Trade>(security, from , to, trades);<br /><br /> CandleSeries series = new CandleSeries(typeof(RangeHLCandle), security, edtStockRange.Value);<br /> CandleManager candleManager = new CandleManager();<br /> candleManager.Sources.Add(new RangeHLCandleBuilder { Sources = { builderSource }});<br /><br /> candleManager.Start(series);<br /> List<RangeHLCandle> candles1 = series.GetCandles<RangeHLCandle>().ToList();<br /><br /> chartMain.Series[0].Points.DataBind(candles1, String.Empty, "LowPrice,HighPrice,OpenPrice,ClosePrice",<br /> "Tooltip = HighPrice");<br /> }<br /><br /> }<br /></div><br /><br />Вроде все делаю как в мануале и как во многих ветках форума тут, однако свечи упорно не формируются, список candles1 - пустой. <br />Дело даже не доходит до методов CreateCandle, UpdateCandle, IsCandleFinishedBeforeChange в самой реализации RangeHLCandleBuilder : CandleBuilder<RangeHLCandle> , в метод GetSupportedRanges один раз заходит, судя по всему из candleManager.Start(series);<br /><br />Помогите кто чем может!https://stocksharp.ru/topic/3121/Параметр Candle.Argи не только в Candle2012-10-28T16:00:10Z2012-10-28T16:00:10ZTaulerhttps://stocksharp.ru/users/26822/info@stocksharp.ruКоллеги!<br /><br />Выкурил весь мануал и форум, итак не получил ясности, для чего в свече нужен параметр Arg?<br />Что должно быт ьв этом параметре в кастомных (не ТФ) свечах?<br /><br /><br />Причем аналогичный параметр используется очень широко, например<br /><br />LocalMarketDataDrive drive = new LocalMarketDataDrive(edtPathToHistoryFile.Text);<br />drive.GetStorageDrive(security, typeof(Trade),??? Что тут должно быть?)<br /><br />В ряде примеров я видел, что для создания свечей по ТФ в качестве Arg передается что-то типа TimeSpan.FromMinutes:<br /><br />TimeSpan _timeFrame = TimeSpan.FromMinutes(1);<br />_series = new CandleSeries(typeof(TimeFrameCandle), _instr1, _timeFrame);<br />какой тут смысл параметра _timeFrame ?<br /><br />Заранее благодарю за помощь<br />https://stocksharp.ru/topic/3120/Соответствие назв-й/опис-й членов класса DdeSecurityColumns колонкам табл текущиз параметров КВИКа?2012-10-26T17:48:23Z2012-10-26T17:48:23ZГеннадий Ванин (Gennady Vanin)https://stocksharp.ru/users/6413/info@stocksharp.ruЗдравствуйте,<br />где можно посмотеть соответствие между колонками (полями) ТТП (Таблица текущих значений параметров) QUIK 6.3 и<a href="http://stocksharp.com/doc/html/AllMembers_T_StockSharp_Quik_DdeSecurityColumns.htm" title="http://stocksharp.com/doc/html/AllMembers_T_StockSharp_Quik_DdeSecurityColumns.htm"> названиямми-описаниями членов класса DdeSecurityColumns</a> ?<br /><br />Из сопоставления или вообще невозможно для программиста найти соответствие или же уходит очень много времени<br /><br />Почему бы прямо в документации с описаниями членов DdeSecurityColumns не дать названия параметров ТТП Квмка?<br />Планируется ли это сделать и как скоро?https://stocksharp.ru/topic/3119/Ошибка при перерегистрации заявки2012-10-26T13:19:19Z2012-10-26T13:19:19ZAnt.On.https://stocksharp.ru/users/6276/info@stocksharp.ruЧто делаю: пытаюсь перерегистрировать заявку ( все происходит в дочерней стратегии: заявка ставится и перерегистрируется):<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var old = this.Orders.FirstOrDefault(o => o.State == OrderStates.Active && o.Security.Code==this.Security.Code); // find active orders to replace
if (old == null)
{
return;
}
var order = old.Clone();
new_price = this.Security.ShrinkPrice(new_price, ShrinkRules.Auto);
order.Price = new_price;
this.ReRegisterOrder(old,order); // does not work: заявка уже была отправлена на перерегистрацию (???)
</pre>
</div></div><br /><br />Падает с Exception (заявка не снимается, остается висеть). Все на реальном счете<br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">System.ArgumentException was unhandled by user code<br /> Message=Заявка 61398764 уже была ранее отправлена на перерегистрацию.<br /> Source=StockSharp.Algo<br /> StackTrace:<br /> at StockSharp.Algo.Strategies.Strategy.ReRegisterSlippage(Order oldOrder, Order newOrder)<br /> at Ecng.Common.DelegateHelper.SafeInvoke[T1,T2](Action`2 handler, T1 arg1, T2 arg2)<br /> at StockSharp.Algo.Strategies.Strategy.ReRegisterSlippage(Order oldOrder, Order newOrder)<br /> at StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)<br /> at PairTrader.Quoter.reQuote(Decimal new_price) in c:\tmp\AlgoTrading\4.1.5 release\Quoter.cs:line 109<br /> at StockSharp.Algo.MarketRule`2.#=qJosTH3NFz_dcWSPiM7XRb8E01zkTBRDf2J5OpVK4CCI=.#=qwyWH$eyQ6ZRsBqWtHmTA3g==(#=qfT6nhcPlWvPESNDaPlDNUA== #=qVC4KKDTVuqQN9mouEFe_Vg==)<br /> at StockSharp.Algo.MarketRule`2.#=qBjnGFJa1m5qQH6CuH1aPVQ74KEj7u9_ilH$bifqKbFU=()<br /> at StockSharp.Algo.MarketRuleHelper.#=q0QtmL$Whdq5Ef_hlxo3fLQ==(IMarketRuleContainer #=qcDKynrfqezsQMQ9Em$W32g==, IMarketRule #=qI8cPty2Plfgh$z$5zoAE8g==, Func`1 #=qBJAXpb1jsBrSqQhfiBxj5w==)<br /> at StockSharp.Algo.Strategies.Strategy.#=qsC6ROunpHiT3pAtp0VNrFQMvX4wJPEjtGHuDEfse_ziQgZR1haqPZeokHoIFKH5NvZY6dUIk594BjXpQElTWBA==(IMarketRule #=qXriMoAVA_BsqiZi_vFjOXA==, Func`1 #=qFZW_5i_y2kXkGSTnIvmATQ==)<br /> InnerException: </div></div><br /><br />Это баг или я косячу где то?https://stocksharp.ru/topic/3118/Параметр "broker_code" при передачи транзакции2012-10-26T02:19:15Z2012-10-26T02:19:15Zvardeshttps://stocksharp.ru/users/28290/info@stocksharp.ruЗдравствуйте!<br />Столкнулся с такой проблемой, для отправки транзакции требуется указать код брокера "broker_code", но у заявки данного поля не нашел. Подскажите, как справиться с проблемой.https://stocksharp.ru/topic/3117/Вопрос про GetCandleManager2012-10-25T18:10:30Z2012-10-25T18:10:30ZKazai Mazaihttps://stocksharp.ru/users/5954/info@stocksharp.ruКаким образом ассоциировать candleManager со стратегией, чтобы потом его можно было получить GetCandleManager(Strategy) из дочерней стратегии, например?<br />