Вопрос по асинхронному режиму и классу стратегии~/topic/990/vopros-po-asinhronnomu-rezhimu-i-klassu-strategii/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T17:29:51Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/2710/Да ваш вариант намного проще, но я еще не разбирался с добавлением завок в стратегию и сначала прове...2010-05-26T00:09:00Z2010-05-26T00:09:00ZDordhttps://stocksharp.ru/users/28269/info@stocksharp.ruДа ваш вариант намного проще, но я еще не разбирался с добавлением<br />завок в стратегию и сначала проверял максимальную скорость выставления<br />заявок и возможность работы по меняющимся лимитам на объем активных<br />ордеров.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2709/Так я думаю Вы явно идете не той дорогой. Вернее, направление то, но очень окольно. Вот же простое р...2010-05-25T19:12:00Z2010-05-25T19:12:00ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruТак я думаю Вы явно идете не той дорогой. Вернее, направление то, но<br />очень окольно. Вот же простое решение:<br /><br />Strategy.Orders.Where(o => o.State == OrderStates.Active).Count() ><br />maxActiveCount<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2708/"Квик перешлет TransID и биржевой номер" Если биржевой номер и есть ID, то этого мне достаточно. В п...2010-05-25T19:02:00Z2010-05-25T19:02:00ZDordhttps://stocksharp.ru/users/28269/info@stocksharp.ru"Квик перешлет TransID и биржевой номер" Если биржевой номер и есть<br />ID, то этого мне достаточно. В принципе мне нужен любой номер Ordera<br />без разницы TransID или ID, я после RegisterOrder() добавляю его по<br />номеру в список ордеров на исполнение, чтобы постоянно контролировать<br />необходимый объем активных заявок. И это мне нужно делать в классе<br />стратегии чтобы не привысить лимит на активные заявки.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2707/Да, когда биржа примет заявку, Квик перешлет TransID и биржевой номер. Заявка отправлена и зарегистр...2010-05-25T18:17:00Z2010-05-25T18:17:00ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruДа, когда биржа примет заявку, Квик перешлет TransID и биржевой номер.<br /><br />Заявка отправлена и зарегистрирована - ITrader.NewOrders. Насчет<br />номера - напишите по подробнее.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2706/Тогда при выполнении RegisterOrder() в асинхронном режиме от квика придет ID? Мне просто необходимо ...2010-05-25T17:43:00Z2010-05-25T17:43:00ZDordhttps://stocksharp.ru/users/28269/info@stocksharp.ruТогда при выполнении RegisterOrder() в асинхронном режиме от квика<br />придет ID?<br />Мне просто необходимо знать, что заявка отправлена и ее номер для<br />работы логики в моей стратегии.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2705/TransID генерируется Stock# - http://stocksharp.com/doc/help/html/T_Ecng_Trading_BusinessEntities_Tr...2010-05-25T17:32:00Z2010-05-25T17:32:00ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruTransID генерируется Stock# -<br /><br /><a href="http://stocksharp.com/doc/help/html/T_Ecng_Trading_BusinessEntities_TransactionIdGenerator.htm" title="http://stocksharp.com/doc/help/html/T_Ecng_Trading_BusinessEntities_TransactionIdGenerator.htm">http://stocksharp.com/doc/help/html/T_Ecng_Trading_BusinessEntities_TransactionIdGenerator.htm</a><br /><br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2704/1. Так получается метод RegisterOrder() отправляет транзакцию в квик и квик присвает TransactionID з...2010-05-25T16:50:00Z2010-05-25T16:50:00ZDordhttps://stocksharp.ru/users/28269/info@stocksharp.ru1. Так получается метод RegisterOrder() отправляет транзакцию в квик и<br />квик присвает TransactionID заявке.<br />А дальше что происходит в асинхронном режиме:<br />1) квик отправляет TransactionID назад в программу и завершает<br />исполнение метода RegisterOrder() и дальше отправляет заявку на биржу?<br />2) или квик сначала отправляет заявку на биржу, та присваивает ей<br />номер(кстати этот номер - Order.ID или что-то другое?) после некоторых<br />проверок и после прихода номера в квик, квик отправляет его в<br />программу и завершает исполнение метода RegisterOrder()?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2703/TransactionID - это чисто Квик специфик. В биржей общение тоже идет по такому индентификатору, но он...2010-05-25T16:11:00Z2010-05-25T16:11:00ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruTransactionID - это чисто Квик специфик. В биржей общение тоже идет по<br />такому индентификатору, но он другой.<br /><br />1. Насколько я понял вопрос, да.<br />2. Да, про интервал. Стратегия может обрабатываться только одним<br />потоком.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2702/1. Ваши тесты по ссылке я читал, но видимо не так понял. Получается при асинхронном режиме транзакци...2010-05-25T15:08:00Z2010-05-25T15:08:00ZDordhttps://stocksharp.ru/users/28269/info@stocksharp.ru1. Ваши тесты по ссылке я читал, но видимо не так понял. Получается<br />при асинхронном режиме транзакция через апи поступает в квик, он<br />формирует заявку и отправляет ее на биржу, биржа после некоторых<br />проверок присваивает заявке TransactionID который отправляет назад в<br />квик, а тот уже отправляет эти данные в программу. Поэтому время<br />выполнения этого участка кода зависит и от скорости канала до сервера<br />брокера и от того как быстро сервер обработает заявку присвоив ей<br />номер, теперь правильно понял?)<br /><br />"2. После окончания работы OnProcess." Это ответ на вопрос про<br />интервал в стратегии?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2701/1. Нет. Биржа работает в асихнронном режиме. Тоесть она не сразу выставляет заявку, а присвыивает ей...2010-05-25T14:25:00Z2010-05-25T14:25:00ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ru1. Нет. Биржа работает в асихнронном режиме. Тоесть она не сразу<br />выставляет заявку, а присвыивает ей номер после некоторых проверок. В<br />асинхронном режиме Квик не блокирует поток для получения этого самого<br />номера. И выдает номер в последствии через событие. Так что как раз<br />наоборот, в сихнронном режиме Квик не доступен, что я и показал в<br />тестах<a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABSPcEqI0ATrgKHUCtM97F-JU-J5UfsNRSbDZHIf7GAKrL7f_AgTQyG8cpJx1musvA-jG3kO73slbW-XK_w0pdA" title="http://stockmarketdotnet.blogspot.com/2010/03/blog-post.html">http://stockmarketdotnet.blogspot.com/2010/03/blog-post.html</a><br /><br /><br />2. После окончания работы OnProcess.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2700/1. Как я понял при асинхронном режиме мы ждем ответа только от квика, что он получил транзакцию. Пол...2010-05-25T14:19:00Z2010-05-25T14:19:00ZDordhttps://stocksharp.ru/users/28269/info@stocksharp.ru1. Как я понял при асинхронном режиме мы ждем ответа только от квика,<br />что он получил транзакцию.<br />Получается что во время отправки транзакции транзквик не доступен, для<br />выставления другой заявки. То как скоро это заявка придет на биржу и<br />впоследствии появится у меня в квике в таблице заявок меня мало<br />интересует. Меня больше интересует время работы транзквика на отправку<br />заявки в квик и то как скоро я могу отправить следующую. Еще маленько<br />не понятно если интервал например 1 мс, метод OnProcess стратегии<br />будет вызываться через 1 мс после окончания работы предыдущего вызова<br />метода OnProcess или через 1 мс после начала работы метода OnProcess<br />он будет вызываться еще 1 раз?<br />И еще подскажите как подсчитать время затраченное компьютером на<br />выполнение какого-либо куска кода программы?<br />2. А после регистрации ордера в квике Balance и Volume будут<br />одинаковыми если зявка еще даже не отправлена на биржу?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2699/1. Интервал стратегии влияет на скорость реалирования на изменения рынка. На скорость выставления вл...2010-05-25T13:29:00Z2010-05-25T13:29:00ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ru1. Интервал стратегии влияет на скорость реалирования на изменения<br />рынка. На скорость выставления влияет сервер брокера. Минимальный<br />интверва - это 0. Тогда будет стратегия вызываться вообще без<br />ожидания. Но думаю, у Вас компьютер не выдержит и подвиснут все другие<br />приложения. Насчет очередей, нет такого.<br />2. Нет, при частичном исполнения заявка не переходит в состояние<br />Matched. Она по прежнему Active, но у нее изменился Balance.<br />3. Если разная логика у стратегий - зачем их вообще сравнивать в<br />сумме? Это даст какой-то показатель? А так, есть классы<br />TraderPnLManager TraderSlippageManager и т.д.<br />4. Думаю, на Квик это вообще не влияет, сколько именно стратегий. Он<br />обрабатывает тразнакции одну за другой в очереди.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/2698/Здраствуйте. 1) Мне необходима максимальная скорость выставления заявок, поэтому был поставлен интер...2010-05-24T21:41:00Z2010-05-24T21:41:00ZDordhttps://stocksharp.ru/users/28269/info@stocksharp.ruЗдраствуйте.<br />1) Мне необходима максимальная скорость выставления заявок, поэтому<br />был поставлен интервал стратегии 125мс. Это 8 срабатываний в секунду<br />без учета факторов времени работы логики стратегии и отправке<br />транзакции в квиковский апи. Насколько я понял интервал играет роль<br />sleepa передавая управление потоку стратегии. Вопрос в том какой<br />минимальный интервал можно поставить, не будет ли создаватся очередей<br />на выполнение стратегии ну или чего-то подобного?<br />2) При частичном выполнении заявки она переходит в состояние<br />исполненная, а биржа создает заявку на оставшийся невыполненным объем<br />ордера и у этого ордера будет ID биржи? Получилось что не сталкивался<br />пока что с таким вариантом событий и хотелось бы знать чего ожидать.<br />3) Если разнести на 2 разных класса стратегии логику на покупку и на<br />продажу по одному инструменту, то значения выводимые менеджерами PnL,<br />позиции, задержки и тд придется как-то суммировать?<br />4) И еще скорость работы от разных классов стратегии не возрастет<br />потому как они будут по очереди занимать транзквик? <br /> Copyright @ StockSharp Platform LLC 2010 - 2024