Локальная Установка

Эта статья описывает, как установить агентов FrankPro на ваше железо
и как настроить автоматическую оптимизацию с Optimizator.ex5.

Агент FrankPro может быть использован 4-я основными путями(пути организации агентов):

  1. Одиночная установка
  2. Роевая установка(Полииндикаторы)
  3. Автоматическая Оптимизация
  4. Полииндикаторы + Автоматическая Оптимизация


FrankPro

FrankPro.ex5 - самый полный билд, опубликованный в MQL5 Market.
Эта версия содержит большинство функционала системы,
включая Полииндикаторы и Автоматическую Оптимизацию.


Одиночная установка

Для установки и настройки одиночного агента FrankPro agent, для торговли,
нужно просто запустить FrankPro.ex5 в любом окне терминала MT5(с инструментом, который хотите торговать):
FrankPro_run

Необходимый .set файл с параметрами можно скачать на странице Robots,
просто нажмите на "download" кнопку напротив понравившегося вам робота.

Файлы .set на странице Robots обновляются, в среднем, еженедельно(обычно, на выходных или в Пн).

Другой путь получения файла .set - скачать его из истории результатов оптимизации(History of Optimization Results) на странице Optimization:
Download_prev_sets

Может потребоваться дополнительная подстройка скаченного файла .set, в зависимости от брокера,
или локальных настроек, или параметров риск-депозит-баланс.

По своему усмотрению, пользователь может запустить скачанный файл .set с Frank.ex5(LightWeight Version) в Тестере -
чтобы увидеть если конфигурация удовлетворяет его требования перед запуском робота в торговлю.
Это также помогает в настройке системы под конкретного брокера и стиль управления депозитом.

Для запуска одиночной конфигурации без оптимизации - установите параметр 'Auto Optimization Mode (Optimizator.ex5)' в зн. ENUM_MODE_MANUAL.
Таким образом входные параметры для советника вручную вводятся на подстранице "Inputs" или загружены через .set файл пользователем.
Optimizator.ex5 не используется в этом случае.


Роевая установка(Полииндикаторы)

Для настройки полииндикаторов, чтобы связать вместе несколько агентов FrankPro.ex5, Пользователю нужно либо скачать
файл PI_conf.conf на странице Polyindicators и скопировать его в папку MQL5, или
создать/редактировать файл PI_conf.conf вручную, используя любой текстовый редактор.

Файл должен быть расположен здесь, скопируйте его:
Optimizator_PI_conf

Агенты FrankPro автоматически скопируют этот файл в свои индивидуальные папки данных при запуске, если параметр
'Copy PI_conf.conf from the root MQL folder to the EA's folder' установлен в зн. true.
В не зависимости от установленного значения - советник FrankPro всегда загружает копию PI_conf.conf, расположенную внутри его папки данных:
\MQL5\Files\EURUSD_101\PI_conf.conf

Файл может быть вручную отредактирован(предварительно выключите параметр "Copy PI_conf.conf..."),
вы можете указать несколько Полииндикаторов, например(синтаксис описан в главе "Полииндикаторы" - "Polyindicators"):

PI:1|InEAs:|In_PIs:2,3,4,5-R|Min_Sig_Num:1|Max_Opp_Sig_Num:0
PI:2|InEAs:GBPUSD-101-R,GBPUSD-202-R|In_PIs:1,3|Min_Sig_Num:1|Max_Opp_Sig_Num:1


Есть смысл редактировать коренной файл в директории Files, чтобы Франкенштейны сами скопировали его при запуске.
Таким образом файл придётся редактировать только однажды.
Если редактировать каждый из этих файлов по-отдельности - можно настроить несколько Оптимизаторов, работающих одновременно в одном Терминале.

Пример файла PI_conf.conf:

time created:1718114875
PI:1|InEAs:GBPUSD-1,GBPUSD-2,AUDUSD-5,USDCAD-4|In_PIs:|Min_Sig_Num:1|Max_Opp_Sig_Num:0
PI:2|InEAs:GBPUSD-101-R,GBPUSD-202-R|In_PIs:1,3|Min_Sig_Num:1|Max_Opp_Sig_Num:1
PI:3|InEAs:EURUSD-1,EURUSD-2,USDCAD-5,USDCHF-4|In_PIs:|Min_Sig_Num:1|Max_Opp_Sig_Num:0
PI:4|InEAs:|In_PIs:1,2,3|Min_Sig_Num:2|Max_Opp_Sig_Num:0
PI:5|InEAs:|In_PIs:2,3|Min_Sig_Num:1|Max_Opp_Sig_Num:0


Можно прописать любое количество строчек, советников, установить значения Min_Sig_Num и Max_Opp_Sig_Num.

Более детально Полииндикаторы рассмотрены в главе Полииндикаторы("PolyIndicators").


Автоматическая Оптимизация

Чтобы настроить полностью автоматическую оптимизацию для группы агентов FrankPro -
Используйте Оптимизатор Optimizator.ex5.

Вы можете настроить более 90 агентов в 1 Терминале,
все под централизованным управлением Optimizator.ex5...


Оптимизатор

Optimizator.ex5 для локальной установки способен автоматически проводить оптимизацию
выбранных агентов с установленным интервалом между циклами оптимизации.

Функционал Optimizator.ex5:

  1. (Опционально)Скачивает текущие оптимизационные матриц с Frankenstein.pro (для назначенного OPT_ID).
  2. В Локальном режиме, эти матрицы(могут быть вручную отредактированы пользователем) используются для оптимизации.
  3. Оптимизатор ожидает, пока Тестер завершит цикл оптимизации...
  4. Происходит анализ результатов, фильтрация результатов, определяется лучший .set сет параметров.
  5. Оптимизатор удаляет агент из Терминала.
  6. Создаёт новый шаблон .tpl и запускает новое окно с агентом с новыми парметрами.
  7. Содержит БазуДанных со всеми хорошими проходами оптимизации.
  8. Оптимизатор загружает параметры в уже запущенные агенты FrankPro(run-time, без перезагрузки).

Входные Input праметры

Программа требует библиотеку shell32.dll для копирования файлов из Тестера в Терминал,
установите соответствующий флажок на подстранице 'Dependencies'(Зависимости):
Optimizator_allow_dll

(Если вы хотите, чтобы Оптимизатор скачивал матрицы)Убедитесь, что WebRequest на адрес https://frankenstein.pro разрешён
в настройках терминала MT5(это разрешает соединение к API frankenstein.pro):
Webrequest

Входные параметры:
Optimizator_inputs


ID (OPT_ID) это идентификатор со страницы Optimization,
матрицы скачиваются только для указанного OPT_ID:
Optimizator_OPT_ID

Optimizator требует установки второго терминала MetaTrader5.
Стоит устанавливать тот же терминал с тем же брокером,
в другую папку(можно использовать тот же аккаунт).

Вручную установите директории, чтобы Optimizator знал где найти дополнительный терминал,
'path to AUX metatester64.exe' выглядит примерно так:
Optimizator_path1

'path to 'Roaming' folder with the AUX Terminal's data' может выглядеть примерно так(путь, выбранный во время установки терминала):
Optimizator_path2

Этот дополнительный aux терминал будет использоваться для проведения оптимизации.
Когда оптимизация завершается, Оптимизатор скопирует результаты в папку MQL5\Files\Optimizator_[OPT_ID]\results\,
и также в папку MQL5\Files\[Symbol]_[magic]\curr_set.set,
потом закроет второй aux Тестер и запустит новый цикл оптимизации, если это потребуется.


Локальная Установка

Установка шаблона

Оптимизатор использует файл шаблона Frank_template.tpl, хранящийся в директории C:\Users\UserName\AppData\Roaming\MetaQuotes\Terminal\***\MQL5\Files\.
Скачать файл можно на странице Goods или по ссылке: Frank_template.tpl
Скачав, скопируйте файл в директорию Files, чтобы оптимизатор мог его прочитать.
Параметры внутри могут быть изменены по усмотрению пользователя.
Неоптимизируемые параметры загружаются из шаблона, оптимизируемые - из .set-результата.

Пользователь также может создать свой шаблон, кликнув правой мышью на окно графика с FrankPro и нажав "Шаблоны-Сохранить Шаблон".
Сохраните его как Files\Frank_template.tpl.


Скачайте матрицы с Frankenstein.pro

Когда параметр 'Frankenstein.pro Mode: download matrices?'
установлен в зн. ENUM_MODE_FRANKPRO, Optimizator соединяется с Frankenstein.pro
и скачивает текущие матрицы и конфигурации из публичного пула в файловую систему:
Optimizator_LOCAL_OPTIMIZATOR

Убедитесь, что в настройках терминала MetaTrader5 WebRequest разрешён для "https://frankenstein.pro":
Webrequest

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

Матрицы хранятся в файле *\MQL5\Files\[Symbol]_[Magic]\opt_matrix.set для каждого агента FrankPro:
Optimizator_matrices_path


Переключитесь в Локальный Режим(Local Mode)

Когда параметр 'Frankenstein.pro Mode: download matrices?'
установлен в зн.ENUM_MODE_LOCAL_OPTIMIZATOR, никакого соединения к Frankenstein.pro не происходит
и Optimizator.ex5 загружает матрицы локально из файловой системы:
Optimizator_LOCAL_OPTIMIZATOR

После скачивания конфигураций и матриц в режиме ENUM_MODE_FRANKPRO,
пользователь может переключить Optimizator в режим ENUM_MODE_LOCAL_OPTIMIZATOR.
После, Оптимизатор сможет использовать скаченные матрицы, загружая их из файловой системы.

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


Отредактируйте матрицы

Для редактирования матриц можно использовать любой текстовый редактор:
Optimizator_edit_matrix
Чтобы понять какое имя относится к какому параметру, взгляните на содержимое файла InputsNames.txt.

Или (1)загрузите матрицу в терминале в Тестер:
Optimizator_load_inputs1
(2)измените параметры(находясь в режиме генетической или полной оптимизации):
Optimizator_load_inputs2
(3)сохраните новую матрицу вручную, используйте правый клик мыши, нажмите "save",
Optimizator_load_inputs3
и перепишите файл opt_matrix.set:
Optimizator_load_inputs4

Обратите внимание:
Важно пропустить скаченные матрицы через
быстрый процесс оптимизации с Frank.ex5(Легкая Версия), чтобы
проверить исполнение .set файла и подстроить систему под вашего брокера и тип аккаунта.


Конфигурации

Для каждого агента FrankPro Оптимизатор использует копию конфигурационного файла,
хранящуюся в директории ..\MQL5\Files\Optimizator_[OPT_ID]\configs\:
Optimizator_configs

Отредактрируйте файл любым текстовым редактором, установите значение, которые приложение Тестер будет использовать
при проведении "быстрого генетического" цикла оптимизации:
Optimizator_edit_config

Изначально, значения скачиваются со страницы Optimization:
Optimizator_configs_source

Укажите диапазон оптимизации в днях - длительность ввода исторических данных.
30 дней данных считаются минимальным практическим минимумом.
90-180-365 дней и другие значения могут быть использованы.
Период Оптимизации("Переоптимизировать каждые N дней") - период переоптимизации.
Каждые N дней Оптимизатор проводит новый цикл оптимизации для обновления файла .set,
использующегося агентом для торговли.

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


Запуск

Держите 1 инстанцию Оптимизатора, работающую в любом окне терминала:
Optimizator_running

Оптимизатор будет автоматически скачивать новые матрицы, начинать новые циклы оптимизации,
запускать нового агента FrankPro с каждым успешным циклом оптимизации.

Для каждого агента FrankPro можно наблюдать текущий статус оптимизации в окне State:
Optim_state

Переключившись в режим ENUM_MODE_LOCAL_OPTIMIZATOR, можно отредактировать матрицы и конфигурационные файлы,
теперь они не будут переписаны новыми скачанными матрицами.


Состояние(State) Советника

Оптимизатор передаёт результаты локально агентам FrankPro.
Агенты загружают эти параметры локально.

В зависимости от настроек, Optimizator либо закроет и заново откроет существующее
окно с агентом FrankPro или передаст результаты и будет ожидать от агента FrankPro, чтобы он загрузил параметры самостоятельно.
Если агент FrankPro загружает параметры во время выполнения(run-time), это может занять некоторое время
(периодически происходит проверка состояния, с периодом до 15 минут, возможна задержка. Подсказка: перезапустите Терминал для форсирования загрузки новых параметров).
Это поведение контролируется флагами IP_IGNITE_MISSING - Ignite Frankensteins automatically? и IP_ignite_close_EA - close the EA before ignition.

Входные параметры советника буфферизированы, чтобы увидеть реальные параметры, использующиеся Двигателем,
нажмите на кнопку "params" в верхнем-правом углу:
Params_actual

(параметры на "родной" субстранице входных параметров игнорируются,
они только используются в режиме ENUM_MANUAL_MODE или в отдельной установке Frankensten.ex5 standalone)