Библиотеки: MultiTester - страница 33

 
Здравствуйте, очень полезная вещь, у вас ещё есть тестер портфелей, где можно отчёты в один складывать, тоже очень полезная вещь, но у меня возникла такая мысль - а не планировали ли вы объединить эти 2 инструмента, и сделать автоматический оптимизатор портфелей? Что-бы результаты оптимизации сразу оценивались в составе портфеля с такими же результатами - что-бы не было корреляции по просадкам и тп, с целевой функцией всего портфеля по шарпу или фактору восстановления, и доп фильтрами, по кол-ву сделок например. Сократило бы кучу ручной работы и времени, сейчас результаты оптимизации комбинировать в портфель вручную нужно, а когда их сотни...
 
How to get the input parameters of a specific run from this library? TESTERCACHE Cache; Cache[i] inputs
 

Здравствуйте!

В декабре прошлого года запускал Вашу библиотеку и прогонял ей оптимизацию по 100+ кастомным символам.

Сегодня попробовал запустить снова, но в журнале тестера одна единственная ошибка - "optimization cannot be started". Библиотеку обновил.

Я пробовал запускать на разных символах, пробовал запускать ваш MultiTester_example, пробовал разные сборки Metatrader 5, разные настройки оптимизации, пробовал запуск на обычном эксперте Moving Average, все равно эта ошибка возникает, никаких более подробных логов не нашел. Подскажите, пожалуйста, у кого-то было что-то подобное? Как можно это исправить?

 
Jekamajor #:

в журнале тестера одна единственная ошибка - "optimization cannot be started".

Какая реакция на запуск оптимизацию вручную?
 
fxsaber #:
Какая реакция на запуск оптимизацию вручную?

 


Оптимизация вручную запускается, выполняется, завершается без ошибок. Скриншот логов. Вверху запуск оптимизации по простому Moving Average, ниже запуск с теми же параметрами но через библиотеку.

 
Jekamajor #:

ниже запуск с теми же параметрами но через библиотеку.

Зачем в самом Тестере запускается этот советник? Его же кидают на чарт Терминала, а не Тестера.

 
fxsaber #:

Зачем в самом Тестере запускается этот советник? Его же кидают на чарт Терминала, а не Тестера.

Да, действительно! Это я просто тупанул получается, за год забыл как запускать. Перетаскиванием на чарт запускается и работает. Большое спасибо за помощь!
 
Пожалуйста, опубликуйте пример того, как написать код для нескольких последовательных оптимизаций, которые принимают разные входные параметры.
 
Soroush Kheradmand #:
Пожалуйста, опубликуйте пример того, как написать код для нескольких последовательных оптимизаций, которые принимают разные входные параметры.

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/ru/code/26132

#define _CS(A) ((!IsStopped()) && (A))
#define PAUSE 200

void Run( const string Settings )
{
  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);

  MTTESTER::CloseNotChart();
    
  if (_CS(MTTESTER::SetSettings2(Settings)))
    MTTESTER::ClickStart(false);

  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);
}

void OnStart()
{
  string Settings[] = {"[Tester]\n" +
                       "Expert=Input_String_Example_Alternative.ex5\n" +
                       "Symbol=EURUSD\n" +
                       "Period=M1\n" +
                       "Optimization=2\n" +
                       "Model=4\n" +
                       "FromDate=2023.01.01\n" +
                       "ToDate=2024.01.01\n" +
                       "ForwardMode=0\n" +
                       "Deposit=1000000000\n" +
                       "Currency=USD\n" +
                       "ProfitInPips=1\n" +
                       "Leverage=100\n" +
                       "ExecutionMode=0\n" +
                       "OptimizationCriterion=6\n" +
                       "[TesterInputs]\n" +
                       "inAmount=1||1||1||10||N\n" +
                       "inCount=2||2||1||20||N\n" +
                       "inPeriod=3||3||1||30||N\n" +
                       "inKoef=4.56||4.56||0.456000||45.600000||N\n" +
                       "inLog=7.89||7.89||0.789000||78.900000||N\n" +
                       "inFlag=true||false||0||true||N"
                      };

  for (uint i = ArraySize(Settings); (bool)i--;)
    Run(Settings[i]);
}

Настройки Тестера сохраняются через CTRL+C/V. Вы можете сохранить их в отдельные файлы, а затем заполнить данными из них массив Settings[] в исходнике выше.

 

Is there any easy way to make the data into an array? I need to add 20 set files, each of 108 lines so 2160 lines to add " " + manually to make them an array? 

Loading set files personally would be my prefered option, "D:\MT5Tester2\MQL5\Profiles\Tester\MT5 v1.14 bat XU BB+ENV+RSI.set" etc etc  but I am a mere mortal and don't know how to code any of this stuff.  Your EA is very cool but crikey :D

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/ru/code/26132

#define _CS(A) ((!IsStopped()) && (A))
#define PAUSE 200

void Run( const string Settings )
{
  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);

  MTTESTER::CloseNotChart();
    
  if (_CS(MTTESTER::SetSettings2(Settings)))
    MTTESTER::ClickStart(false);

  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);
}

void OnStart()
{
  string Settings[] = {[Tester]
                        Expert=MT5 White Rabbit v1.14.ex5
                        Symbol=XAUUSD
                        Period=M5
                        Optimization=2
                        Model=4
                        FromDate=2023.02.01
                        ToDate=2024.10.01
                        ForwardMode=0
                        Deposit=20000
                        Currency=USD
                        ProfitInPips=0
                        Leverage=100
                        ExecutionMode=200
                        OptimizationCriterion=6
                        [TesterInputs]
                        OnTester=------------ On Tester ------------
                        MinTrades=60||120||1||1200||N
                        MaxEquityDrawdown=3.0||20.0||2.000000||200.000000||N
                        CustomMax=------------ Custom Max ------------
                        EA_Expires=2024.12.25
                        Enable_Buy=true||false||0||true||N
                        Enable_Sell=true||false||0||true||N
                        TRADE_TIMES=------------ TIME SETTINGS ------------
                        StartTime_1=1||1||3||10||N
                        Stop_Time_1=9||9||4||21||Y
                        Monday=true||false||0||true||N
                        Tuesday=true||false||0||true||N
                        Wednesday=true||false||0||true||N
                        Thursday=true||false||0||true||N
                        Friday=false||false||0||true||Y
                        Weekend=false||false||0||true||N

                        // next set
                        [Tester]
                        Expert=MT5 White Rabbit v1.14.ex5
                        Symbol=XAUUSD
                        Period=M5
                        Optimization=2
                        Model=4
                        FromDate=2023.02.01
                        ToDate=2024.10.01
                        ForwardMode=0
                        Deposit=20000
                        Currency=USD
                        ProfitInPips=0
                        Leverage=100
                        ExecutionMode=200
                        OptimizationCriterion=6
                        [TesterInputs]
                        OnTester=------------ On Tester ------------
                        MinTrades=60||120||1||1200||N
                        MaxEquityDrawdown=3||20.0||2.000000||200.000000||N
                        CustomMax=------------ Custom Max ------------
MultiTester
MultiTester
  • www.mql5.com
Множественные прогоны/оптимизации в Тестере.
Причина обращения: