Упрощение добавления удалённых агентов

 

Уважаемые разработчики!

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

Во-вторых, спасибо за ключики в программе metatester.exe.  Делюсь со всеми желающими своим способом автоматизации установки сервисов на сервере (извините, что Перл - было проще поставить его, чем изучать скриптинг в Windows.  Кстати, может быть, кто-то перепишет это на самом MQL5?):

$first_port = 2001;
$last_port = 2048;
$password = "mypassword";
$program = "metatester64.exe";

for ($port = $first_port; $port <= $last_port; $port++) {
        print "Installing service at 0.0.0.0:$port\n";
        system($program, "/install", "/address:0.0.0.0:$port", "/password:$password");
        print "Starting service at 0.0.0.0:$port\n";
        system($program, "/start", "/address:0.0.0.0:$port");
}

(если у вас 32 бита, имя программы будет metatester.exe, всё остальное, думаю, понятно)

В-третьих, очень ждём, когда можно будет упростить добавление удалённых агентов в самом терминале.  Вот вам несколько идей вариантов реализации этого в пользовательском терминале, некоторые из которых настолько просты, что их можно реализовать в ближайших билдах:

1) В окне добавления удалённого агента сохранять параметры предыдущего добавления, автоматически увеличивая имя и порт на 1.  Таким образом, для добавления полусотни агентов нужно всего лишь 50 раз нажать правую кнопку мыши и Enter (что тоже не идеал, но легче, чем сейчас, делать 50 раз copy-paste).

2) В окне добавления удалённого агента дать возможность указывать не один порт, а промежуток, например: example.com:2001-2048.

3) Сделать в контекстном меню выбора агента пункт "Добавить ещё 8 таких же агентов".

4) Сделать возможность выбирать несколько агентов из списка, и выполнять над ними групповые операции: удалить, включить, выключить.

5) Сделать ключики в терминале, как в metatester.exe, для добавления агентов.

6) Сделать возможность загрузить XML-файл с реквизитами агентов (чтобы можно было просто на сайте кликнуть на ссылку и автоматически получить у себя установленные агенты с правильными паролями)

7) ... (ещё кто что придумает?)

Я занимаюсь хостингом уже 12 лет, и могу сказать, что сервера большинства процессоров загружены процентов на 5-10, особенно в медиа- и файл-хостинге.  Так как агенты почти не потребляют трафика и умеренно - память, можно предсказать всплеск предложений аренды удалённых агентов от хостеров - они могут сделать это на существующих мощностях.  Поэтому где-нибудь через год арендовать 1000 агентов на 3 дня уже не будет звучать фантастикой...

Strawberry Perl for Windows
  • strawberryperl.com
Perl is a programming language suitable for writing simple scripts as well as complex applications - see http://www.perl.org Strawberry Perl is a perl environment for MS Windows containing all you need to run and develop perl applications. It is designed to be as...
 

Добавление списка удаленных агентов обязательно сделаем в виде:

  1. ip + port range, например [server: 192.168.0.50,  ports: 2000-2003]
  2. экспорт/импорт в CSV файл (для удобства переноса между терминалами)
  3. скан одиночного IP или подсети по ограниченному ряду портов для быстрого добавления близких агентов
 

Отлично, бальзам на душу!

Кстати, ведь у вас тоже после завершения чемпионата мощности будут простаивать, можете сдавать их в аренду :)


 
dabystru:

Отлично, бальзам на душу!

Кстати, ведь у вас тоже после завершения чемпионата мощности будут простаивать, можете сдавать их в аренду :)


Согласен здорово.

Они у них и так арендованные.


 
Я занимаюсь хостингом уже 12 лет, и могу сказать, что сервера большинства процессоров загружены процентов на 5-10, особенно в медиа- и файл-хостинге.  Так как агенты почти не потребляют трафика и умеренно - память, можно предсказать всплеск предложений аренды удалённых агентов от хостеров - они могут сделать это на существующих мощностях.  Поэтому где-нибудь через год арендовать 1000 агентов на 3 дня уже не будет звучать фантастикой...

В продолжение сказанному выше хочеться спросить:

- есть ли шансы что будет реализовано решение для включения агентов на линукс системах?

- на "облачных" системах (в принципе и так можно, но может какое-то специализированное решение придет в голову)?

- может быть есть идеи насчет системы BOINC? может быть через нее удалось бы сделать "облачный" сервер-агент похожий по своей сути на p2p "расчитал свое - помоги другу"? (Тут оговорочка: я с системой BOINC знаком приблизительно, и понятия не имею можно ли на ее основе создать систему для расчетов запросов не только организаторов проекта, но и участников. В сети видел проект по созданию на базе BOINC рендер {что по своей сути схоже тестером стратегий} "кластера", но он пока в бете и ничего там не понятно.)

P.S. Очень бы хотелось увидеть реализацию metatrader5 под линукс. Понимаю что разрабатывать его под эти ОС не выгодно, но будет здорово если он заработает под wine. ИМХО, если не в metatrader, то хотябы в агент под линукс имеет смысл вкладывать силы, т.к. общие вычислительные мощности серверов несравнимо больше чем десктопов, да и загрузки на них как правило нет, а работают они и вовсе круглосуточно. Опять же, если кто-то всерьез и надолго решил заняться разработкой на mql5, то ему рано или поздно очень захочеться если не собрать домашний кластер, то, по крайней мере, запустить домашний сервер для тестов стратегий, а в этом плане линукс как ни крути, а впереди.

 
solomenikm:

В продолжение сказанному выше хочеться спросить:

- есть ли шансы что будет реализовано решение для включения агентов на линукс системах?

MetaTrader 5 успешно запускается на Линуксах под Wine 1.3.0, сейчас они доделывают поддержку сетевой подсистемы для правильной работы MetaTester. Пока в Wine есть проблемы с поддержкой серверных асинхронных сокетов.


- на "облачных" системах (в принципе и так можно, но может какое-то специализированное решение придет в голову)?

- может быть есть идеи насчет системы BOINC? может быть через нее удалось бы сделать "облачный" сервер-агент похожий по своей сути на p2p "расчитал свое - помоги другу"? (Тут оговорочка: я с системой BOINC знаком приблизительно, и понятия не имею можно ли на ее основе создать систему для расчетов запросов не только организаторов проекта, но и участников. В сети видел проект по созданию на базе BOINC рендер {что по своей сути схоже тестером стратегий} "кластера", но он пока в бете и ничего там не понятно.)

MetaTester и является в чистом виде агентом облачного тестирования (состоит из одного metatester.exe или metatester64.exe файла размером всего в 2 мб, не требует инсталляций, никуда не привязывается, легко переносится, автоматически апдейтится). Он как раз создавался под массовое распределенное тестирование торговых стратегий. С его помощью скорость расчетов возрастает в десятки и сотни раз.

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

 

Экспорт и импорт агентов удаленного тестирования (MetaTester 5 Strategy Tester Agents) уже появились в 358 билде


Теперь можно легко обмениваться списками агентов в штатном формате *.MT5, который представляет собой обычный текстовый файл.


При клике на этом файле со следующего билда будет срабатывать автоматический импорт агентов в торговый терминал.


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



 
Renat:

Экспорт и импорт агентов удаленного тестирования (MetaTester 5 Strategy Tester Agents) уже появились в 358 билде.

Просто супер, спасибо!
 

где брать эти сервера?

спасибо 

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