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

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


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

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

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

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

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

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


Tags:


Thanks:


vlad1024

Avatar
Date: 6/9/2012
Reply


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

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

Я сам раньше сохранял лог в 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


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

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

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

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

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

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

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

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

Thanks:

Макс

Avatar
Date: 6/10/2012
Reply


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

Thanks:

Sergey Masyura

Avatar
Date: 6/10/2012
Reply


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

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

Thanks: Макс


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

loading
clippy