Публичный бета тестинг

Публичный бета тестинг
Atom
5/17/2011
Mikhail Sukhov


Выложил PlazaTrader на http://box.net/plaza Исходники самого PlazaTrader, исходники примера, Plaza dll и Plaza + S# dll (последнее не нужно, если уже используется S#).

В следствие бета тестирования буду обновлять только библиотеку Ecng.Trading.Plaza.dll. В релиз войдет все. Налетаем.[smile]

upd Теперь PlazaTrader часть дистрибутива S#, поэтому просто качайте последнюю версию http://box.net/stocksharp/ . Сборка называется StockSharp.Plaza.dll

Tags:


Thanks:


<< < 2 3 4 5 6  > >>
aspirant

Avatar
Date: 6/9/2011
Reply


esper
Mikhail Sukhov
1. Для этой версии все таки ввернуть поддержку базового клиента (в виде опции). Надеюсь, это не сложно.

А если просто ревизии по таблицам сохранять между сессиями? Тогда при переподключении будем скачивать только новые данные.


Добавить одну строчку действительно было несложно:
Code
this.DataStream.DBConnString = "P2DBSQLite3.dll;sqlite3.ini;{0}.db".Put(this.Table.UniqueName.Replace('\\', '_'));


Но при тестировании возникла проблема: если между сессиями меняешь набор колонок в таблице, приходится удалять db файл, и получать данные с нуля. То есть, если пользователь запустил PlazaTrader, инициализировал таблицу 1 с колонками 1,2,3,4, накачал данных, вышел. Подумал-подумал, понял, что нужна еще колонка 5, и добавил ее в инициализацию. Снова запустил PlazaTrader и получил исключение, потому что в db файле в таблице только колонки 1,2,3,4, а плазовсий роутер не умеет менять схему таблиц в db файлах, он только создает их с нуля.

Еще: я до конца не разобрался, но, вроде, вытаскивать данные из локальной базы данных (db файл или SQL Server) мы должны сами.

Подводя итог, предлагаю временный гибридный вариант:
  • стаканы: ЛИБО делаем все колонки обязательными (там только одна необязательная: Moment) и при старте получаем данные из локального хранилища, ЛИБО каждый раз получаем с нуля.
  • все остальное: храним ревижены между запусками.


Еще 2: у всех таблиц есть индексы (см. ini файлы-схемы). Для безбазового клиента они не нужны, поэтому я их не делал (нужно лопатить каждый класс в метаданных). Без индексов таблицы создаются, но они ведь не зря указываются в файлах-схемах.
Thanks:

TestPlaza

Avatar
Date: 6/9/2011
Reply


Приветствую!
Захотелось проверить старую разработку через Плазу. Переписал робота, получил боевой логин. При запуске программы бросается месседж: "Ошибка подключения к серверу Плазы"
Может кто-нибудь написать небольшую инструкцию, как подготовить машину для работы с Плазой через Вашу библиотеку?
Thanks:

aspirant

Avatar
Date: 6/9/2011
Reply


TestPlaza
Приветствую!
Захотелось проверить старую разработку через Плазу. Переписал робота, получил боевой логин. При запуске программы бросается месседж: "Ошибка подключения к серверу Плазы"
Может кто-нибудь написать небольшую инструкцию, как подготовить машину для работы с Плазой через Вашу библиотеку?


К какому серверу подключаетесь (см. файл client_router.ini)? Пришлите лог P2SimpleReplClient.log.

Инструкцию сейчас пишу. Как и вся документация, идет не так быстро, как хотелось бы[sad]
Thanks:

Mikhail Sukhov

Avatar
Date: 6/9/2011
Reply


TestPlaza
Приветствую!
Захотелось проверить старую разработку через Плазу. Переписал робота, получил боевой логин. При запуске программы бросается месседж: "Ошибка подключения к серверу Плазы"
Может кто-нибудь написать небольшую инструкцию, как подготовить машину для работы с Плазой через Вашу библиотеку?


Дайте угадаю, в примере ввели логин пароль в текстовый поля? Оставьте их пустыми и просто нажимайте кнопку Подключиться.
Thanks:

TestPlaza

Avatar
Date: 6/10/2011
Reply


Подключаюсь на 194.247.133.25:4001.
Нет, ваш пример я даже не собирал, сразу работаю со своим роботом.
2aspirant: Вечером на ваше мыло сброшу лог.

Может быть проблема с тtм, что я сам не ставил роутер. А использовал тот, который устанавливается с программой LTS Direct.
Thanks:

esper

Avatar
Date: 6/10/2011
Reply


TestPlaza
Подключаюсь на 194.247.133.25:4001.
Нет, ваш пример я даже не собирал, сразу работаю со своим роботом.
2aspirant: Вечером на ваше мыло сброшу лог.

Может быть проблема с тtм, что я сам не ставил роутер. А использовал тот, который устанавливается с программой LTS Direct.

Лог так же можно сбросить на help@rts.ru, техподдержка у них достаточно оперативная
Thanks:

lkor

Avatar
Date: 6/10/2011
Reply


TestPlaza
Подключаюсь на 194.247.133.25:4001.
Нет, ваш пример я даже не собирал, сразу работаю со своим роботом.
2aspirant: Вечером на ваше мыло сброшу лог.

Может быть проблема с тtм, что я сам не ставил роутер. А использовал тот, который устанавливается с программой LTS Direct.


Если вы подключаетесь к тестовому серверу то адрес должен быть 194.247.133.43:3001 (или beta-forts.rts.ru:3001 что одно и то же). Соберите пример, проверьте работает ли он. Если да, то проблема в вашем приложении, если нет, то нада искать проблему в роутере. Ссылки на установщики роутеров есть тут.
Thanks:

TestPlaza

Avatar
Date: 6/14/2011
Reply


Я подключаюсь к боевоему серверу. С тех.поддержкой РТС не связывался, так как может проблема в неправильном использовании Вашего фреймворка.
Удалил роутер который устанавливался с LTSD. Установил P2_ClientGate1.11.5_32.exe c ftp РТС. Это не решило проблему - "Ошибка подключения к серверу Плазы"

Лог роутера
Quote:
[p2syslog:trace:p2mq-cli]
MQ library started=1
info=1
New connection created;mq-conn 0x%X=0
Socket created;conn 0x%X;sock 0x%X=0
Socket connected;conn 0x%X;host '%s';port %u=1
Recv completed;;conn 0x%X;count %d; data %#.*Z=0
CConnection::RecvLLMsg();InHdr %d;recvLen %d;recvRem %d=0
CConnection::RecvLLMsg();system_type 0x%X=0
LLMsg received;mq-conn 0x%X;type 0x%X;ver 0x%X;len %u;flags 0x%X;sign 0x%X%X%X%X;body %#.*Z=0
RecvLLMsg() finished;res %X;inHdr %d;recvRem %d=0
Router status received;mq-conn 0x%X;state 0x%X;node_name '%s';login_id %u=0
LLMsg is sent;mq-conn 0x%X;type 0x%X;len %u;oper_num %d=0
Operation result received;mq-conn 0x%X;type 0x%X;len %u;oper_num %d;res 0x%X('%s')=0
Posting message: to '%s'; cat: '%s'; type %d; size %d; bodySize: %d=0
New message added to recvList. Size: %d=0
Socket closed;conn 0x%X=1
Connection released;mq-conn 0x%X=0
MQ library stopped=1
Socket closed by peer;conn 0x%X=1
Socket created;conn 0x%p;sock 0x%p=0
Socket connected;conn 0x%p;host '%s';port %u=1
Recv completed;;conn 0x%p;count %d; data %#.*Z=0
LLMsg received;mq-conn 0x%p;type 0x%X;ver 0x%X;len %u;flags 0x%X;sign 0x%X%X%X%X;body %#.*Z=0
Router status received;mq-conn 0x%p;state 0x%X;node_name '%s';login_id %u=0
LLMsg is sent;mq-conn 0x%p;type 0x%X;len %u;oper_num %d=0
Operation result received;mq-conn 0x%p;type 0x%X;len %u;oper_num %d;res 0x%X('%s')=0
Socket closed;conn 0x%p=1
Socket select finished with error in socket;conn 0x%p;sock_err %r=1
error=1
Couldn't connect socket;conn 0x%p;host '%s';port %u;timeout %u;sock_err %r=1

[p2syslog:trace:p2repl-cli]
Client replication library started=1
info=1
Stream created;stream 0x%X=1
Stream opening started;stream 0x%X;type %d;name '%s';server_addr '%s';db_conn '%s'=1
Stream opened;stream 0x%X;channel 0x%I64X=1
Scheme setting started;stream 0x%X=1
Scheme is set;stream 0x%X;channel 0x%I64X=1
Statistics module '%s' was successfully registered=1
Statistics was registered;stream name %s=1
Data requested;stream 0x%X;channel 0x%I64X;session %d=1
CLEAR_DELETED message received;stream 0x%X=1
CLOSE message posted;stream 0x%X=1
Statistics module was unregistered, module name %s=1
Stream destroyed;stream 0x%X=1
Client replication library stopped=1
DATA message received;stream 0x%X=1
Begin transaction=1
Preprocessing received record;stream 0x%X;table_idx %u;rec_rev %I64u=0
Processing received record;stream 0x%X %s; table_idx %u;rec_rev %I64u=1
Commit transaction=1
ACK message posted;stream 0x%X=1
Stream is on-line;stream 0x%X=1
PING message posted;stream 0x%X=1
COUNTED_PING message received;stream 0x%X=0
Couldn't open db-connection;stream 0x%X;db_conn '%s'=1
error=1
Couldn't connect to DB;stream 0x%X;db_conn '%s'=1
Stream created;stream 0x%p=1
Stream opening started;stream 0x%p,type %d,name '%s',server_addr '%s'=1
Stream opened;stream 0x%p;channel 0x%I64X=1
Scheme setting started;stream 0x%p=1
Scheme is set;stream 0x%p;channel 0x%I64X=1
Statistics module for table '%s' was successfully registered=1
Data requested;stream 0x%p;channel 0x%I64X;session %d=1
CLOSE message received;stream 0x%p=1
Stream is being closed by server;stream 0x%p,reason 0x%X(%d)=1
CLEAR_DELETED message received;stream 0x%p=1
DATA message received;stream 0x%p=1
Stream is on-line;stream 0x%p=1
ACK message posted;stream 0x%p=1
CLOSE message posted;stream 0x%p=1
PING message posted;stream 0x%p=1
COUNTED_PING message received;stream 0x%p=1

[p2syslog:trace:db]
connection with driver %s created=1
info=1

[p2syslog:trace:SQLLite]
SQL: %s=0
info=0
Processing ini-file '%s' with additional connection settings=0

[p2syslog:trace:P2ClientGate]
Notification not handled ; notif %I32d; datastream 0x%X=0
Couldn't set message body; message 0x%X=1
error=1
Before P2MQGetMsg for MQ conn %p=0
Before P2ReplProcessMessage for MQ conn %p and MQ msg %p=0
After P2ReplProcessMessage for MQ conn %p and MQ msg %p=0
Stream %s switched to snapshot server %s=1
info=1
Stream %s switched to online server %s=1

[p2syslog:trace:RETURN_P2ERR]
Line %s:%d=0

[p2syslog:trace:Scheme]
Opened db handles %d, opened table handles %d, opened fld handles %d=1
info=1

[p2syslog:trace:NULL Fields]
Parse NULL fields %d=0

[p2syslog:trace:p2db-odbc]
Couldn't establish connection;conn_str '%s';sql-error %d;descr '%s'=1
error=1
Connection established;conn_str '%s';dbc 0x%p=1
info=1
Connection closed;dbc 0x%p=1
Executing SQL-statement;sql '%s';stmt 0x%p=0
Couldn't execute prepared SQL-statement;stmt 0x%p;sql-error %d;descr '%s'=1
Preparing SQL-statement;sql '%s';stmt 0x%p=0
Executing prepared SQL-statement;stmt 0x%p=0

[p2syslog:trace:p2db]
Startup statements from ini-file were successfully executed=0

[p2syslog:trace:P2ReplStorage]
DB policy on conn-str created;stream 0x%p,policy 0x%p=1
info=1
DB policy on conn-str deleted;stream 0x%p,policy 0x%p=1
Preprocessing received record;stream 0x%X;table_idx %u;rec_rev %I64u=0
Processed received record;stream 0x%X %s; table_idx %u;rec_rev %I64u=1
Revision adjustment;stream 0x%X;table_idx %u;cur_rev %I64d; new_rev %I64d=1

[p2syslog:trace:ReplUtils]
CLEAR_OLD_REV table %s; minRev %I64d; clearRev %I64d;deletion step %d=1
info=1
Thanks:

esper

Avatar
Date: 6/14/2011
Reply


Это не лог роутера, а файл конфигурации логирования
Thanks:

transdex

Avatar
Date: 6/14/2011
Reply


Опыт установки:
Исходные ингридиенты:
Установщик роутера: P2_ClientGate1.11.5_32.exe
PlazaTrader: отсюда: http://box.net/plaza версия от 30.05.2011

Как я понял этот вариант (в отличие от первого от 17.05.2011) сделан под базовую авторизацию:
"Базовый способ: аутентификационная информация, т.е. имя пользователя и пароль, указывается в ini-файле роутера, например, при установке P2ClientGate из дистрибутива. При этом клиентский код ничего не знает про аутентификацию. В силу простоты – рекомендуемый метод."
Соответственно пароль находится в открытом виде в .ini файле.
Если роутер установлен не как сервис его надо запустить вручную. Плаза-трейдер просто тупо коннектится к локальному 4001 порту. Кстати почему-то все время подразумевается что локальный порт и удаленный одинаковы и равны 4001, что не всегда так.
При установке Роутера вводим адреса и порты сервера Plaza(локальный порт можно изменить в .ini файле), выбираем MTA библиотеку, выбираем установку как сервис или отдельно запускаемое приложение по желанию,а также логин и пароль на подключение к плазе.

Если роутер установлен как сервис просто запускаем SampleGUI и жмем на кнопку подключить. Если роутер не сервис, предварительно запускаем роутер файликом start_router.cmd из папки куда установлен роутер.
После чего как обычно пишут в Microsoft, можно откинуться на спинку стула и выпить чашечку кофе... В связи с последним на первое время не помешала бы галочка "Не загружать сделки и заявки при старте", аналогично как есть в Cofite SDK.
Thanks:
<< < 2 3 4 5 6  > >>

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy