fusion. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=tag&id=fusion&type=communityCopyright @ StockSharp Platform LLC 2010 - 20242024-03-29T15:32:45Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/5216/Примеры2016-01-27T22:27:58Z2016-01-27T22:27:58Zixtiandr1989https://stocksharp.ru/users/73009/info@stocksharp.ruСкиньте кто-нибудь реальный код - пример подключения к платформе fusion! хотябы консольное приложение, не могу никак подключиться! перебрал все и все доработки и исправления=((((https://stocksharp.ru/topic/5120/Fusion перестал подключаться2015-11-10T20:26:54Z2015-11-10T20:26:54ZMrLightKinghttps://stocksharp.ru/users/94325/info@stocksharp.ruДобрый день.<br /><br />Все было нормально, все работало, сегодня запустил еще ранее откомпилированный и вчера работающий exe-шник, а не хочет подключаться теперь.<br /><br />Пишет: "Incorrect version"<br /><br />Платформа вроде не обновлялось, в чем может быть причина? Что-то где-то поменялось ))https://stocksharp.ru/topic/5101/Автоматическая система риска.2015-10-14T20:41:15Z2015-10-14T20:41:15Zferoxproxhttps://stocksharp.ru/users/94600/info@stocksharp.ruДоброго времени суток, вообщем буду краток и перейду сразу к делу. <br />Я новичек в теме алготрейдинга, торгую в основном руками, поэтому хотел бы написать автоматическую систему накопленного риска и прикрутить это все к платформе, чтобы при достижении определенного порога убытков она зыкрывала все позиции и отключала возможность захода в позицию до конца дня. <br />Даже не знаю с чего начать, возможно уже есть готовые решения? - однако я перерыл весь интернет и не нашел ничего подобного. Но вещь очень полезная для тех, кто не торгует в пропах, где есть риск менеджер.<br />Как посоветуете решить данные вопрос? <br /><hr />P.S Просить у брокера постоянно менять риск на день - не варинат. https://stocksharp.ru/topic/4932/Смерть коннектора2015-03-16T19:30:21Z2015-03-16T19:30:21ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruСегодня пытался подключиться к серверу брокера - ошибка, не пускает. Поддержка говорит что они больше не предоставляют API.<br />Есть ли надежда или это окончательно смерть коннектора?https://stocksharp.ru/topic/4884/4.2.60 - Exception при отправке ордера2015-02-03T16:56:49Z2015-02-03T16:56:49ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruПосле отправки маркет ордера вылез exception:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
BlackwoodTrader;03/02/2015 19:14:42 +03:00;Info;RegisterOrder: 0/ Sell Price=0 Volume=100 State=None Score=0
BlackwoodTrader;03/02/2015 19:14:42 +03:00;Info;New order: 63056629/ Sell Price=0 Volume=100 State=Pending Score=100
BlackwoodTrader;03/02/2015 19:14:42 +03:00;Info;Order changed: 63056629/1114005875 Sell Price=0 Volume=100 State=Active Score=100
BlackwoodTrader;03/02/2015 19:14:42 +03:00;Info;Order changed: 63056629/1114005875 Sell Price=0 Volume=100 State=Done Score=0
BlackwoodTrader;03/02/2015 19:14:42 +03:00;Error;System.InvalidOperationException: Message 'Execution,T(L)=2015/02/03 19:14:42.630,T(S)=2015/02/03 19:14:41.642,(Order),Sec=S#:COMM@BATS, Native:,Type:,Ord=1114005875/0/63056629,Fail=,TId=0,Pf=123ABCD,TPrice=0,UId=' caused processing error. ---> System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в StockSharp.Algo.Connector.#=qoAZhl8Ff0GiEynMRfjyExFVNJ0nCGYCetQjlJCYlaQQ=[T](Tuple`2 #=q1EdgnG7eZ6h7wTCnDyvnOQ==)
в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
в System.Linq.Buffer`1..ctor(IEnumerable`1 source)
в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
в StockSharp.Algo.Connector.#=qYfpcqo4rp9KEEYJmK4Mr9svxepBqADPYT7Fz2i_n72g=[T](Order #=qLDZULyrENlS0BZiMxEppxQ==, T #=qDZfwuHO8Rfzx6_U1ZMoGWg==, Dictionary`2 #=qjdJ7CDsmRssR1ybuP$ZUaawVh6mixKHamp$RZy1zIlo=)
в StockSharp.Algo.Connector.#=qI4Bkr27cMmD1AJvW7K00dAa6L9ds7LW3XcPZEG5ecO4=(Security #=qXryO89zC2V2rTh2WJTqPHQ==, ExecutionMessage #=qeFwvb3FvDEApZeTcHAGD6w==)
в StockSharp.Algo.Connector.#=qq2Kob4OUI8kcVDl2_FCH5GXYW3quCzc5QGpeDjdBFkQ=.#=qnpZbN6YHY4UIcGJbzt7E6GkQXTPDZcZUXzJwFQCPq50=(Security #=q9hYy84aJINzsZq5p4BsgIg==)
в StockSharp.Algo.Connector.#=qq2Kob4OUI8kcVDl2_FCH5GXYW3quCzc5QGpeDjdBFkQ=.#=qfjk3om9r97I8wyIgKKbNwBsfZGPGOv2Ia$HsGzdd3eU=(Security #=qMGAgKSBQAwXRQSkwZfDmDQ==, ExecutionMessage #=qrd_lQhEo$bEQYEoVyObJ5w==)
в StockSharp.Algo.Connector.#=qcslkA6vhFDHPKN6E78x89BG4lZGsy56NNkP2v8rHvE4=[TMessage](TMessage #=qDFe1NzcaXib67OHiQbND6A==, Func`2 #=q_HMwlSRV7QG2rTFfjUVENw==, Action`2 #=qdV1wJHITYOyZ2B$98sVzgg==, Boolean #=q8K9a1iVvIfEezhRs44CrWKBUL9KbK6eJ3gwjPZCIU24=, String #=qIw3GKsIXXql$p58lHNkaZbDfR0y$v1qOf44GgAI6hlo=)
в StockSharp.Algo.Connector.#=qbXC0SyQGuo2oVZRqzB7BXqsHX$F8P5FeDctwQkpiS$M=(ExecutionMessage #=qJZXKrLIu36w3tX7kTXweHA==)
в StockSharp.Algo.Connector.OnProcessMessage(Message message, MessageAdapterTypes adapterType, MessageDirections direction)
--- Конец трассировки внутреннего стека исключений ---</pre>
</div></div><br />Ордер исполнился, но событий об этом не пришло.https://stocksharp.ru/topic/4882/Отправка ордеров на произвольные роуты2015-02-02T17:17:56Z2015-02-02T17:17:56ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruВ данный момент в платформе присутствуют некоторые неудобства, связанные с выбором роутов для отправки ордеров.<br /><br />Сейчас платформой полностью поддерживаются ордера, отправленные на инструменты из списка Trader.Securities. Если нужно отправить ордер на роут, не представленный в этом списке, то приходится прибегать ко всяким ухищрениям.<br /><br />В данный список инструменты попадают следующими путями (может есть еще, но я нашел только эти):<br />1. Trader.LookupSecurities() и ждем, когда нужная нам ECN появится в списке. Это произойдет только если у нас есть подписка на данные по нашей ECN (BATS Book и пр.).<br />2. Если в этот день по нужному нам инструменту и роуту уже были совершены какие-либо действия, например поставлен и отменен ордер, тогда такой инструмент сам появляется в списке.<br /><br />Есть способ отправки ордера на инструмент, не представленный в данном списке. При создании ордера создаем инструмент сами, и отправляем ордер на него.<br />Пример:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var sec = new Security()
{
Code = "C",
Board = new ExchangeBoard()
{
Code = "BATS",
},
};</pre>
</div></div><br />Ордер отправится и появится в терминале, но фреймворк не ожидает такого развития событий и начинаются всякие глюки. Создается автоматически еще один ордер и работа идет уже с ним, а наш ордер с вручную созданным инструментом не обновляется. При отмене ордера он может продублироваться еще раз и т.п.<br /><br />Еще одна проблема связана с тем, что при отправке описанным выше способом ордера на какой-нибудь нестандартный роут, например "NSDQ", фреймворк его заблокирует и никуда не отправит. У меня в платформе к примеру есть отдельные роуты для стоп ордеров, соответственно на них тоже ничего не уходит ни в каком виде.<br /><br />В связи с этим просьба реализовать в будущих версиях какой-нибудь адекватный механизм отправки с отслеживанием ордеров на произвольные роуты без необходимости подписки на котировки, выполнения LookupSecurities() и какой-либо деятельности в терминале перед торговлей.https://stocksharp.ru/topic/4871/Проблема на реальном счете2015-01-26T18:17:31Z2015-01-26T18:17:31ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruПри переходе с демки на реальный счет возникла большая проблема - статусы ордеров не отслеживаются и трейды по ним в события не приходят.<br />В итоге невозможно управлять торговлей, все ордера висят со статусом Pending хотя сами давно исполнены.<br /><br />Порывшись в логах BWOrders_***.log и сравнив данные с реала и демки обнаружил вот такое:<br /><div class="code"><strong>Код</strong><div class="innercode">01-26 20:44:45.7797113: CLDX: assigned clientOrderID 709003001<br />01-26 20:44:45.7899932: <--- ORDER|UserID=***|Account=***|Sym=CLDX|Size=100|ShowSize=100|Price=22|Side=Buy|Status=|Venue=ARCAARCA|OrdID=|SmartID=|OrdRef=74673304|Time=|FIXDest=|FIXDestEx=|FIXTif=|FIXOrdType=|FIXPassThru=|PegDiff=|TarStrat=|PartRate=|TrailStopType=|TrailStopDelta=|OCOGroupID=|TrigGroupID=|ClOrdID=|OrigClOrdID=|OptOC=|Origin=|ExcLine=|ComplianceID=<br />01-26 20:44:45.9096152: CLDX: ORDER: smartID: 1244007345, clientOID: 709003001, executedSize: <br />01-26 20:44:45.9099055: CLDX: client id 709003001--> smart id 1244007345<br />01-26 20:44:45.9135822: CLDX: order ON_SERVER: SmartID 1244007345<br />01-26 20:44:45.9136358: ---> ORDER|UserID=***|Account=***|Sym=CLDX|Size=100|ShowSize=100|Price=22|Side=Buy|Status=Server|Venue=ARCAARCA|OrdID=1244007345|SmartID=1244007345|OrdRef=74673304|Time=26.01.2015 20:44:45|FIXDest=|FIXDestEx=|FIXTif=|FIXOrdType=|FIXPassThru=|PegDiff=|TarStrat=|PartRate=|TrailStopType=|TrailStopDelta=|OCOGroupID=|TrigGroupID=|ClOrdID=|OrigClOrdID=|OptOC=|Origin=|ExcLine=|ComplianceID=<br />01-26 20:44:45.9147199: CLDX: ORDER: smartID: 1244007345, clientOID: 709003001, executedSize: <br />01-26 20:44:46.2153285: CLDX: ORDER: smartID: 1244007345, clientOID: 709003001, executedSize: 0<br />01-26 20:44:46.2156051: CLDX: order ACCEPTED: SmartID 1244007345<br />01-26 20:44:46.2156416: ---> ORDER|UserID=***|Account=***|Sym=CLDX|Size=100|ShowSize=100|Price=22|Side=Buy|Status=Market|Venue=ARCAARCA|OrdID=1244007345|SmartID=1244007345|OrdRef=4A260BB1|Time=26.01.2015 20:44:45|FIXDest=|FIXDestEx=|FIXTif=|FIXOrdType=|FIXPassThru=|PegDiff=|TarStrat=|PartRate=|TrailStopType=0|TrailStopDelta=0|OCOGroupID=0|TrigGroupID=0|ClOrdID=|OrigClOrdID=|OptOC=|Origin=|ExcLine=WLDX|ComplianceID=<br />01-26 20:44:46.2156433: CLDX: ORDER: smartID: 1244007345, clientOID: 709003001, executedSize: 0<br />01-26 20:44:46.2158475: CLDX: ORDER: smartID: 1244007345, clientOID: 709003001, executedSize: 0<br />01-26 20:44:46.2158601: CLDX: order ACCEPTED: SmartID 1244007345<br />01-26 20:44:46.2158823: ---> ORDER|UserID=***|Account=***|Sym=CLDX|Size=100|ShowSize=100|Price=22|Side=Buy|Status=Market|Venue=ARCAARCA|OrdID=1244007345|SmartID=1244007345|OrdRef=4A260BB1|Time=26.01.2015 20:44:45|FIXDest=|FIXDestEx=|FIXTif=|FIXOrdType=|FIXPassThru=|PegDiff=|TarStrat=|PartRate=|TrailStopType=|TrailStopDelta=|OCOGroupID=|TrigGroupID=|ClOrdID=|OrigClOrdID=|OptOC=|Origin=|ExcLine=WLDX|ComplianceID=<br />01-26 20:44:46.2158834: CLDX: ORDER: smartID: 1244007345, clientOID: 709003001, executedSize: 0</div></div><br />Обратите внимание на поле OrdRef. Сначала OrdRef=74673304 как и ожидает робот, а потом брокер его меняет - OrdRef=4A260BB1.<br />Потому робот и не понимает что произошло, и все пришедшие статусы ордеров и трейды им не воспринимаются. Такие выводы я сделал из увиденного.<br /><br />Счет открыт через клиринг WedBush, ip адреса все из BlackwoodAddresses.WetBush, так что это не проблема какого-то другого Fusion.<br />Очень прошу поправить, т.к. торговать невозможно.https://stocksharp.ru/topic/4838/Exception при коннекте2014-12-08T20:38:30Z2014-12-08T20:38:30ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruВерсия API 4.2.43.0.<br />Поставил лимитный ордер и вышел из программы. Вручную отменил ордер в терминале.<br />Теперь при каждом запуске программы и нажатии на кнопку Connect вылезает ошибка:<br /><div class="quote"><span class="quotetitle">Цитата:</span><div class="innerquote">Сообщение 'Execution,T(L)=2014/12/08 23:36:44.018,T(S)=2014/12/08 23:02:44.547,(Order),Sec=S#:BAC@BATS, Native:,Type:,Ord=1502000104/0/82898715,Fail=,TId=0,Pf=,TPrice=0,UId=' привело к ошибке обработки.<br />System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: name<br />Source: StockSharp.Algo<br />StackTrace:<br /> в #=qRSgqEK9kPpq8wtjE2qcgXnNRwtcFCcofRT8H1i4p_oE=.#=q0JhWkLVm6c7cFpuZuwr9VzRKIOxTFm$qHa9D24uFkcc=(String #=qZaXlDsyvrJgcPoePCgTFmg==, Func`2 #=qrNKDzN46_CijV4tQBxXiVOGCJHZWz3WMn0PRb991N10=)<br /> в #=qRSgqEK9kPpq8wtjE2qcgXnNRwtcFCcofRT8H1i4p_oE=.#=q7Q0IAuSTWt2QsjFI7atzIw==(String #=qwf6NRA2YujdWX0KMVfQOJQ==)<br /> в #=qRSgqEK9kPpq8wtjE2qcgXnNRwtcFCcofRT8H1i4p_oE=.#=qDe0TvTura$96g2$NY$QhkaGp31qOBLo2PFuJbsw67Xc=.#=qM6CsGsKk9EPNWmIUYDGwCC3_bTThtre1YYk26Q$U1_4=(Int64 #=qSMo_QQfBAep2SiI0NGsZpw==)<br /> в #=qRSgqEK9kPpq8wtjE2qcgXnNRwtcFCcofRT8H1i4p_oE=.#=qJsJFwrWjN1Z56IM1b4AoyRvsN4gLhpPxwHZZumj2$bI=.#=qujc9ex4FHZqnZBvACrYDute9UN8VdrxmLtpfuM1NPCk=(Tuple`3 #=qcAemgJT6zcQHr$Fuy4sMdg==)<br /> в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler, Boolean& isNew)<br /> в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler)<br /> в #=qRSgqEK9kPpq8wtjE2qcgXnNRwtcFCcofRT8H1i4p_oE=.#=qNsFOm07zne$9l$0OK6AD5w==(Security #=qZnv1ygo4oQF0t9Jxt73v5g==, OrderTypes #=qDtuPYyUN$LhD5IexE5fYAA==, Int64 #=qSnqJojIdo7Es0T8EEhrDkw==, Int64 #=qU4C6foFwtENAg2rkF90VzQ==, String #=qN07K7e6PDEJ59nAQ2uOfmg==, Func`2 #=qPFYPseTucrmN57Y2sQ76wQ==, Boolean& #=qnOp_lwAel3EPOuQTTIY9Yw==, Boolean #=qtIBYpWheaixN$MQelQ6v7Q==)<br /> в #=qRSgqEK9kPpq8wtjE2qcgXnNRwtcFCcofRT8H1i4p_oE=.#=qfEnU1dx31GtZ9BxvvvKsnU75wGoxLxPbyr54SNSrWnY=(Security #=qGHmahGB8DGrzQNdP00iw5w==, ExecutionMessage #=qx6QhnQ8XgOKII0yZb18wRg==)<br /> в StockSharp.Algo.Connector.#=q3hx20x7Ww2SdF4FCv1jLqC1ACXKmtb2_9jKUSqkvWGc=(Security #=qxnCNiYtzxN0VBEiofK6yKA==, ExecutionMessage #=qZ2HYuKySqCoQBgNlaUXn7g==)<br /> в StockSharp.Algo.Connector.#=qLFCL01w5eLFhCa1yjA1zuumXIVk4VbbtSF8uymWICLA=.#=qVEBfi_7THor7h1XZh7VVPNndNy1RHolo1ahXmPFEaCw=(Security #=qJT1LC_aF9yWUITLPp9Y6lA==)<br /> в StockSharp.Algo.Connector.#=qLFCL01w5eLFhCa1yjA1zuumXIVk4VbbtSF8uymWICLA=.#=qIzUfK5V7gIWKva6QbLOMZvpXb9D8S$a7o_vMWmJfFXY=(Security #=qhx8fL9VD94$WgH1DnlGvpw==, ExecutionMessage #=qucYl5CxkLZwyl15klcLzhw==)<br /> в StockSharp.Algo.Connector.#=qETOePoBid_elfAn2vzbvyHFcM$_EyhSgJo3qoi$nxUQ=[TMessage](TMessage #=qE9HJVP_xcazKp6qoWNpmRw==, Func`2 #=qcbjPid7EOf5Lfb7YPwJMEg==, Action`2 #=qT5N5KfJWf6ctgLaDe55_$Q==, Boolean #=qzZfvIKuG2TIlLWRPh16CnoiRaUaF2pSCya6cYr$VMis=, String #=qWmSGrZrY_ul3FuezMhdzOuQPeLLyVvnbZ8cWUAoC8Eo=)<br /> в StockSharp.Algo.Connector.#=qHmnRaS0meA3XCn$1C$83WKZqTrLA4Jpc9YeWMbSaJb0=(ExecutionMessage #=qhUq7Y1IZPTToLRidkqjQ_g==)<br /> в StockSharp.Algo.Connector.OnProcessMessage(Message message, MessageAdapterTypes adapterType, MessageDirections direction)</div></div><br />Сделал еще один отмененный ордер, теперь таких сообщений вылезает два.https://stocksharp.ru/topic/4540/Проблема с лицензией при регистрации заявок2014-05-30T19:56:30Z2014-05-30T19:56:30ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruРаботаю в SampleBlackwood.<br />Лицензия выдана на аккаунт FUSDEMO01, к платформе подключается без проблем.<br />При попытке регистрации ордера возникает ошибка:<br />System.InvalidOperationException: Лицензия не поддерживает для адаптера StockSharp.Blackwood.BlackwoodTransactionMessageAdapter портфель FUSDEMO01~.https://stocksharp.ru/topic/4537/Время, по которому работает коннектор2014-05-29T18:19:10Z2014-05-29T18:19:10ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruНе совсем понятно зачем время, по которому работают американские биржи, преобразовывается в локальное время системы.<br />Например у меня стоит московское время, поэтому трейды и свечки приходят с текущим московским временем.<br />Это очень не удобно например если нужно сравнивать это время с временем работы бирж через ExchangeBoard.Nyse.WorkingTime, где время указано в их часовом поясе.<br />Приходится либо в обязательном порядке переставлять время в системе, либо делать в самой программе неочевидные преобразования, и программа в любом случае становится зависимой от текущего системного времени.<br />В связи с чем просьба вернуть исходное американское время в приходящие данные.https://stocksharp.ru/topic/4534/CandleManager2014-05-28T17:10:15Z2014-05-28T17:10:15ZВалентин Лебедевhttps://stocksharp.ru/users/50045/info@stocksharp.ruЕсть некоторые проблемы с CandleManager в коннекторе Blackwood.<br /><br />1. <div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
_candleManager = new CandleManager(Trader);</pre>
</div></div><br />Если создать CandleManager таким образом, то он не будет работать. Мало того, он еще и сломает событие Trader.NewCandles так, что по нему не будут приходить свечки, запрошенные через Trader.SubscribeCandles. Возможно он ломает что-то еще, у меня сразу вылезло только это.<br />Чтобы CandleManager все же заработал, приходится создавать его следующим образом:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
_candleManager = new CandleManager();
_candleManager.Sources.Add(new TimeFrameCandleBuilder()
{
Sources = {new TradeCandleBuilderSource(Trader)}
});</pre>
</div></div><br />Trader.NewCandles в этом случае работает нормально.<br /><br />2. <div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var series = new CandleSeries(typeof(TimeFrameCandle), Trader.Securities.First(), TimeSpan.FromMinutes(1));
_candleManager.Start(series);</pre>
</div></div><br />В данном случае CandleManager будет брать только трейды, соответствующие заданному инструменту с заданным ExchangeBoard. Учитывая что ECN много, придется под каждую создавать отдельную серию и запускать ее.<br />Отсюда просьба/пожелание, сделайте чтобы CandleManager брал инструмент по коду, не учитывая ExchangeBoard, т.е. брал со всех ECN. Ибо не думаю что кому-то будет интересно строить свечки с какого-то определенного источника.https://stocksharp.ru/topic/4486/api 4.2.3 LookupSecurities - бумаги все еще не приходят по событию2014-04-24T14:48:42Z2014-04-24T14:48:42Zyammmhttps://stocksharp.ru/users/6162/info@stocksharp.ruВроде написано что баг поправили, полез проверять, но все равно не приходит пустой массив.<br /><br />Дописал в код SampleBlackwood вот этот кусок кода:<br /><br />private void TraderOnConnected()<br /> {<br /> Trader.LookupSecuritiesResult += TraderOnLookupSecuritiesResult;<br /><br /> var criteria = new Security()<br /> {<br /> Code = "C"<br /> };<br /><br /> Trader.LookupSecurities(criteria);<br /> }<br /><br /> private void TraderOnLookupSecuritiesResult(IEnumerable<Security> securities)<br /> { // приходит пустой массив<br /> <br /> }<br /><br />p.s. чтобы не быть голословным прикладываю скриншот:<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACpWq9JR7T9Gim7RYcovatgWN6xdbtGr74nSG0o3sXEAA" title="http://i.imgur.com/bP2HwBp.jpg
">http://i.imgur.com/bP2HwBp.jpg
</a><br /><br />p.p.s что интересно, при добавлении тикера из GUI примера, тикер не добавляется в таблицу, ну а событие срабатывает, правда а сам массив также приходит пустой. А вот если взять любой из доступных в таблице "Инструменты" тикеров, и нажать кнопку level 1, то сразу же в событие приходит выбранный тикер. <br /><br />Скриншот тоже приложил: <br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACpWq9JR7T9Gim7RYcovatgmGA5mNHz0BoF1_7XxPRmWQ" title="http://i.imgur.com/PL7XL97.jpg">http://i.imgur.com/PL7XL97.jpg</a>https://stocksharp.ru/topic/4477/API 4.2.2.27 LookupSecurities - бумаги не приходят по событию2014-04-18T12:42:00Z2014-04-18T12:42:00Zyammmhttps://stocksharp.ru/users/6162/info@stocksharp.ruХотел присоединится к создателю этой ветки: <a href="http://stocksharp.com/forum/4458/API-4-2-2-24-poisk-instrumienta/
" title="http://stocksharp.com/forum/4458/API-4-2-2-24-poisk-instrumienta/
">http://stocksharp.com/fo...-24-poisk-instrumienta/
</a><br />Взял код из кнопки семпла блеквуда, там все работает и добавляется бумага ( в самом gui семпла) <br /> <br /> public void LoadSecurities()<br /> {<br /> _trader.LookupSecuritiesResult += TraderOnLookupSecuritiesResult;<br /><br /> var criteria = new Security<br /> {<br /> Code = "AАPL"<br /> };<br /><br /> _trader.LookupSecurities(criteria);<br /> }<br /><br /> private void TraderOnLookupSecuritiesResult(IEnumerable<Security> securities)<br /> { // приходит пустой массив<br /> <br /> }<br /><br /><br />upd: поправил тикерhttps://stocksharp.ru/topic/4458/API 4.2.2.24 поиск инструмента2014-04-07T19:04:03Z2014-04-07T19:04:03ZRamilhttps://stocksharp.ru/users/6374/info@stocksharp.ruВ версии 4.2.2.24 следующий код не приводит к поиску инструмента, котировки не идут<br /> if (security == null)<br /> {<br /> var criteria = new Security<br /> {<br /> Currency = CurrencyTypes.USD,<br /> Code = code,<br /> };<br /> MainWindow.Instance._trader.LookupSecurities(criteria);<br /> } <br /><br />Но есть один момент, если после поиска инструмента открыть компонент SecurityPicker, как в примере SampleBlackwood, то поиск срабатывает, если его не открывать то котировки получить невозможно.<br /><br />В версии 4.1.19 было все нормально, такой проблемы не было. Но новая лицензия созданная в ЛК не работает со старой версией Blackwood, поэтому на старой версии тоже остаться не получается.<br /> Как можно решить проблему?https://stocksharp.ru/topic/4344/API 4.2.2.6 несколько вопросов. Blackwood/Fusion2014-02-06T20:50:36Z2014-02-06T20:50:36ZSlashHammerhttps://stocksharp.ru/users/50360/info@stocksharp.ruДобрый день, в методе подписки на свечки<br /><b>trader.SubscribeCandles(candleSeries, <span style="color:red">DateTime</span>, DateTime)</b><br />есть нюанс: он нормально работает только если первый параметр даты (с какой даты получать) находится в промежутке времени с 5:00 до, примерно, 16:10 (в разные дни по разному +/- 10мин). Если время дня этого параметра не попадает в промежуток, то не приходят свечки текущей сессии, только свечки до конца предыдущей. Время указал по Киеву, для Москвы, соответственно +2<br />Так же пока не ясно как реализовать возможность риалтайм обновления последней свечки и получения новых, исторические свечки загружаются, но последняя остаётся статичной, и не обновляется, ну и новые не появляются, т.е. метод загружает только историю, новых данных не получает.<br />Trader.NewRealTimeCandle - рефлизации такого события в текущем API нет.<br />Неужели надо самому реализовавать формирование свечек на основании NewTrades?<br /><br />Теперь по событию:<br /><b>trader.SecuritiesChanged</b><br />В пришедших с событием объектах Security информация есть только в том случае, если <b>ExchangeBoard.Code</b> этого объекта с к-вом символов >= 4. Т.е. если <b>security.ExchangeBoard.Code == <span style="color:blue">"NYSE" || "NASDAQ"</span></b>, то тогда есть все остальные данные в этом объекте, если <b>ExchangeBoard.Code</b> с тремя символами, то все остальные свойства пустые. <br /><b>security.ExchangeBoard.Code</b> с четырмя и более символами приходит только в первых 1-2-ух событиях <b>SecuritiesChanged</b>, только тогда и можно увидеть инфу, дальше это событие приходит всегда только с тремя символами <b>ExchangeBoard.Code</b>, и соответственно, пустое. <br /><span style="color:blue"><b>"NYSE" || "NASDAQ"</b></span> в инструментах зависит от биржи размещения инструмента, например Майкрософт(MSFT) - <span style="color:blue"><b>NASDAQ</b></span>, а вот Банк оф Америка (BAC) - <span style="color:blue"><b>NYSE</b></span>. Дальше идут события с другими площадками, включая даркпулы (ADF), но всё пустое.<br />Вот <a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADCXgoGUv8QoXkH8d2sisSYKULmzD27s_Pbp6utrGbxGT5kgYRtJWbj6gH1M5WrCyg" title="http://screencast.com/t/HdvFOXFL8l">Скрин</a><br />Всё то же самое касается и события trader.NewTrades. <a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADCXgoGUv8QoXkH8d2sisSYep7BYr7vdF0sSgJ033w00_iBi74CU9GEfKoGyeBEOos" title="http://screencast.com/t/tjGRMxrW">Скрин</a><br /><br />Соответственно, из всех возможных данных в любой момент времени я могу получить только события:<br /><ul><br /><li><b>NewTrades</b>, в которых есть цена сделки и объём, но объект Security содержит только тикер акции и площадку где прошла сделка, никаких ценовых параметров этот объект не содержит (BestAsk, BestBid, BestPair, Asks/BidsCount, Asks/BidsVolume ...).<br /><li><b>NewSecurities</b>, содержит только ExchangeBoard, все остальные поля либо 0 либо null.<br /><li><b>SecuritiesChanged</b> содержит только ExchangeBoard, все остальные поля либо 0 либо null. Только первое событие пришедшее после StartExport несёт данные.<br /><li><b>PortfoliosChanged</b> содержит только RealizedPnL и UnrealizedPnL. Как узнать сколько у меня денег или BuyingPower непонятно.<br /></ul><br /><br />События связанные со стаканами вообще не приходят, для регистрации стакана использовал инструменты полученные непосредственно через BlackWood, а так-же через IQFeed(реализовывал одновременно два подключения, но стакан пытался зарегить через BlackWood). Кстати, а вот через коннектор IQFeed стакан есть, и события с ним связанные приходят, хотя для регистрации стакана использовал "самодельный" объект Security:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
var security = new Security
{
Code = "MSFT",
ExchangeBoard = new ExchangeBoard
{
Exchange = new Exchange()
},
};
</pre>
</div></div><br />т.е. полностью пустой объект, указан только тикер, и стакан по всем площадкам начинал обновляться.<br /><br />Для регистрации получения данных в <b>BlackWood </b>использовал методы:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
_trader.SubscribeMarketData(security,MarketDataTypes.LastTrade);
_trader.SubscribeMarketData(security,MarketDataTypes.Trades);
_trader.SubscribeMarketData(security,MarketDataTypes.BestQuotes);
_trader.SubscribeMarketData(security,MarketDataTypes.Candles);
_trader.SubscribeMarketData(security,MarketDataTypes.Level1);
_trader.SubscribeMarketData(security,MarketDataTypes.MarketDepth);
_trader.SubscribeMarketData(security,MarketDataTypes.OrderLog);</pre>
</div></div><br /><u>а так же аналогичные им <b>_trader.Register...</b></u><br />Всё что я регистрирую и субскрайблю данными методами, невозможно потом отрегить или отсубскрайбить <br />соответствующими методами <b>_trader.UnRegister...</b> или <b>_trader.UnSubscribe...</b> (UnSubscribeMarketData, UnSubscribeCandles),<br />хотя применяю весь набор инструментов одного тикера, но всех возможных площадок, полученных с обеих коннекторов.<br />Одним словом, поток данных в программу продолжается и всё время увеличивается с регистрацией на всё новые тикеры.<br /><br />Заключение: не могу получить хоть какой-нибудь риалтайм минимум данных в программу для принятия торговых решений, прошу помощи.https://stocksharp.ru/topic/332/S#. Вебинар для алготрейдеров на Америке (Nyse)2013-09-10T23:29:28Z2013-09-10T23:29:28ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ruВсе особенности программирования торговых роботов на Nyse!<br /><a href="http://stocksharp.com/products/pricing/" title="http://stocksharp.com/products/pricing/">DMA</a> платформа Fusion <a href="http://stocksharp.com/doc/?topic=html/89c3f13d-2602-446a-8c3d-5615b6f901b9.htm" title="http://stocksharp.com/doc/?topic=html/89c3f13d-2602-446a-8c3d-5615b6f901b9.htm">(BlackWood)</a><br /><br /><iframe width="560" height="350" src="https://player.vimeo.com/video/69308006?show_title=1&show_byline=1&show_portrait=1&&fullscreen=1" frameborder="0"></iframe><br /><br /><em>Видео уже подготовлено и отформатировано!</em>https://stocksharp.ru/topic/3864/Коннектор Blackwood(Fusion) глазами пользователя2013-07-27T10:25:30Z2013-07-27T10:25:30ZSavosRUhttps://stocksharp.ru/users/39556/info@stocksharp.ruДобрый день!<br />У меня есть лицензия StockSharp "Бесплатная Плюс". Соответственно, я могу пользоваться коннектором Blackwood(Fusion).<br />И, разумеется, сначала с ним нужно разобраться. Видео вебинара на Vimeo смотрел. Пробую повторить подключение, скажем, к Гидре.<br />Для начала. Затем будем пробовать Студию. И уже напоследок - WealthLab (благо адаптер для него тоже имеется на законных основаниях).<br /><br />Да, все картинки делаю кликабельными, ибо форум иногда сильно уменьшает размер вставляемых изображений... Итак, поехали!<br /><br />Пишем в саппорт, например, брокера GT-Capital, которые заявляют о поддержке работы с API от S#, и просим демо аккаунт на Fusion (это и есть бывший Blackwood, если не заморачиваться особо). Демо дают быстро, но обычно только на одну неделю и при этом многопользовательскую. То есть с тем же логином и паролем, который получите Вы, там же одновременно могут сидеть и еще несколько человек. И значит не надо удивляться, если в терминале увидите "чужие" сделки - это нормально для такого демо. Тем более, нам сейчас сам терминал и не нужен. Нам нужен прямой доступ к их серверу: а именно логин, пароль и (как я думал) IP-адреса.<br /><br />Теперь запускаем Гидру. Сами настройки в Гидре для коннектора Blackwood ничего сложного не представляют - именно те же логин, пароль, IP-адреса. Но вот тут сразу <b>первое "НО!"</b>.<br />Адрес, вбитый в настройках коннектора по-умолчанию, не совпадает с адресом, который указан в терминале Fusion!!! И если его сменить на тот, что указан в терминале, то получим ошибку при запуске Гидры на скачивание данных. Во всяком случае у меня так было. Так что адрес оставляем тот, что и был изначально! А вот логин и пароль вбиваем те, которые получили от GT-Capital. И не забываем указать директорию, куда сохранять данные!<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADyMdwVgy40oA0PybopSJgUm50Gm55L9AsRFoxc2OeIQKvh27eoTgGVYp4mgxNhOMp1X-l4_Dy17TYtn6Org0IB" title="http://gyazo.com/7d5e570d22bc8ada24b5802b738a93fc"><a href='http://gyazo.com/7d5e570d22bc8ada24b5802b738a93fc.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://gyazo.com/7d5e570d22bc8ada24b5802b738a93fc.png" style='max-width: 600px;' alt="Blackwood Setup 01" title="Blackwood Setup 01" /></a></a><br /><br />Конечно же, при включении источника "Blackwood" сама Гидра нас предупредит, что сейчас будет произведена закачка инструментов. И вот тут <b>второе "НО!"</b>.<br />Будьте готовы к тому, что Гидра "повиснет". Я именно потому взял в кавычки, что на самом-то деле процесс идет, но понять, что ничего не висит, нет никакой возможности. Надо просто поверить и ждать, причем ждать долго - ведь на западных биржах (а Blackwood нам по идее дает возможность выхода на такие биржи как NYSE, AMEX, NASDAQ и так далее) торгуются тысячи и тысячи инструментов!!! Ок - ждем. Я несколько раз прерывал этот процесс в первых попытках, ибо думал, что программа висит. Но Вы теперь предупреждены - значит у Вас все получится!<br />[biggrin] <br /><br />Наконец-то мы можем выбрать нужные нам инструменты. Я взял на пробу несколько. Настройка самих инструментов тоже не сложна - указали шаг цены 0.0001 (акции на том же NYSE обычно котируются с точностью до цента, но тут тоже могут быть нюансы - это отдельная тема, так что ставьте 0.0001, а то на электронных площадках иногда проскакивают и такие дробные цены). Размер лота же обычно на NYSE, NASDAQ и прочих западных биржах составляет ровно 100 акций. И не забываем, разумеется, включить в положение "ON" те переключатели, которые Вам нужны - я включил "сделки", "стаканы" и "изменения", жаль что "свечи" не доступны (надеюсь их потом можно из сделок сгенерировать)<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADyMdwVgy40oA0PybopSJgUpzty7yfBD6WQptzHXDrSNHTXM8twU_Sgu-5i2Zykk_VVJi-Ji1e6iMTli-S9aUOB" title="http://gyazo.com/ec7c3fe5f6dbc1b9c54dbc6866dace96"><a href='http://gyazo.com/ec7c3fe5f6dbc1b9c54dbc6866dace96.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://gyazo.com/ec7c3fe5f6dbc1b9c54dbc6866dace96.png" style='max-width: 600px;' alt="Blackwood Setup 02" title="Blackwood Setup 02" /></a></a><br /><br />И после всего этого со спокойной совестью запускаем процесс закачки данных. Для чистоты эксперимента я оставил включенным только источник "Blackwood" - "QUIK" и "Финам", которые на некоторых скриншотах могут быть видны, попросту выключены. <span style="color:red"><b>В результате целого дня работы</b></span> получаем ситуацию, которую я пока могу назвать только очередным, <b>третьим по счету "НО!"</b>. Правда, выхода из него я самостоятельно так и не нашел и надеюсь на помощь форума вообще и разработчиков в частности. Вот смотрите на скрин:<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADyMdwVgy40oA0PybopSJgUUAvxtHe-ZAtk6XTCIaDu__0urslFivCT6Oh8j33hwgy177ILNuQtTJxzgbKEJFNN" title="http://gyazo.com/484d5d2381cf8633841e06dbcb9115f3"><a href='http://gyazo.com/484d5d2381cf8633841e06dbcb9115f3.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://gyazo.com/484d5d2381cf8633841e06dbcb9115f3.png" style='max-width: 600px;' alt="Blackwood Work Wrong 01" title="Blackwood Work Wrong 01" /></a></a><br /><br />По какой-то неведомой мне причине закачиваются только изменения, ни сделок ни стаканов нет. Причем за целую торговую сессию на NYSE по одной акции (BMRN) уж точно могу сказать, что вчера прошла далеко не одна сделка [cursing]. Да и по остальным, разумеется, тоже. Счет идет на тысячи, десятки тысяч, может быть даже сотни тысяч, но почему-то этих данных мы не получили...<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADyMdwVgy40oA0PybopSJgUwCFAaeJMTcvKCjIEPjYmP0WYpdulkaSI0uOid7-QRn7Sl8BV8K41LgEuEkaOKWFh" title="http://gyazo.com/66625eae906eeaba866dd3ccd28ed862"><a href='http://gyazo.com/66625eae906eeaba866dd3ccd28ed862.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://gyazo.com/66625eae906eeaba866dd3ccd28ed862.png" style='max-width: 600px;' alt="BMRN Chart 5Min 25-26 July 2013" title="BMRN Chart 5Min 25-26 July 2013" /></a></a><br /><br />Вопрос по существу: прежде, чем продолжать дальше разбираться с данным коннектором (а я очень хочу продолжить!) кто-нибудь может мне объяснить, что из вышеперечисленных мною действий было сделано не так или почему тогда отсутствуют нужные данные в закачанных инструментах?<br /><br />Как говорится, не переключайтесь, оставайтесь с нами! Я, во всяком случае, надеюсь на продолжение...https://stocksharp.ru/topic/3773/Доступность коннектора2013-06-23T14:22:14Z2013-06-23T14:22:14Zyar1k0vhttps://stocksharp.ru/users/6437/info@stocksharp.ruДоброго времени суток! <br />Можно ли получить доступ к коннектору без прохождения курса обучения у вас.<br />Нужен именно этот. Спасибо =)https://stocksharp.ru/topic/3708/Blackwood (Fusion) коннектор2013-05-20T13:30:25Z2013-05-20T13:30:25ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruОписание работы <a href="http://stocksharp.com/doc/?topic=html/89c3f13d-2602-446a-8c3d-5615b6f901b9.htm" title="http://stocksharp.com/doc/?topic=html/89c3f13d-2602-446a-8c3d-5615b6f901b9.htm">http://stocksharp.com/do...6a-8c3d-5615b6f901b9.htm</a>