Управление большим количеством советников - страница 2

 
Dmi3:

Это не рационально по многим аспектам. 

FORTS

1. Нет таких аспектов для ФОРТС, что нельзя реализовать в одном советнике 50-100 роботов (я сам пишу своих советников).

2. Я торгую на ФОРТС (реал) 3 терминала по 42 советника, т.е 126 роботов  + 15-20 роботов на 2 терминалах Квик.

Иногда, ничего не выключая, запускаю 4 терминал МТ5 для программирования и отладки. 

Все на одном компе и нет никаких проблем.

 
Как вариант, переписать экспертов на Сервисы и запускать их от туда, без графической оболочки.
Если это один экземпляр эксперта с одной логикой, то просто клонируете уже созданный Сервис как Добавить сервис.
При написании Сервиса, вынести в настройки все необходимые параметры, чтобы при клонировании менять символ и параметры.
Дополнительно написать панель мониторинга, которая будет размещена на одном графике, куда и будут выводиться текущие необходимые показатели.
Готовых решений нет, нужно продумывать организацию взаимодействия Сервисов с панелью мониторинга. 
 
Dmi3:

Коллеги,

кто-то решил проблему управления большим количеством советников в терминале MT5? 

То, как это сделано в стандартной поставке терминала перестает быть удобным при количестве советников более одного.

При количестве более 100 неудобство становится критичным.

Есть какие-то советы/решения/идеи?

Спасибо.

В моей Лиге ТС постоянно работает 700 различных ТС. Никаких проблем...

 
Dmi3:

Это не рационально по многим аспектам. 

FORTS

По каким таким "аспектам" ? 

Опять могу привести в пример Лигу ТС - один исполняемый файл работает сразу за все 700 ТС. И я разделил его на три части только из-за ограничений самих ДЦ, которые запрещают открывать более 500 ордеров.  А сам эксперт вполне может открыть и больше - сколько требуется.

 
prostotrader:

1. Нет таких аспектов для ФОРТС, что нельзя реализовать в одном советнике 50-100 роботов (я сам пишу своих советников).

2. Я торгую на ФОРТС (реал) 3 терминала по 42 советника, т.е 126 роботов  + 15-20 роботов на 2 терминалах Квик.

Иногда, ничего не выключая, запускаю 4 терминал МТ5 для программирования и отладки. 

Все на одном компе и нет никаких проблем.

1. Пишите хоть тысячу в одном. Вы программист, я трейдер. Мои компетенции в другом и тратить свое время на тупой кодинг я не готов.

2. Зарабатываете? :) А чего не сделаете одного советника из всего этого зоопарка по заветам п.1?

Я разве писал про проблемы? Я пишу про неудобства. У меня тоже 4 терминала на сервере, а на ноуте только разработка. Но этими четырьмя управлять неудобно, тем более через ТимВьювер, все мелкое, надоело.

 
Roman:
Как вариант, переписать экспертов на Сервисы и запускать их от туда, без графической оболочки.
Если это один экземпляр эксперта с одной логикой, то просто клонируете уже созданный Сервис как Добавить сервис.
При написании Сервиса, вынести в настройки все необходимые параметры, чтобы при клонировании менять символ и параметры.
Дополнительно написать панель мониторинга, которая будет размещена на одном графике, куда и будут выводиться текущие необходимые показатели.
Готовых решений нет, нужно продумывать организацию взаимодействия Сервисов с панелью мониторинга. 

Это сложное решение, тем более, что советники разные. Есть там конечно клоны, но их не подавляющее количество. К тому же чем проще отдельный советник, тем меньше у него возможностей на совершение ошибок. Любое объединение повысит эту вероятность, причем повысит существенно. 

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

По каким таким "аспектам" ? 

Опять могу привести в пример Лигу ТС - один исполняемый файл работает сразу за все 700 ТС. И я разделил его на три части только из-за ограничений самих ДЦ, которые запрещают открывать более 500 ордеров.  А сам эксперт вполне может открыть и больше - сколько требуется.

Аспекты частично описал в сообщениях выше.

Я не представляю как вы ведете позиции по 700 системам в одном советнике. Это какой то запредельный уровень кодинга, снимаю шляпу!

 
Dmi3:

Это сложное решение, тем более, что советники разные. Есть там конечно клоны, но их не подавляющее количество. К тому же чем проще отдельный советник, тем меньше у него возможностей на совершение ошибок. Любое объединение повысит эту вероятность, причем повысит существенно. 

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

Как раз наоборот не какого объединения в Сервисах. Каждый Сервис выполняется в своём потоке.
Пишите отдельный эксперт с панелью мониторинга, туда и выводите данные с каждого Сервиса.
Если задача сложная, принтуйте данные в excel и там стройте мониторинг.
Или в базу данных, или сокет. Вариантов много.
Не раскрыта идея, что именно мониторить. Может простых алертов хватит на почту или телефон.

 
Согласен с автором. Я что, один помню, сколько раз за последние годы высказывались желания иметь версию терминала без GUI, для работы экспертов на VPS. У MQ же есть такая платформа.
Кроме того, много раз высказывались желания иметь мультитерминал, последнее время заглохли. Но это уже другая история.
 
Dmi3:

Аспекты частично описал в сообщениях выше.

Я не представляю как вы ведете позиции по 700 системам в одном советнике. Это какой то запредельный уровень кодинга, снимаю шляпу!

Каждая система сама ведет свою позицию. Что там сложного ? Там громоздко, много кода. Но сложного - ничего.

Эксперт внутри себя имеет список классов, каждый из которых представляет собой рабочую ТС.

У каждой ТС есть функция обработки тика. При приходе тика вызывается системная функция OnTick(), внутри которой пробегаемся по списку, и у каждой существующей ТС вызываем функцию обработки тика.

Каждая ТС в обработке тика запрашивает текущую позицию, указывая свой магик, соответственно, класс торговой позиции собирает информацию только по ордерам, относящимся к этим магикам. У каждой ТС - своим.  Системы работают совершенно прозрачно друг для друга, они друг про друга вобще ничего "не знают". Имеется только один класс, в котором есть список существующих систем - вот он может создавать либо все системы, либо только часть из них. А потом при каждом тике по списку созданных систем - вызываются функции обработки тика.

Ну и дополнительно, при возникновении ряда событий (например, при изменении баланса, событии на чарте, еще каком-то) - весь список ТС оповещается, соответствующими функциями.

Фактически, каждый класс ТС работает индивидуально, поэтому ему все равно, что он один или рядом работают еще ряд таких же классов.

Причина обращения: