Mikhail Sukhov
|
Date: 2/22/2011
aspirant По просьбе Михаила, хочу собрать воедино весь более-менее подробный список задач. Пишите в эту тему, у кого что есть? Если есть задачи, которыми можно поделиться указывайте отдельно. Спасибо. У тебя своих нет? http://stocksharp.com/fo...372/2skuvv--PlazaError/ надо разобраться, что нам skuvv принес такое [biggrin]
|
|
Thanks:
|
|
|
|
|
aspirant
|
Date: 2/22/2011
Mikhail Sukhov У тебя своих нет? - Доделать PlazaStream (поток репликации Плазы): получение и хранение данных, возможность сохранения и загрузки конфигов в родном формате Плазы, создание пула CP2ConnectionClass'ов для асинхронного получения данных
- Разработать систему фильтрации данных, приходящих в потоках репликации
Первое беру на себя, второе, если затяну с первым, свободно.
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/24/2011
Добавляю из старых:
- Составные инструменты.
- На форуме доступна x64 версия. Нужна прозрачная поддержка (без перекомпиляции) x86 и x64
- Документация (как xml, так и обычная). Если нужно сделать как у S#, то необходимо использовать Sandcastle.
|
|
Thanks:
|
|
|
|
|
aspirant
|
Date: 3/6/2011
aspirant - Доделать PlazaStream (поток репликации Плазы): получение и хранение данных, возможность сохранения и загрузки конфигов в родном формате Плазы, создание пула CP2ConnectionClass'ов для асинхронного получения данных
- Разработать систему фильтрации данных, приходящих в потоках репликации
Первое беру на себя, второе, если затяну с первым, свободно. В принципе с первым закончил. Насчет фильтрации думаю подождать до первого внедрения. Я теоретик, и пока не совсем представляю, по каким полям и в каком виде нужно делать фильтрацию. Если у кого-то есть мысли, пишите, или кто-то готов подхватить, рад поделиться. Сейчас готов взяться за что-то другое. Тем более что с временем стало получше.
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/7/2011
aspirant В принципе с первым закончил. Насчет фильтрации думаю подождать до первого внедрения. Я теоретик, и пока не совсем представляю, по каким полям и в каком виде нужно делать фильтрацию. Если у кого-то есть мысли, пишите, или кто-то готов подхватить, рад поделиться.
Ждать уже не нужно - я добавил SampleGUI. Пора уже смотреть, как работает PlazaTrader. Сейчас уже можно получить список инструментов? Я вчера пытался соединиться с Plaza из SampleGUI, и получил ошибку AccessViolationException. Забыл, что она означает. Но в памяти осталось, что-то из настроек. Нужно ли указывать логин пароль в роботе если он прописан уже в роутере?
|
|
Thanks:
|
|
|
|
|
aspirant
|
Date: 3/7/2011
Mikhail Sukhov Я вчера пытался соединиться с Plaza из SampleGUI, и получил ошибку AccessViolationException. Забыл, что она означает. Но в памяти осталось, что-то из настроек.
Скорее всего, либо VS2010 либо сама программа запущена не под админом. Все файлы-конфиги лежат в C:\Program Files\P2FORTSGate, и для редактирования файлов требуется админский доступ. В принципе в файле настроек можно заранее прописать все настройки (логин, пароль, сервер подключения и порт), чтобы не редактировать их на лету. Mikhail Sukhov Нужно ли указывать логин пароль в роботе если он прописан уже в роутере?
Нет
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/8/2011
aspirant Mikhail Sukhov Я вчера пытался соединиться с Plaza из SampleGUI, и получил ошибку AccessViolationException. Забыл, что она означает. Но в памяти осталось, что-то из настроек.
Скорее всего, либо VS2010 либо сама программа запущена не под админом. Все файлы-конфиги лежат в C:\Program Files\P2FORTSGate, и для редактирования файлов требуется админский доступ. В принципе в файле настроек можно заранее прописать все настройки (логин, пароль, сервер подключения и порт), чтобы не редактировать их на лету. Они должны лежать локально. Но это вроде при создании потока. Сейчас уже создаются сами через PlazaTrader? aspirant Mikhail Sukhov Нужно ли указывать логин пароль в роботе если он прописан уже в роутере?
Нет А какой адрес? localhost? Кстати, если логин пароль не нужно указывать, на лицо необработанная ситуация с конструкторами PlazaTrader.
|
|
Thanks:
|
|
|
|
|
aspirant
|
Date: 3/8/2011
Mikhail Sukhov Сейчас уже можно получить список инструментов?
Уже можно вручную подключиться к таблице opt_vcb потока FORTS_OPTINFO_REPL Code_plazaConnectionPool = new PlazaConnectionPool("localhost", 3001); _plazaStreamManager1 = new PlazaStreamManager(_plazaConnectionPool, TRequestType.RT_COMBINED_DYNAMIC, 500);
var plazaTable = new PlazaTable(PlazaTableTypes.Position, PlazaColumns.Options, PlazaColumns.Options.GetAllColumns()); _plazaStreamManager1.AddStream("opt_vcb", plazaTable);
_plazaStreamManager1.Start();
Правда "маленький" нюанс: при подключении с сервера приходит ошибка (не сразу, через некоторое время). Аналогичный код для подключения к другим таблицам, например к индексу РТС, работает без проблем. Завтра напишу вопрос в поддержку РТС.
|
|
Thanks:
|
|
|
|
|
aspirant
|
Date: 3/8/2011
|
|
|
|
Mikhail Sukhov Они должны лежать локально. Но это вроде при создании потока. Сейчас уже создаются сами через PlazaTrader?
У Плаза есть конфиги программы и конфиги-схему таблиц потоков репликации. Первые (самый главный client_router.ini) редактируются через ClientRouterConfigParser, вторые (по примеру файлов, лежащих в подпапке Scheme) создаются на лету. Два момента: - После редактирования первых конфигов нужно обязательно перезагружать роутер.
- В теории создавать первые конфиги на лету тоже можно. Но я бы не стал: путь к client_router.ini указывается в коммандной строке сервиса Windows роутера (и прописывается в системном реестре). Придется колдовать и с этим.
Mikhail Sukhov А какой адрес? localhost?
Путь указывать к компу, на котором установлен роутер, т.е. localhost, если у тебя все на одной машине. Mikhail Sukhov Кстати, если логин пароль не нужно указывать, на лицо необработанная ситуация с конструкторами PlazaTrader.
Начал дебаггить. Перед вызовом Codevar srvAddress = _connection.ResolveService("FORTS_SRV"); нужно включить соединение Code_connection.Connect(); Я его добавил и обрамил комментариями
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/8/2011
|
|
|
|
aspirant Уже можно вручную подключиться к таблице opt_vcb потока FORTS_OPTINFO_REPL Code_plazaConnectionPool = new PlazaConnectionPool("localhost", 3001); _plazaStreamManager1 = new PlazaStreamManager(_plazaConnectionPool, TRequestType.RT_COMBINED_DYNAMIC, 500);
var plazaTable = new PlazaTable(PlazaTableTypes.Position, PlazaColumns.Options, PlazaColumns.Options.GetAllColumns()); _plazaStreamManager1.AddStream("opt_vcb", plazaTable);
_plazaStreamManager1.Start();
Да, это очень хорошо. Но данные из потока не так интересны. Их нужно перегнать в объект Security. Как это сделать. Допустим, PlazaTrader имеет метод-обработки поступления новых данных из потока opt_vcb: Codepublic class PlazaTrader { private void OnNewDataFromOptVcb(object[][] valuesArray) { base.ProcessEvents(() => // чтобы событие NewSecurities вызвалось один раз для все инструментов { foreach (var values in valuesArray) { // в GetSecurity если до этого такого инструмента не было (проверяется по значению в values[0]) // вызывается NewSecurities, если же был инструмент - SecuritiesChanged. base.GetSecurity((string)values[0], sec => { sec.Name = values[1]; sec.Code = values[2]; ... }); } }); } }
|
|
Thanks:
|
|
|
|