MultiTrader~/topic/837/multitrader/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T10:52:08Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/1242/Да, так будет правильнее и изящнее. 2010-07-02T12:46:00Z2010-07-02T12:46:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comДа, так будет правильнее и изящнее.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1241/Конечно. 2010-07-02T12:45:00Z2010-07-02T12:45:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comКонечно.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1240/У меня первоначальная задумка была такая: в моей программе можно иметь возможность работать как с ра...2010-07-02T02:56:00Z2010-07-02T02:56:00ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.comУ меня первоначальная задумка была такая:<br />в моей программе можно иметь возможность работать как с разными<br />папками квиков, так и с разными субсчетами. поэтому в настройках мы<br />задаём счёт + путь до квика, добавляем всё это в multitrader и удобно<br />работаем.<br /><br />сейчас, видимо, придётся это сузить до:<br />для каждого пути берём первый попавшийся счёт, добавляем в<br />multitrader. А отдельно храним мэп <счёт, стратегия на которой<br />запускать данный счёт>. И при создании стратегии просто передаём туда<br />целиком MultiTrader и устанавливаем счёт в нужный. Как-то так, верно?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1239/А как тогда должен выглядеть робот, если хочется получить доступ к разным субсчетам? Просто использо...2010-07-02T02:45:00Z2010-07-02T02:45:00ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.comА как тогда должен выглядеть робот, если хочется получить доступ к<br />разным субсчетам?<br />Просто использовать один QuikTrader, передавая в каждую стратегию<br />отдельный субсчёт?<br /><br />Попробую завтра с утра тогда немного переписать свою архитектуру и<br />заодно посмотрю, не пропала ли ошибка с позициями.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1238/В догонку. MultiTrader - для работы с разными платформами. Разные Квики, Квик и Смарт, Смарт и еще ч...2010-07-02T02:24:00Z2010-07-02T02:24:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comВ догонку. MultiTrader - для работы с разными платформами. Разные<br />Квики, Квик и Смарт, Смарт и еще что. Но не одно и то же. Весь смысл<br />просто теряется.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1237/1. А смысл из одной программы делать два подключение к одному и тому же Квик? 2. Насчет делать прове...2010-07-02T02:23:00Z2010-07-02T02:23:00ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com1. А смысл из одной программы делать два подключение к одному и тому<br />же Квик?<br />2. Насчет делать проверки. Я их специально и вставил, чтобы не<br />создавали одинаковые QuikTrader (один и тот же путь к Квику и ДДЕ<br />сервер).<br />3. Конечно же. Квик не умеет экспортировать сразу в несколько программ<br />одновременно одну и ту же таблицу. Так что тут неважно, как работает<br />MultiTrader. Просто данные буду поступать только в один из QuikTrader.<br />4. У MultiTrader нет события ProcessUnknownDdeData .<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/1236/Решил всё же создать отдельную тему для MultiTrader. У меня логика в роботе такая - есть несколько с...2010-07-02T01:45:00Z2010-07-02T01:45:00ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.comРешил всё же создать отдельную тему для MultiTrader.<br />У меня логика в роботе такая - есть несколько стратегий-роботов,<br />которые запускаются на одном квике, но на разных субсчетах (каждый<br />робот-стратегия - на отдельном субсчёте).<br /><br />Соответственно, я создаю MultiTrader и добавляю в AggregatedTraders<br />счёт \ созданный QuikTrader (через конструктор, в который передаётся<br />один лишь путь до папки). Естественно, второй QuikTrader с таким же<br />путём мне добавить не дают - возникает исключение. Обхожу я это с<br />помощью мэпа-словаря: <pathToQuik.ToLower(), QuikTrader>. И не создаю<br />таким образом повторно QuikTrader. Но на мой взгляд, такая логика<br />должна быть внутри MultiTrader. Если я не прав - можно оставить как<br />есть, но стоит как-то пометить в документации для будущих поколений, я<br />потратил на то, чтоб это обнаружить какое-то время.<br /><br />Вторая проблема, которую пока не решил - возникает эксепшен если<br />вызвать Disconnect для такой же структуры MultiTrader. Я так понимаю<br />вызывается Disconnect для каждого из AggregatedTraders, но т.к., по<br />сути, они все одинаковые (просто с разными счетами) - он успешно<br />завершится для первого, а дальше выскочит эксепшен.<br /><br />Следующий момент, который не особо нравится - при такой же структуре<br />MultiTrader и при вызове метода StartExport для MultiTrader вначале<br />запустится StartExport для первого из AggregatedTraders. Затем, для<br />второго из списка экспорт вначале остановится (т.к. он уже был запущен<br />- опять же, QuikTraders ведь одинаковые, различаются только счета), и<br />потом опять запустится. И так для каждого.<br />Мне это мешало, потому я стал хранить список из различных QuikTraders<br />и для каждого элемента из списка вызывать StartExport.<br />Но, опять же, на мой взгляд, было бы здорово это всё запрятать внутрь<br />архитектуры MultiTrader.<br /><br />Пока расписывал возник такой вопрос - если поставить обработчик<br />события ProcessUnknownDdeData для элемента класса MultiTrader - он<br />установится для каждого из элементов AggregatedTraders? Если да, тут,<br />опять же, как мне кажется, стоит устанавливать лишь на различные<br />элементы QuikTraders (сейчас я это делаю храня список различных квиков<br />и устанавливая событие для каждого из них - получается, само понятие<br />MultiTrader у меня очень смазано). <br /> Copyright @ StockSharp Platform LLC 2010 - 2024