Mikhail Sukhov
|
Date: 2/22/2011
aspirant:
По просьбе Михаила, хочу собрать воедино весь более-менее подробный список задач. Пишите в эту тему, у кого что есть? Если есть задачи, которыми можно поделиться указывайте отдельно. Спасибо.
У тебя своих нет?
http://stocksharp.com/forum/1372/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
_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.
Начал дебаггить. Перед вызовом```
var srvAddress = _connection.ResolveService("FORTS_SRV");
нужно включить соединение```
_connection.Connect();
Я его добавил и обрамил комментариями
|
|
|
|
Thanks:
|
|
|
|
|
|
Mikhail Sukhov
|
Date: 3/8/2011
|
|
|
|
|
aspirant:
Уже можно вручную подключиться к таблице opt_vcb потока FORTS_OPTINFO_REPL
_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:
public 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 =>
);
}
});
}
}
|
|
|
|
Thanks:
|
|
|
|
|