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


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

Цитата:

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


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

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

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

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

Теги:


Спасибо:




5 Ответов
vlad1024

Фотография
Автор статей
Дата: 09.06.2012
Ответить


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

Цитата:

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


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

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

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

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


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

Alexander

Фотография
Дата: 09.06.2012
Ответить


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

Sergey Masyura

Фотография
Автор статей
Дата: 09.06.2012
Ответить


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

Цитата:

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


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

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

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

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


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


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

Макс

Фотография
Дата: 09.06.2012
Ответить


Цитата:

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

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

Автор топика
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 10.06.2012
Ответить


Макс Перейти
Цитата:

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

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



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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy