Недостаток синхронизованного шлюза GuiTrader


Недостаток синхронизованного шлюза GuiTrader
Atom
6/9/2012


http://stocksharp.com/doc/ Статья: Пользовательский интерфейс (GUI)

Quote:

Как резюме, такое решение стоит использовать только в начале разработки роботов, когда еще нет достаточного опыта по написанию автономным торговых программ с графическим интерфейсом.


Я сам раньше сохранял лог в textbox и это довольно сильно тормозило процесс работы. Сейчас пишу лог в файл, стало быстрее, но все равно хочеться добавить в скорости, избавиться от ожидания прорисовки графики.

Отсюда вопрос: как проще избавиться от GuiTrader ?

Мне приходит в голову писать лог и другие вещи в память (типа memcached), а уже другой программой читать этот memcached, выводить и сохранять лог в файлы, рисовать графику независимо от робота.

Есть более простые варианты?

Tags:


Thanks:


vlad1024

Avatar
Date: 6/9/2012
Reply


Макс Go to
http://stocksharp.com/doc/ Статья: Пользовательский интерфейс (GUI)

Quote:

Как резюме, такое решение стоит использовать только в начале разработки роботов, когда еще нет достаточного опыта по написанию автономным торговых программ с графическим интерфейсом.


Я сам раньше сохранял лог в textbox и это довольно сильно тормозило процесс работы. Сейчас пишу лог в файл, стало быстрее, но все равно хочеться добавить в скорости, избавиться от ожидания прорисовки графики.

Отсюда вопрос: как проще избавиться от GuiTrader ?

Мне приходит в голову писать лог и другие вещи в память (типа memcached), а уже другой программой читать этот memcached, выводить и сохранять лог в файлы, рисовать графику независимо от робота.

Есть более простые варианты?


Самый просто вариант, выкинуть GuiTrader и обрабатывать логику в потоке событий ITrader(надо лишь помнить что разные события могут приходить из разных потоков => нужна синхронизация). Либо вариант, который мне больше нравится, запустить робота в отдельном потоке, и пробрасывать туда необходимые события через очередь, за счет чего можно избежать синхронизации внутри стратегии при обработке различных событий.
Thanks:

Alexander

Avatar
Date: 6/9/2012
Reply


либо использовать Trader и юзать GuiAsync
Thanks:

Sergey Masyura

Avatar
Date: 6/9/2012
Reply


vlad1024 Go to
Макс Go to
http://stocksharp.com/doc/ Статья: Пользовательский интерфейс (GUI)

Quote:

Как резюме, такое решение стоит использовать только в начале разработки роботов, когда еще нет достаточного опыта по написанию автономным торговых программ с графическим интерфейсом.


Я сам раньше сохранял лог в textbox и это довольно сильно тормозило процесс работы. Сейчас пишу лог в файл, стало быстрее, но все равно хочеться добавить в скорости, избавиться от ожидания прорисовки графики.

Отсюда вопрос: как проще избавиться от GuiTrader ?

Мне приходит в голову писать лог и другие вещи в память (типа memcached), а уже другой программой читать этот memcached, выводить и сохранять лог в файлы, рисовать графику независимо от робота.

Есть более простые варианты?


Самый просто вариант, выкинуть GuiTrader и обрабатывать логику в потоке событий ITrader(надо лишь помнить что разные события могут приходить из разных потоков => нужна синхронизация). Либо вариант, который мне больше нравится, запустить робота в отдельном потоке, и пробрасывать туда необходимые события через очередь, за счет чего можно избежать синхронизации внутри стратегии при обработке различных событий.


Для записи в файл лога - _fileLogManager.Listeners.Add(new Log4NetLogListener("log4net.xml"));
UI в роботе должен быть минималистический - в моем случае список стратегий и окно сообщения для ошибок.
Thanks:

Макс

Avatar
Date: 6/10/2012
Reply


Quote:

UI в роботе должен быть минималистический - в моем случае список стратегий и окно сообщения для ошибок.

Тоже склоняюсь к такому мнению.
А где Вы смотрите текущую позицию, заявки? В quik ?

Thanks:

Sergey Masyura

Avatar
Date: 6/10/2012
Reply


Макс Go to
Quote:

UI в роботе должен быть минималистический - в моем случае список стратегий и окно сообщения для ошибок.

Тоже склоняюсь к такому мнению.
А где Вы смотрите текущую позицию, заявки? В quik ?



Список заявок лишний, особенно когда их сотни или тысячи, да даже когда десятки - если они имеют смысл при отладке стратегии, то при запуске робота они в целом без надобности. Суммарная текущая позиция по стратегии и PnL отображается в том же списке стратегий. В терминале посмотреть не получится, т.к. может крутиться десяток стратегий с пересекающимися инструментами.
Thanks: Макс


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

loading
clippy