Мультивалютный Apart-режим.

23 марта 2024, 16:12
fxsaber
0
118

Большинство мультивалютных советников представляют из себя портфель независимых (по логике торговых сигналов) друг от друга ТС, где если связь и есть, то за счет ММ - все ТС оказывают влияние на общие показатели Balance/Equity.


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


Apart-режим бэктеста.

При этом через мультивалютное виртуальное окружение такое возможно сделать - Apart-режим.

На картинке входные параметры советника, исходный код которого ниже.

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define VIRTUAL_TESTER_MULTI // Запуск в виртуальном торговом окружении OnTickMulti
#define VIRTUAL_LIMITS_TP_SLIPPAGE // Лимитники и TP исполняются по первой цене акцепта - положительные проскальзывания
#define VIRTUAL_CLOSEALL_BYEND // Закрывает принудительно все ордера в конце тестирования
#define VIRTUAL_ALTERNATIVE // Альтернативная скорость расчетов
#include <fxsaber\OnTickMulti\OnTickMulti.mqh> // https://www.mql5.com/ru/code/47647

#define REPORT_TESTER             // В тестере будут автоматически записываться отчеты
#define REPORT_BROWSER            // Создание отчета с запуском браузера - требует разрешения DLL.
#include <Report.mqh> // https://www.mql5.com/ru/code/18801

double OnTester() { return(TesterStatistics(STAT_PROFIT)); }

// Сюда прописываем советник.
#include "EA.mq4" // https://www.mql5.com/ru/blogs/post/756829


Производительность.

Сделал замеры для двух символов.

Конфигурация Длительность
MT5-Tester only 0:00:05.475
MT5-Tester + VirtualTester Classic 0:00:03.508
MT5-Tester + VirtualTester Apart 0:00:02.140

В такой конфигурации Apart-режим быстрее MT5-Tester в 2.5 раза.


Подопытный советник.

Исходник советника прикреплен. Это чужой советник, который подправлен с учетом обхода одной слабой стороны MQL. Иначе ускорение было бы еще более значительным.


Также прикреплен соответствующий EX5 (компиляция исходника выше) для MT5-Тестера.

Ссылка на блог автора.

Файлы:
EA_Tester.ex5  401 kb
EA_Tester.mq5  4 kb
EA.mq4  4 kb
Поделитесь с друзьями: