Обновил сборки до S# 3.1


Обновил сборки до S# 3.1
Atom
4/15/2011


В основном с decimal заменял места. Еще поправил ссылки у проектного файла (они указывали в bin\Debug)

Tags:


Thanks:


< 1 2 3  >
aspirant

Avatar
Date: 4/22/2011
Reply


Mikhail Sukhov Go to
В client_rounter.ini что написано? Какой порт?


Code
; TCP-порт, на котором слушает роутер
;port=4001
port=3001


Правил сам

Thanks:

Mikhail Sukhov

Avatar
Date: 4/22/2011
Reply


aspirant Go to
Mikhail Sukhov Go to
В client_rounter.ini что написано? Какой порт?


Code
; TCP-порт, на котором слушает роутер
;port=4001
port=3001


Правил сам



Тоесть, значение по умолчанию 4001? А в чем смысл тогда было исправить на 3001?
Thanks:

aspirant

Avatar
Date: 4/22/2011
Reply


Mikhail Sukhov Go to
Тоесть, значение по умолчанию 4001? А в чем смысл тогда было исправить на 3001?


Чтобы работало[smile]. У тебя там дальше вот так?
Code
[ROUTEINFO]
; настройка соединений роутера с вышестоящими серверами.
; формат строки: {default|direct} = {ip-адрес | имя FQDN}:{номер порта}
; Должно быть одно дефолтное соединение и может быть от нуля до нескольких директных.
; Об адресах, на котрорые можно и нужно устанавливать дефолтные и директные соединения, проконсультируйтесь
; со службой тех. поддержки!!! В дистрибутиве указана рекомендуемая настройка для соединения с пулом серверов РТС.
;default=p2forts.rts.ru:4001
default=beta-forts.rts.ru:3001


Тоже правил сам.

Thanks:

Mikhail Sukhov

Avatar
Date: 4/22/2011
Reply


aspirant Go to
Mikhail Sukhov Go to
Тоесть, значение по умолчанию 4001? А в чем смысл тогда было исправить на 3001?


Чтобы работало[smile]. У тебя там дальше вот так?


У меня работает и с 4001 и с 3001. Может оставим тот, который по умолчанию после установки идет?
Thanks:

Mikhail Sukhov

Avatar
Date: 5/1/2011
Reply


aspirant Go to
Mikhail Sukhov Go to
Зачем нужна такая конструкция?

Code
ThreadPool.QueueUserWorkItem(s =>
{
    //WaitHandle.WaitAll(new[] { _futuresQuotesOnline, _futuresSessionOnline, _optionQuotesOnline, _optionSessionOnline });
    WaitHandle.WaitAll(new[] { _futuresQuotesOnline, _optionQuotesOnline });




Ты имеешь в виду, зачем запускать этот кусок в отдельном потоке?


Не увидел твоего ответа... Зачем вообще нужны WaintHandle-ы? Что блокируется и для чего?
Thanks:

Mikhail Sukhov

Avatar
Date: 5/6/2011
Reply


Mikhail Sukhov Go to
aspirant Go to
Mikhail Sukhov Go to
Зачем нужна такая конструкция?

Code
ThreadPool.QueueUserWorkItem(s =>
{
    //WaitHandle.WaitAll(new[] { _futuresQuotesOnline, _futuresSessionOnline, _optionQuotesOnline, _optionSessionOnline });
    WaitHandle.WaitAll(new[] { _futuresQuotesOnline, _optionQuotesOnline });




Ты имеешь в виду, зачем запускать этот кусок в отдельном потоке?


Не увидел твоего ответа... Зачем вообще нужны WaintHandle-ы? Что блокируется и для чего?


Ок, раз никто не знает, можно удалять?[laugh]
Thanks:

aspirant

Avatar
Date: 5/6/2011
Reply


Mikhail Sukhov Go to
Mikhail Sukhov Go to
aspirant Go to
Mikhail Sukhov Go to
Зачем нужна такая конструкция?

Code
ThreadPool.QueueUserWorkItem(s =>
{
    //WaitHandle.WaitAll(new[] { _futuresQuotesOnline, _futuresSessionOnline, _optionQuotesOnline, _optionSessionOnline });
    WaitHandle.WaitAll(new[] { _futuresQuotesOnline, _optionQuotesOnline });




Ты имеешь в виду, зачем запускать этот кусок в отдельном потоке?


Не увидел твоего ответа... Зачем вообще нужны WaintHandle-ы? Что блокируется и для чего?


Ок, раз никто не знает, можно удалять?[laugh]


Извини, выпал из процесса на несколько дней и пропустил твое предыдущее сообщение. Вот здесь вы со skuvv'ом писали, что сначала нужно скачать инструменты, а уже потом запускать остальные системные потоки. Именно из-за этого мы ждем, пока не скачается вся информация по инструментам, после чего потоки инструментов перейдут в состояние TDataStreamState.DS_STATE_ONLINE (см. методы OnFuturesQuotesStreamStateChanged / OnOptionQuotesStreamStateChanged), после чего сигнализуруем, что можно запускать остальные потоки.
Thanks:

Mikhail Sukhov

Avatar
Date: 5/7/2011
Reply


aspirant Go to

Извини, выпал из процесса на несколько дней и пропустил твое предыдущее сообщение. Вот здесь вы со skuvv'ом писали, что сначала нужно скачать инструменты, а уже потом запускать остальные системные потоки. Именно из-за этого мы ждем, пока не скачается вся информация по инструментам, после чего потоки инструментов перейдут в состояние TDataStreamState.DS_STATE_ONLINE (см. методы OnFuturesQuotesStreamStateChanged / OnOptionQuotesStreamStateChanged), после чего сигнализуруем, что можно запускать остальные потоки.


Понял. Тогда я это удаляю. Оно не нужно, так как теперь используется метод BaseTrader.ProcessSecurityAction.
Thanks:

Mikhail Sukhov

Avatar
Date: 5/7/2011
Reply


Mikhail Sukhov Go to
aspirant Go to

Извини, выпал из процесса на несколько дней и пропустил твое предыдущее сообщение. Вот здесь вы со skuvv'ом писали, что сначала нужно скачать инструменты, а уже потом запускать остальные системные потоки. Именно из-за этого мы ждем, пока не скачается вся информация по инструментам, после чего потоки инструментов перейдут в состояние TDataStreamState.DS_STATE_ONLINE (см. методы OnFuturesQuotesStreamStateChanged / OnOptionQuotesStreamStateChanged), после чего сигнализуруем, что можно запускать остальные потоки.


Понял. Тогда я это удаляю. Оно не нужно, так как теперь используется метод BaseTrader.ProcessSecurityAction.


За одно вынес все потоки в класс PlazaListenerRegistry. Во время переноса увидел, что потоки в классе PlazaTrader дублируют те, что есть в PlazaListenerRegistry. Первые убрал в пользу вторых. Если юзер коду нужно будет получать данные из основных потоков, пусть подписывается на те же самые события класса PlazaListener, что и PlazaTrader.
Thanks:

aspirant

Avatar
Date: 5/7/2011
Reply


Mikhail Sukhov Go to
Понял. Тогда я это удаляю. Оно не нужно, так как теперь используется метод BaseTrader.ProcessSecurityAction.

OK, понятно.

Mikhail Sukhov Go to
Если юзер коду нужно будет получать данные из основных потоков, пусть подписывается на те же самые события класса PlazaListener, что и PlazaTrader.


Я думал о таком объединении потоков. Решил сделать раздельно, потому, если пользователь запустит в своем обработчике событий некое длительное действие, то застопорится получение системной информации, до тех пор пока не завершится клиентский обработчик событий. А в нашем случае речь идет о миллисекундах. Или я усложняю?
Thanks:
< 1 2 3  >

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

loading
clippy